module dados ! objetivo: ler e escrever os dados do programa, e gerar a malha use variaveis implicit none contains !------------------------------------------------------------------------------- subroutine le_dados dos = system('notepad Poisson_1Dp_3p1.in') ! lista dados open(in,file='Poisson_1Dp_3p1.in') read(in,*) caso read(in,*) fonte read(in,*) N read(in,*) ver_grafico read(in,*) ver_coeficientes read(in,*) ver_campo read(in,*) w read(in,*) titulo close(in) ! alocação de memória allocate ( T(0:N), T_exato(0:N) ) allocate ( x(0:N) ) allocate ( aw(0:N), ap(0:N), ae(0:N), bp(0:N) ) h = 1.0d0 / N x(0) = 0.0d0 do P = 1, N-1 x(P) = P * h end do x(N) = 1.0d0 end subroutine le_dados !------------------------------------------------------------------------------- subroutine escreve_dados k = len(trim(adjustl(titulo))) write(out,1) trim(adjustl(titulo)), caso, fonte, N, w, h 1 format(/, & 7x, 'título = ', a,//, & 1x, '*** DADOS ***', //, & 23x, 'caso = ', a50, //, & i8, 1x, '.................. = fonte',/, & i8, 1x, '.................. = número de elementos da malha (N)', /, & i8, 1x, '.................. = freqüência de impressão dos campos',/,& 1pe27.14, ' = comprimento de cada elemento da malha (h)') end subroutine escreve_dados !------------------------------------------------------------------------------- end module dados