Welcome to the forums. Please post in English or French.

You are not logged in.

#1 2020-04-26 09:16:29

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 3,638

numpy inside a FORMULE troubles

hello

its seems that using numpy inside a FORMULE called from CALC_CHAMP with CHAM_UTIL is impossible

the following sequence

import numpy as np

fsig = FORMULE(
	NOM_PARA=('SN','SMFY','SMFZ',),
	VALE="""np.sign(SN)*(abs(SN)+abs(SMFY)+abs(SMFZ))""",
);

stat=CALC_CHAMP(
	reuse =stat,RESULTAT=stat, 
	GROUP_MA=('pot','chexp',),
	CHAM_UTIL=_F(NOM_CHAM='SIPO_ELNO',FORMULE=(fsig,),NUME_CHAM_RESU=2,),
	INFO=2,
);

produces the following output

ERREUR LORS DE L'ÉVALUATION DE LA FORMULE 'fsig' :
>> name 'np' is not defined

  
   !------------------------------------------------------------------------------------!
   ! <A> <FONCT0_9>                                                                     !
   !                                                                                    !
   ! Erreur lors de l'interpolation de la fonction 'fsig'.                              !
   !                                                                                    !
   ! Erreur lors de l'évaluation de la formule.                                         !
   ! La remontée d'erreur suivante peut aider à comprendre où se situe l'erreur :       !
   ! Traceback (most recent call last):                                                 !
   !   File "/opt/aster142/14.2/lib64/aster/Build/B_ETAPE.py", line 565, in fiintf      !
   !     res = objet_sd(**dval)                                                         !
   !   File "/opt/aster142/14.2/lib64/aster/Noyau/N_FONCTION.py", line 84, in __call__  !
   !     res = eval(self.code, self._initial_context, context)                          !
   !   File "np.sign(SN)*(abs(SN)+abs(SMFY)+abs(SMFZ))", line 1, in <module>            !
   ! NameError: name 'np' is not defined                                                !
   !                                                                                    !
   ! Conseils :                                                                         !
   !   Si le problème reporté ci-dessus ressemble à 'NameError: 'XXX'...',              !
   !   vérifiez que le paramètre 'XXX' fait bien partie des paramètres de définition de !
   !   la formule (mot clé FORMULE / NOM_PARA).                                         !
   !                                                                                    !
   !                                                                                    !
   ! Ceci est une alarme. Si vous ne comprenez pas le sens de cette                     !
   ! alarme, vous pouvez obtenir des résultats inattendus !                             !
   !------------------------------------------------------------------------------------!

my remarks
numpy is correctly imported and the use of np.sign in a FORMULE outside a CALC_CHAM with CHAM_UTIL does not raise any error

its seems that using numpy inside a FORMULE called from CALC_CHAM with CHAM_UTIL is impossible

it should not be!!

is there any work around?

please do not tell me that sign(SN)=SN/abs(SN) without numpy, i know it!!

jean pierre aubry


consider reading my book
freely available here https://framabook.org/beginning-with-code_aster/

Offline

#2 2020-04-26 17:29:05

konyaro
Member
From: Genève
Registered: 2016-04-02
Posts: 255

Re: numpy inside a FORMULE troubles

Hello Jean-Pierre,
have a look at https://code-aster.org/forum2/viewtopic … 635#p60635, it may help you.

Konyaro


失敗は成功のもと (L'échec est la base de la réussite)

Offline