Erreur d'exécution sous fortran

Fermé
hamilara7 Messages postés 3 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 15 février 2009 - 15 févr. 2009 à 17:51
 rihab1509 - 22 févr. 2009 à 13:58
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 18589 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 21 mars 2023 5 584
15 févr. 2009 à 17:53
division par 0 ?
0
hamilara7 Messages postés 3 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 15 février 2009
15 févr. 2009 à 17:56
nn je fais pas une division par 0.
j'utlise une expression avec un exponentiel ( entre autres)
0
dubcek Messages postés 18589 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 21 mars 2023 5 584
15 févr. 2009 à 19:11
résultat trop grand, montre le code
0
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 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 130
16 févr. 2009 à 00:13
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
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