Programme des equation couplés en fortran

Résolu/Fermé
hassan_91 Messages postés 2 Date d'inscription mardi 10 juin 2014 Statut Membre Dernière intervention 10 juin 2014 - 10 juin 2014 à 20:20
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 - 11 juin 2014 à 05:17
j'ai rédigé un programme des équation couplés: - de chaleur et d'humidité
"equation de PHILIP '1957' "
avec language fortran 77, j'ai rencontré des erreurs au niveau du programme.voilà le programme.je cherche a executer ce programme


C*********************************************
C PROGRAMME DES EQUATION COUPLES:
C - DE TRANSFERT DE CHALEUR ET
C - D'HUMIDITE
C
C*********************************************
INTEGER Imax,j,i,k,I,m,n,nn,Iz
PARAMETER (Imax=1000)
REAL hum(Imax),xhum(Imax),xt(Imax),t(Imax),d(Imax),xk(Imax),
1 dn,ks,hums,psis,Zmax,beta,dt,tmp,t1,tx,tt,xn,dn1,dn2,dn3,
1 b,b2,b3,dz,xd(Imax),xxk(Imax),z(Imax),y(Imax),
1 tz(Imax),tz1(Imax),tzx,tzy,tz11,alf,bit,gam
READ(*,*)N,dt
OPEN(unit=30,file='hassan.f')
d(j)=dn*(pp**b2)
xk(j)=xkn*(PP**b23)
10 CONTINUE
y(1)=0
DO 15 i=2,NNN
IF(i.LE.9)THEN
dz=dz+0.5
x=x+dz
y(i)=x
ELSE IF(i.LE.15)THEN
dz=dz+1
x=x+dz
y(i)=x
ELSE IF(i.LE.18)THEN
dz=dz+2
x=x+dz
y(i)=x
ELSE
dz=dz+9
x=x+dz
y(i)=x
ENDIF
15 CONTINUE
DO 16 j=1,NNN
hum(j)=PP
WRITE(10,105)y(j),hum(j)
105 FORMAT('z=',f12.6,4x,'humidit=',f12.8)
t(j)=276
WRITE(20,205)y(j),t(j)
205 FORMAT('z=',f12.6,4x,'temperature=',f12.8)
16 CONTINUE
M=86400/dt
NN=N-1
DO 80 k=0,M
tmp=k*dt
DO 30 i=2,NNN
tzx=dt/((y(i+1)-y(i))*(y(i)+y(i-1)))
tzy=dt/((y(i)-y(i-1))*(y(i)+y(i-1)))
tz11=dt/(y(i+1)-y(i-1))
dn1=(d(i+1)+d(i))*tzx
dn2=1-tzx*(d(i+1)+d(i))-tzy*(d(i)+d(i-1))
dn3=tzy*(d(i)+d(i-1))
xk1=xk(i+1)-xk(i-1)
alf=2*dt*beta/((y(i+1)-y(i))*(y(i)+y(i-1)))
1 bit=1-2*dt*beta*(1/((y(i+1)-y(i))*(y(i)+y(i-1)))-1/((y(i)-y(i-1))*(y(i)+y(i-1))))
gam=2*dt*beta/((y(i)-y(i-1)))*(y(i)+y(i-1))))
xn=dn1*hum(i+1)+dn2*hum(i)+dn3*hum(i-1)-xk1*tz11
xhum(i)=xn
xd(i)=dn*((xhum(i))**b2)
xxk(i)=xkn*((xhum(i)**b23)
tt=alf*t(i+1)+gam*t(i-1)+bit*t(i)
xt(i)=tt
IF(i.EQ.NNN)THEN
xt(i)=xt(N)
xhum(i)=xhum(N)
xd(i)=xd(N)
xxk(i)=xxk(N)
ELSE
ENDIF
30 CONTINUE
IF(tmp.LE.18000)THEN
xt(1)=-17.22E-05*tmp+281.1
xhum(1)=7.03E-07*tmp+0.084
ELSE IF(tmp.LE.68400)THEN
tx=12.7E-06*3.14*(tmp-7455.74)
xt(1)=30*((sin(tx))**2)+273
ELSE
xt(1)=-38.333E-05*tmp+314.22
xhum(1)=-0.04+1.665E-11*(tmp**2)
ENDIF
IF(tmp.LE.43200)THEN
xhum(1)=0.139-5.84E-11*(tmp**2)
ENDIF
IF(tmp.LE.64800)THEN
xhum(1)=0.03
ELSE
ENDIF
DO 35 i=1,NNN
t(i)=xt(i)
hum(i)=xhum(i)
d(i)=xd(i)
xk(i)=xxk(i)
35 CONTINUE
MN=14400/dt
DO 50 j=0,M,MN
IF(j.EQ.k)THEN
t1=tmp/3600
WRITE(10,60)'teneur en eau dans le sol... t=',t1
60 FORMAT(A34,f12.4,//)
WRITE(20,64)'temperature du sol... t=',t1
64 FORMAT(A28,f12.4,//)
DO 40 i=1,NNN
WRITE(10,150)y(i),hum(i)
150 FORMAT('hum(',f12.8,')=',f12.8,//)
WRITE(20,200)y(i),t(i)
200 FORMAT('t('f12.8,')=',f12.8,//)
40 CONTINUE
ENDIF
50 CONTINUE
80 CONTINUE
END

2 réponses

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
10 juin 2014 à 22:44
Bonjour,

et ton problème c'est le correcteur orthographique de word ?
eric
1
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
11 juin 2014 à 05:17
Attention à ne pas poser des questions en double, surtout aussi longues et compliquées !
0