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

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,