Anomalie #158
Fonctions_nD avec variable global de type integrale_sur_volume_
Description
Bonjour Gérard,
Je m'arrache les cheveux avec les fonctions nD qui ont un comportement complètement étrange. Vois
Je définis une fonction nD
inv_p0_air FONCTION_EXPRESSION_LITTERALE_nD
deb_list_var X1 X2 X3 N_surf_1 N_surf_2 N_surf_3 fin_list_var_
fct= 1.2089e-5/5000 * exp(-1.2089e-5*9.8*X3) * (-X1*N_surf_1-X2*N_surf_2-X3*N_surf_3)/3 * 72
fin_parametres_fonction_expression_litterale_
dont je calcul l'intégrale sur le volume
integrale_sur_volume
nom_mail= ballon E_2D une_fonction_nD_ inv_p0_air_
J'ai une 2e fonction nD qui prend comme argument la valeur de l'intégrale
f_pression FONCTION_EXPRESSION_LITTERALE_nD
un_argument= int_vol_ballon_E_2D_fct_nD_inv_p0_he
fct= 1/int_vol_ballon_E_2D_fct_nD_inv_p0_he
fin_parametres_fonction_expression_litterale
Tout est OK.
Si je rajoute dans ma 2e fonction nD l'argument temps_courant la même fonction nD renvoie d'autres valeurs incompréhensibles.
f_pression FONCTION_EXPRESSION_LITTERALE_nD
un_argument= temps_courant
un_argument= int_vol_ballon_E_2D_fct_nD_inv_p0_he
fct= 1/int_vol_ballon_E_2D_fct_nD_inv_p0_he
fin_parametres_fonction_expression_litterale
On a tous les 2 les mains dans le cambouis, mais pas au même niveau. Dur dur !
Fichiers
Mis à jour par Gérard Rio il y a presque 7 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
Oui, le fait d'introduire une variable globale déjà existante (comme le temps) de manière concomitante avec une variable globale en devenir (la valeur d'une intégrale n'est pas une variable globale au moment de la lecture, mais le devient au moment de l'exécution) produisait une erreur. Celle-ci provenait du fait que l'agencement des variables change en fonction de leur statut (locale, globale...).
Le code a été mis à jour pour prendre en compte ce changement possible.
On retrouve maintenant les mêmes résultats sur le test cité, avec ou sans l'introduction d'une nouvelle variable globale.
Sera opérationnel pour les versions > 6.820