Projet

Général

Profil

Anomalie #158

Fonctions_nD avec variable global de type integrale_sur_volume_

Ajouté par Frank Petitjean il y a presque 7 ans. Mis à jour il y a presque 7 ans.

Statut:
Résolu
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
08/01/2018
Echéance:
% réalisé:

100%

Temps estimé:
Temps passé:

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

maillage.her (5,87 ko) maillage.her Frank Petitjean, 08/01/2018 09:26
modele.CVisu (14,5 ko) modele.CVisu Frank Petitjean, 08/01/2018 09:26
modele.info (6,68 ko) modele.info Frank Petitjean, 08/01/2018 09:26
#1

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

Formats disponibles : Atom PDF

Redmine Appliance - Powered by TurnKey Linux