13. Calcul d’un champ utilisateur#
Le mot-clé facteur CHAM_UTIL permet de calculer des champs quelconques, dits «utilisateur» en raison du nom qui leur sera affecté dans le concept résultat.
Il peut y avoir plusieurs occurrences de CHAM_UTIL afin d’enchaîner le calcul de plusieurs champs.
Le traitement étant effectué à la fin de la commande CALC_CHAMP, les champs calculés par les mots-clés précédents (CONTRAINTE, DEFORMATION…) sont disponibles ici.
Soit on demande le calcul d’un critère prédéfini, soit on applique une ou plusieurs formules pour calculer un autre champ.
13.1. Opérande NOM_CHAM#
Il s’agit du champ à partir duquel on fait les calculs. Le champ produit aura le même type: ELGA, ELNO ou NOEU.
13.2. Opérande CRITERE#
Demande le calcul d’un critère prédéfini. Les critères sont (le paragraphe 2.6.5 fournit les expressions de chaque critère):
VMIS (pour les champs de contraintes),
INVA_2 (pour les champs de déformations),
TRACE (pour les champs de contraintes ou de déformations).
Chacun de ces critères produit une composante (nommée X1).
Un des intérêts est de pouvoir calculer INVA_2 de n’importe quel champ de déformations.
13.3. Opérande FORMULE#
Ceci permet de calculer n’importe quelle expression fonction des composantes du champ fourni pour NOM_CHAM.
Le champ produit contiendra autant de composantes que de formules fournies: à la première formule correspondra la composante X1, à la deuxième X2, etc. Jusqu’à 30 composantes peuvent être ainsi créées.
Le champ en sortie est systématiquement prolongé à zéro sur les autres composantes et là où le champ en entrée n’est pas défini.
Des exemples de formules permettant de retrouver les critères VMIS et INVA_2 peuvent être trouvés dans la deuxième partie du test sslv104a.
13.4. Opérande NORME#
Demande le calcul d’une norme prédéfinie. Les normes sont :
L2:norme \({L}_{2}\) d’un tenseur
FROBENIUS: norme de Frobenius d’un tenseur
La norme calculée est une quantité intégrée (au sens faible) sur un élément \({\Omega}_{e}\) . Pour un tenseur \(A\) , la norme \({L}_{2}\) vaut:
La norme de Frobenius sur les composantes \({A}_{ij}\) d’un tenseur \(A\) :
Chacune de ces normes produit une composante (nommée X1) sur un élément. Il s’agit donc d’un champ ELEM. Il est à noter que la différence entre les deux normes vient des termes croisées (hors diagonale).
13.5. Opérande NUME_CHAM_RESU#
Le champ produit doit être rangé, de manière unique, dans le concept résultat. Les champs «utilisateur» sont donc numérotés en utilisant NUME_CHAM_RESU et le type du champ.
Le nom du champ sera donc du type UT01_ELGA, UT22_NOEU, etc.
13.6. Exemple de calcul d’un champ utilisateur#
Produit le champ UT02_ELGA à deux composantes. X1 est la trace de SIGM_ELGA (comparable à la composante TRSIG de SIEQ_ELGA) et X2 est la contrainte équivalente de Von Mises (composante VMIS de SIEQ_ELGA).
fTrace = FORMULE(NOM_PARA=("SIXX", "SIYY", "SIZZ"), VALE="""SIXX+SIYY+SIZZ""")
fVonMis = FORMULE(
NOM_PARA=("SIXX", "SIYY", "SIZZ", "SIXY", "SIXZ", "SIYZ"),
VALE="""sqrt(3./2. * (SIXX**2 + SIYY**2 + SIZZ**2
+ 2*SIXY**2 + 2*SIXZ**2 + 2*SIYZ**2 )
- 1./2. * fTrace(SIXX, SIYY, SIZZ)**2)""",
)
RES = CALC_CHAMP(
reuse=RES,
RESULTAT=RES,
CHAM_UTIL=_F(NOM_CHAM="SIGM_ELGA", FORMULE=(fTrace, fVonMis), NUME_CHAM_RESU=2),
)