Research Article
Efficient Alternative for Construction of the Linear System Stemming from Numerical Solution of Heat Transfer Problems via FEM
Code 2
Gauss-Seidel method used for calculating the global linear system.
! GAUSS SEIDEL METHOD | T = 1.d0; Ti = T; rAux = 0.d0; Emax = 0.0000000001d0 !T: Temperature; Ti: initial shot | do i = 1, 200000 | ii = 1; rAuxE = 0.d0 | do j = 1,nnost | soma = 0.d0 | do jj = ii,k | if(Mirow(jj).eq.j.and.Mjcol(jj).eq.j) then | rAux = GG(jj) | end if | if(Mirow(jj).eq.j) then | if(Mjcol(jj).eq.j) then | continue | else | soma = soma + GG(jj)T(Mjcol(jj)) | end if | else | ii = jj | go to (2) | end if | end do | (2) T(j) = (1.d0/rAux)(FG(j) - soma) | end do | do j = 1,nnost | Erro = dabs(Ti(j) - T(j)) | if(Erro>rAuxE) then | rAuxE = Erro | end if | end do | if(rAuxE>Emax) then !Emax: stop criterion | Ti = T | else | go to (1) | end if | end do | (1) continue |
|