!module erros

use msflib
use msfwin

use Variaveis
use Entradas
use Coef
!use Resultados
use Processamento
!use Transfere
!use Solvers

contains

!implicit none


!integer                             :: i,j,np,Nxy   ! nó
!real*8                              :: R            ! resíduo do sistema de equações
!integer,intent(in)                  :: Nx,Ny        ! número de nós nas direções x e y
!real*8,intent(in),dimension(Nxy)    :: AS,AW,AP     ! coeficientes 
!real*8,intent(in),dimension(Nxy)    :: AE,AN,BP     ! coeficientes
!real*8,intent(in),dimension(Nxy)    :: TNum         ! incógnita
!real*8,intent(out)                  :: norma

!Calculo da média da variável do campo de Temperaturas
!Calculo da norma l1 media

subroutine item1
	
!Parte 1 do teste de coerência
	
norma=0.0d0
	
	do i=1,Nx
	
		do j=1,Ny

			np = (j-1)*Nx + i
			norma=TNum(np)+norma

		end do
				
	end do

norma=norma/Nxy

end subroutine item1

!***************************************************************

subroutine item2

! Parte 2 do teste de coerência

! Norma l1 média sobre o erro de iteração

! Apenas lê a solução convergida

	open(1,file="exata.txt")

		do i=1,Nx
			
				do j=1,Ny

					np = (j-1)*Nx + i

					read(1,*) T_inf(np)

				end do
						
		end do

	close(1)


	! Calculo da norma l1 media sobre o erro de iteração

	norma=0.0d0
	
	do i=1,Nx
	
		do j=1,Ny

			np = (j-1)*Nx + i
			norma=dabs(T_inf(np)-T(np))+norma

		end do
				
	end do

norma=norma/Nxy

!media_it(it)=media2


end subroutine item2

!*********************************************************

subroutine solconvergida

! Guarda a última solução após a convergência

	open(1,file="exata.txt")

		do i=1,Nx
			
				do j=1,Ny

					np = (j-1)*Nx + i
					T_inf(np)=T(np)

					write(1,*)T_inf(np)

				end do
						
		end do

	close(1)


end subroutine solconvergida





!end module erros