[Fortran] Come scrivere i risultati del programma
ciao a tutti, sono ai primi passi con fortran, quindi vi prego di essere molto semplici... ho questo programmino che dovrebbe risolvere l'equazione della diffusione in un fluido:
perché non funziona? quando lo faccio partire e gli do i dati, non mi pare che crashi, semplicemente mi dice "press eny key to continue" e poi si chiude
program diff
implicit real (A-H,O-Z)
dimension c(200,200), T(200), x(200)
write (*,*)'c0,D,x1,x2,deltat,NX'
read (*,*) c0,D,x1,x2,deltat,NX !c0 = concentrazione iniziale, D = diffusività, x1,x2 = confini del problema, deltat = gli intervalli temporali a cui voglio avere i valori di concentrazione in uscita e NX è il numero di intervalli in cui divido il dominio.
deltax=(x2-x1)/NX
coeff=deltat*D/deltax**2
do i=1,NX+1
c(i,1)=0
end do
c(NX/2,1)=c0
do j = 1,100
T=deltat*j
do i=2,NX
c(i,j+1) = c(i,j) + coeff * (c(i-1,j) - 2*c(i,j) + c(i+1,j))
end do
c(1,j+1)=c(2,j+1)
c(NX+1,j+1)=c(NX,j+1)
end do
do j=1,100
write(12,*) T(j)
do i=1,NX+1
x(i) = x1
x(i) = x(i) + deltax
write(12,*)x(i),c(i,j)
end do
end do
end program
perché non funziona? quando lo faccio partire e gli do i dati, non mi pare che crashi, semplicemente mi dice "press eny key to continue" e poi si chiude