Erreur d'exécution sous fortran

hamilara7 Messages postés 4 Statut Membre -  
 rihab1509 -
Bonjour,
j'ai pb lors de l'exécution de mn programme!!
il m'affiche le message suivant: run-time error M6203: MATH
- exp: OVERFLOW error



s'il vous plait aideeeeeeez moiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii :(

3 réponses

dubcek Messages postés 19025 Date d'inscription   Statut Contributeur Dernière intervention   5 640
 
division par 0 ?
0
hamilara7 Messages postés 4 Statut Membre
 
nn je fais pas une division par 0.
j'utlise une expression avec un exponentiel ( entre autres)
0
dubcek Messages postés 19025 Date d'inscription   Statut Contributeur Dernière intervention   5 640
 
résultat trop grand, montre le code
0
rihab1509
 
ok, ceci est le programme!!



PROGRAM SIMULATION



INTEGER dc, da, PH2, PH2O, PO2, L



REAL J, T, OmegaH2O, J0a, J0c, DH2Oeff, DO2eff



REAL A1, A2, A3, A4, A5, A6, A7



REAL V




Parameter (R=8.3145,F=96485)




write (*,*) 'Donner T='

read (*,*) T

write (*,*) 'Donner dc='

read (*,*) dc

write (*,*) 'Donner da='

read (*,*) da

write (*,*) 'Donner L='

read (*,*) L

write (*,*) 'Donner PH2='

read (*,*) PH2

write (*,*) 'Donner PH2O='

read (*,*) PH2O

write (*,*) 'Donner PO2='

read (*,*) PO2



J0a=2.05E+09*exp(-14432.6/T)


J0c=13.44E+09*exp(-12027.18/T)


OmegaH2O=2.4606*T**(-0.15610)+99.6/T+0.19300/(exp(T)+1.00217)+
$ 1.03587/(exp(T)+1.007)


DH2Oeff=0.08889*1/(1455.9748*OmegaH2O*T**(-1.5)+
$ 646123.44*T**(-0.5))


DO2eff=0.000004613*T**(0.5)



A1=T*1.253-0.00024516

A2=R*T/2*F*log(PH2*PO2**(0.5)/PH2O)

A3=R*T/2*F*log((1+R*T*J*da/DO2eff*PO2*4*F)**(0.5))

A4=R*T/2*F*log((1+J*R*T*dc/2*F*DH2Oeff*PH2)/
$ (1-J*R*T*dc/2*F*DH2Oeff*PH2))

A5=R*T/F*log(J/2*J0c+((J/2*JOc)**2+1))

A6=R*T/F*log(J/2*J0a+((J/2*JOa)**2+1))

A7=0.0000299*L*exp(10300/T)




V=A1+A2+A3+A4+A5+A6+A7



write (*,*) 'V=' , V

write (*,*) 'A1=', A1

write (*,*) 'A2=', A2

write (*,*) 'A3=', A3

write (*,*) 'A4=', A4

write (*,*) 'A5=', A5

write (*,*) 'A6=', A6

write (*,*) 'A7=', A7
stop

END
0
cchristian Messages postés 928 Statut Membre 131
 
Bonsoir,

J'ai rappatrié morceau par morceau ton programme, en testant au fur et à mesure, je ne suis pas parvenu à reproduire l'erreur. Je pense qu'il s'agit d'une valeur particulière, entrée au clavier qui crée l'anomalie.
0
rihab1509
 
Bonjour,
Merci pour ta réponse c'est trés gentil!! je pense que ta pa trouver la meme erreur que moi parceque tu ne saisi pas les memes valeurs au clavier que moi!!
j'ai compri que Fortran ne peut pas donner comme résultat : 'l'infini'!! je ne sait pas qi j'ai raison ou pas?
parceque j'utilise une valeur de T=1273K

Merci
0