u4.81.04 Opérateur CALC_CHAMP#
Syntaxe#
Détail de la syntaxe
resultat = CALC_CHAMP(
◇ reuse = <objet de RESULTAT>,
◇ MODELE = modele,
◇ CHAM_MATER = cham_mater,
◇ CARA_ELEM = cara_elem,
◆ RESULTAT = resultat,
◇ / TOUT_ORDRE = "OUI" (ou non renseigné),
/ NUME_ORDRE = list[int],
/ INST = list[float],
/ FREQ = list[float],
/ NUME_MODE = list[int],
/ NOEUD_CMP = list[text],
/ LIST_INST = listr8,
/ LIST_FREQ = listr8,
/ LIST_ORDRE = listis,
/ NOM_CAS = text,
◇ CRITERE = / "ABSOLU",
/ "RELATIF" (par défaut),
# Si: (equal_to("CRITERE", 'RELATIF'))
◇ PRECISION = float (défaut: 1e-06),
# Si: (equal_to("CRITERE", 'ABSOLU'))
◆ PRECISION = float,
◇ / TOUT = "OUI" (ou non renseigné),
/ GROUP_MA = list[grma],
# Si: is_type("RESULTAT") in (evol_elas,mode_meca,mode_meca_c,comb_fourier,mult_elas,fourier_elas,mode_flamb)
| CONTRAINTE = / "EFGE_ELGA",
/ "EFGE_ELNO",
/ "EFGE_NOEU",
/ "EGRU_ELNO",
/ "SIEF_ELGA",
/ "SIEF_ELNO",
/ "SIEF_NOEU",
/ "SIGM_ELGA",
/ "SIGM_ELNO",
/ "SIGM_NOEU",
/ "SIMY_ELGA",
/ "SIPM_ELNO",
/ "SIPO_ELNO",
/ "SIPO_NOEU",
/ "SIRO_ELEM",
/ "STRX_ELGA",
| DEFORMATION = / "DEGE_ELGA",
/ "DEGE_ELNO",
/ "DEGE_NOEU",
/ "EPME_ELGA",
/ "EPME_ELNO",
/ "EPME_NOEU",
/ "EPSG_ELGA",
/ "EPSG_ELNO",
/ "EPSG_NOEU",
/ "EPSI_ELGA",
/ "EPSI_ELNO",
/ "EPSI_NOEU",
/ "EPSL_ELGA",
/ "EPSL_ELNO",
/ "EPSL_NOEU",
/ "EPVC_ELGA",
/ "EPVC_ELNO",
/ "EPVC_NOEU",
| ENERGIE = / "DISS_ELEM",
/ "DISS_ELGA",
/ "DISS_ELNO",
/ "DISS_NOEU",
/ "ECIN_ELEM",
/ "ENEL_ELEM",
/ "ENEL_ELGA",
/ "ENEL_ELNO",
/ "ENEL_NOEU",
/ "ENTR_ELEM",
/ "EPOT_ELEM",
/ "ETOT_ELEM",
/ "ETOT_ELGA",
/ "ETOT_ELNO",
/ "ETOT_NOEU",
| CRITERES = / "EPEQ_ELGA",
/ "EPEQ_ELNO",
/ "EPEQ_NOEU",
/ "EPGQ_ELGA",
/ "EPGQ_ELNO",
/ "EPGQ_NOEU",
/ "EPMQ_ELGA",
/ "EPMQ_ELNO",
/ "EPMQ_NOEU",
/ "SIEQ_ELGA",
/ "SIEQ_ELNO",
/ "SIEQ_NOEU",
| VARI_INTERNE = / "VARC_ELGA",
/ "VARC_ELNO",
/ "VARC_NOEU",
| PROPRIETES = / "MATE_ELEM",
/ "MATE_ELGA",
| FORCE = / "FORC_NODA",
/ "REAC_NODA",
◆ | CHAM_UTIL = _F(
◆ NOM_CHAM = text,
◆ / FORMULE = list[formule],
/ CRITERE = / "INVA_2",
/ "TRACE",
/ "VMIS",
/ NORME = / "FROBENIUS",
/ "L2",
◆ NUME_CHAM_RESU = int,
),
◇ EXCIT = _F(
◆ CHARGE = char_cine_meca / char_meca,
◇ / FONC_MULT = fonction / formule / nappe,
/ COEF_MULT = float,
◇ TYPE_CHARGE = "FIXE_CSTE",
),
# Si: is_type("RESULTAT") in (dyna_harmo,dyna_trans)
| CONTRAINTE = / "EFGE_ELGA",
/ "EFGE_ELNO",
/ "EFGE_NOEU",
/ "EGRU_ELNO",
/ "SIEF_ELGA",
/ "SIEF_ELNO",
/ "SIEF_NOEU",
/ "SIGM_ELGA",
/ "SIGM_ELNO",
/ "SIGM_NOEU",
/ "SIMY_ELGA",
/ "SIPM_ELNO",
/ "SIPO_ELNO",
/ "SIPO_NOEU",
/ "SIRO_ELEM",
/ "STRX_ELGA",
| DEFORMATION = / "DEGE_ELGA",
/ "DEGE_ELNO",
/ "DEGE_NOEU",
/ "EPME_ELGA",
/ "EPME_ELNO",
/ "EPME_NOEU",
/ "EPSG_ELGA",
/ "EPSG_ELNO",
/ "EPSG_NOEU",
/ "EPSI_ELGA",
/ "EPSI_ELNO",
/ "EPSI_NOEU",
/ "EPSL_ELGA",
/ "EPSL_ELNO",
/ "EPSL_NOEU",
/ "EPVC_ELGA",
/ "EPVC_ELNO",
/ "EPVC_NOEU",
| ENERGIE = / "DISS_ELEM",
/ "DISS_ELGA",
/ "DISS_ELNO",
/ "DISS_NOEU",
/ "ECIN_ELEM",
/ "ENEL_ELEM",
/ "ENEL_ELGA",
/ "ENEL_ELNO",
/ "ENEL_NOEU",
/ "ENTR_ELEM",
/ "EPOT_ELEM",
/ "ETOT_ELEM",
/ "ETOT_ELGA",
/ "ETOT_ELNO",
/ "ETOT_NOEU",
| CRITERES = / "EPEQ_ELGA",
/ "EPEQ_ELNO",
/ "EPEQ_NOEU",
/ "EPGQ_ELGA",
/ "EPGQ_ELNO",
/ "EPGQ_NOEU",
/ "EPMQ_ELGA",
/ "EPMQ_ELNO",
/ "EPMQ_NOEU",
/ "SIEQ_ELGA",
/ "SIEQ_ELNO",
/ "SIEQ_NOEU",
| VARI_INTERNE = / "VARC_ELGA",
/ "VARC_ELNO",
/ "VARC_NOEU",
| PROPRIETES = / "MATE_ELEM",
/ "MATE_ELGA",
| ACOUSTIQUE = / "INTE_ELNO",
/ "INTE_NOEU",
/ "PRAC_ELNO",
/ "PRAC_NOEU",
/ "PRME_ELNO",
| FORCE = / "FORC_NODA",
/ "REAC_NODA",
◆ | CHAM_UTIL = _F(
◆ NOM_CHAM = text,
◆ / FORMULE = list[formule],
/ CRITERE = / "INVA_2",
/ "TRACE",
/ "VMIS",
/ NORME = / "FROBENIUS",
/ "L2",
◆ NUME_CHAM_RESU = int,
),
◇ EXCIT = _F(
◆ CHARGE = char_cine_meca / char_meca,
◇ PHAS_DEG = float (défaut: 0.0),
◇ PUIS_PULS = int (défaut: 0),
◇ FONC_MULT_C = fonction_c / formule_c,
◇ COEF_MULT_C = complex,
◇ / FONC_MULT = fonction / formule / nappe,
/ COEF_MULT = float,
◇ TYPE_CHARGE = "FIXE_CSTE",
),
# Si: is_type("RESULTAT") in (evol_noli,)
| SOUS_POINT = / "DEPL_ELGA",
/ "TEMP_ELGA",
| CONTRAINTE = / "EFGE_ELGA",
/ "EFGE_ELNO",
/ "EFGE_NOEU",
/ "EGRU_ELNO",
/ "SIEF_ELNO",
/ "SIEF_NOEU",
/ "SIGM_ELGA",
/ "SIGM_ELNO",
/ "SIGM_NOEU",
/ "SIMY_ELGA",
/ "SIPM_ELNO",
/ "SIPO_ELNO",
/ "SIPO_NOEU",
/ "SIRO_ELEM",
| DEFORMATION = / "DEGE_ELGA",
/ "DEGE_ELNO",
/ "DEGE_NOEU",
/ "EPFD_ELGA",
/ "EPFD_ELNO",
/ "EPFD_NOEU",
/ "EPFP_ELGA",
/ "EPFP_ELNO",
/ "EPFP_NOEU",
/ "EPME_ELGA",
/ "EPME_ELNO",
/ "EPME_NOEU",
/ "EPMG_ELGA",
/ "EPMG_ELNO",
/ "EPMG_NOEU",
/ "EPSG_ELGA",
/ "EPSG_ELNO",
/ "EPSG_NOEU",
/ "EPSI_ELGA",
/ "EPSI_ELNO",
/ "EPSI_NOEU",
/ "EPSL_ELGA",
/ "EPSL_ELNO",
/ "EPSL_NOEU",
/ "EPSP_ELGA",
/ "EPSP_ELNO",
/ "EPSP_NOEU",
/ "EPVC_ELGA",
/ "EPVC_ELNO",
/ "EPVC_NOEU",
| ENERGIE = / "DISS_ELEM",
/ "DISS_ELGA",
/ "DISS_ELNO",
/ "DISS_NOEU",
/ "ENEL_ELEM",
/ "ENEL_ELGA",
/ "ENEL_ELNO",
/ "ENEL_NOEU",
/ "ENTR_ELEM",
/ "ETOT_ELEM",
/ "ETOT_ELGA",
/ "ETOT_ELNO",
/ "ETOT_NOEU",
| CRITERES = / "DERA_ELGA",
/ "DERA_ELNO",
/ "DERA_NOEU",
/ "ENDO_ELGA",
/ "ENDO_ELNO",
/ "ENDO_NOEU",
/ "EPEQ_ELGA",
/ "EPEQ_ELNO",
/ "EPEQ_NOEU",
/ "EPGQ_ELGA",
/ "EPGQ_ELNO",
/ "EPGQ_NOEU",
/ "EPMQ_ELGA",
/ "EPMQ_ELNO",
/ "EPMQ_NOEU",
/ "INDL_ELGA",
/ "PDIL_ELGA",
/ "SIEQ_ELGA",
/ "SIEQ_ELNO",
/ "SIEQ_NOEU",
| VARI_INTERNE = / "VARC_ELGA",
/ "VARC_ELNO",
/ "VARC_NOEU",
/ "VARI_ELNO",
/ "VARI_NOEU",
| PROPRIETES = / "MATE_ELEM",
/ "MATE_ELGA",
| HYDRAULIQUE = "FLHN_ELGA" (ou non renseigné),
| FORCE = / "FORC_NODA",
/ "REAC_NODA",
◆ | CHAM_UTIL = _F(
◆ NOM_CHAM = text,
◆ / FORMULE = list[formule],
/ CRITERE = / "INVA_2",
/ "TRACE",
/ "VMIS",
/ NORME = / "FROBENIUS",
/ "L2",
◆ NUME_CHAM_RESU = int,
),
◇ EXCIT = _F(
◆ CHARGE = char_cine_meca / char_meca,
◇ / FONC_MULT = fonction / formule / nappe,
/ COEF_MULT = float,
◇ TYPE_CHARGE = / "DIDI",
/ "FIXE_CSTE" (par défaut),
/ "FIXE_PILO",
/ "SUIV",
),
# Si: is_type("RESULTAT") in (evol_ther,fourier_ther,)
| THERMIQUE = / "ETHE_ELEM",
/ "FLUX_ELGA",
/ "FLUX_ELNO",
/ "FLUX_NOEU",
/ "GRAT_ELGA",
/ "GRAT_ELNO",
/ "GRAT_NOEU",
/ "HHO_TEMP",
/ "HYDR_ELGA",
/ "HYDR_ELNO",
/ "HYDR_NOEU",
/ "SOUR_ELGA",
/ "TEMP_ELGA",
◆ | CHAM_UTIL = _F(
◆ NOM_CHAM = text,
◆ / FORMULE = list[formule],
/ CRITERE = / "INVA_2",
/ "TRACE",
/ "VMIS",
/ NORME = / "FROBENIUS",
/ "L2",
◆ NUME_CHAM_RESU = int,
),
◇ EXCIT = _F(
◆ CHARGE = char_cine_ther / char_ther,
◇ / FONC_MULT = fonction / formule / nappe,
/ COEF_MULT = float,
◇ TYPE_CHARGE = "FIXE_CSTE",
),
# Si: is_type("RESULTAT") in (evol_sech,)
| SECHAGE = / "DIFF_ELGA",
/ "DIFF_ELNO",
/ "DIFF_NOEU",
/ "FLUX_ELGA",
/ "FLUX_ELNO",
/ "FLUX_NOEU",
/ "GRAT_ELGA",
/ "GRAT_ELNO",
/ "GRAT_NOEU",
/ "HYGR_ELGA",
/ "HYGR_ELNO",
/ "HYGR_NOEU",
◆ | CHAM_UTIL = _F(
◆ NOM_CHAM = text,
◆ / FORMULE = list[formule],
/ CRITERE = / "INVA_2",
/ "TRACE",
/ "VMIS",
/ NORME = / "FROBENIUS",
/ "L2",
◆ NUME_CHAM_RESU = int,
),
◇ EXCIT = _F(
◆ CHARGE = char_cine_ther / char_ther,
◇ / FONC_MULT = fonction / formule / nappe,
/ COEF_MULT = float,
◇ TYPE_CHARGE = "FIXE_CSTE",
),
# Si: is_type("RESULTAT") in (acou_harmo,mode_acou,tran_gene,harm_gene)
| ACOUSTIQUE = / "INTE_ELNO",
/ "INTE_NOEU",
/ "PRAC_ELNO",
/ "PRAC_NOEU",
/ "PRME_ELNO",
◆ | CHAM_UTIL = _F(
◆ NOM_CHAM = text,
◆ / FORMULE = list[formule],
/ CRITERE = / "INVA_2",
/ "TRACE",
/ "VMIS",
/ NORME = / "FROBENIUS",
/ "L2",
◆ NUME_CHAM_RESU = int,
),
◇ EXCIT = _F(
◆ CHARGE = char_cine_meca / char_meca,
◇ PHAS_DEG = float (défaut: 0.0),
◇ PUIS_PULS = int (défaut: 0),
◇ FONC_MULT_C = fonction_c / formule_c,
◇ COEF_MULT_C = complex,
◇ / FONC_MULT = fonction / formule / nappe,
/ COEF_MULT = float,
◇ TYPE_CHARGE = "FIXE_CSTE",
),
◇ INFO = / 1 (par défaut),
/ 2,
/ 3,
◇ PARALLELISME_TEMPS = / "NON" (par défaut),
/ "OUI",
◇ TITRE = text,
)
◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles
Opérandes RESULTAT/MODELE/CHAM_MATER/CARA_ELEM/EXCIT#
Opérandes RESULTAT#
♦ RESULTAT= resu
Nom de la structure de données résultat à enrichir. Cet argument peut être le même que celui utilisé pour le concept enrichi par l’opérateur, ou un nom différent, ce qui créera une nouvelle structure de données résultat.
- Remarques
Dans la majorité des situations, la structure de données resucontient toutes les informations nécessaires au calcul des options: le modèle, le champ de matériau, les caractéristiques élémentaires, les chargements. Les mots-clés MODELE, CHAM_MATER, CARA_ELEM et EXCIT sont donc inutiles;
Une exception notable concerne toutefois les structures de données dynamiques issues de DYNA_VIBRA pour lesquelles l’utilisateur doit assurer lui-même la cohérence des mots-clés entre l’opérateur de calcul et CALC_CHAMP.Une alarme l’en avertit.
Opérandes MODELE / CHAM_MATER / CARA_ELEM.#
◊ MODELE= mo
Nom du modèle sur lequel sont calculés les efforts, les contraintes, les déformations, etc.
Il est optionnel car il peut être extrait du résultat.
◊ CHAM_MATER= chmater
Champ de matériau associé au modèle mo. Ce mot-clé est optionnel et ne doit être fourni que dans des cas exceptionnels (modification volontaire du matériau par exemple).
◊ CARA_ELEM= carac
Caractéristiques élémentaires associées au modèle mo s’il contient des éléments de structure ou si les éléments iso-paramétriques sont affectés par un repère local d’anisotropie.
Ce mot-clé est optionnel car il peut être extrait du résultat.
Mot clé EXCIT#
Ce mot clé facteur (optionnel) permet de spécifier les chargements thermiques ou mécaniques à utiliser pour le calcul des options, en lieu et place de ceux qui ont servi dans le calcul de la structure de données spécifiée sous le mot clé RESULTAT.
La définition de ce mot-clé est identique à celle des commandes qui ont construit la structure de données resu: voir les commandes MECA_STATIQUE [U4.51.01], STAT_NON_LINE [U4.51.03], DYNA_VIBRA [U4.53.03].
Sélection des mailles concernées par le calcul#
Les mots clés TOUT et GROUP_MA permettent à l’utilisateur de choisir les mailles sur lesquelles il souhaite faire ses calculs élémentaires de post-traitement.
/ TOUT = 'OUI'
Toutes les mailles (porteuses d’éléments finis) seront traitées. C’est la valeur par défaut.
/ GROUP_MA = l_grma
Seules les mailles incluses dans l_grma seront traitées.
Sélection des numéros d’ordre#
L’emploi des mots-clés TOUT_ORDRE, NUM_ORDRE, INST,FREQ est décrit dans le document [U4.71.00].
Dans le cas où il y a beaucoup de numéros d’ordre, il peut être plus performant (en mémoire notamment) d’appeler la commande plusieurs fois sur des sous-listes des numéros d’ordre.
Localisation des champs#
Dans la suite du document on ne précisera pas explicitement la localisation des champs. En effet, la localisation est donnée dans le nom du champ (et donc de l’option):
Champ par élément: x_ELEM
Champ aux points de Gauss par élément: x_ELGA
Champ aux nœuds par élément: x_ELNO
Champ aux nœuds: x_NOEU
Les champs sont, pour la plupart, calculés nativement aux points de Gauss ( x_ELGA).
Les champs aux nœuds par élément ( x_ELNO) sont obtenus par extrapolation à partir du champ aux points de Gauss (méthode détaillée dans [R3.06.03]).
Les champs aux nœuds ( x_NOEU) sont obtenus à partir des champs aux nœuds par élément en faisant une moyenne arithmétique simple (non pondérée par la taille des mailles) des valeurs rencontrées sur les éléments en un nœud donné.
- Remarque 1
Pour le calcul des équivalents, les champs aux nœuds par élément ( x_ELNO) ne sont pas obtenus par extrapolation à partir du champ aux points de Gauss. L’extrapolation est faite sur le champ de contraintes ou de déformation puis on calcule le champ d’équivalent.
- Remarque 2
Les moyennes aux nœuds de champs calculés dans des repères locaux ne sont licites que si les angles entre ces repères sont faibles. Dans le cas contraire, elles n’ont pas de sens.
- Remarque 3
Quand le mot-clé GROUP_MA est renseigné pour le calcul d’une option x_NOEU, la moyenne arithmétique est faite sur les mailles sélectionnées. Ainsi ce résultat est différent de celui obtenu en faisant un calcul global puis restreint aux seules mailles sélectionnées.
Exemple: On considère une structure dont la contrainte de cisaillement \({\sigma}_{xy}\) vaut:
Dans le calcul global, \({\sigma}_{xy}\) est nulle sur \(\mathit{M1}\cap \mathit{M2}\) comme moyenne de deux valeurs opposées. Ces valeurs sont loin d’être nulles, comme le montre le calcul sur \(\mathit{M1}\) seul. Les valeurs sur la frontière du domaine demandé sont donc à interpréter avec précaution.
Pour les éléments de structures qui possèdent des sous-points (plaques, coques, poutres multi-fibres, tuyaux), les champs de type x_ELGA et x_ELNO sont calculés sur tous les sous-points. Pour obtenir un champ sur un seul sous-point (une couche et un niveau par exemple), il faut faire une extraction via l’opérateur POST_CHAMP (options EXTR_COQUE, EXTR_PMF et EXTR_TUYAU). D’ailleurs cette opération intermédiaire est indispensable pour calculer un champ de type x_NOEU pour ces éléments de structure: les champs de type x_NOEU n’ont en effet jamais de sous-point.
Enfin les options de calcul d’énergie ne produisent jamais de champs à sous-point. En effet pour les éléments de structure, le champ est intégré dans l’épaisseur (intégration faite sur les sous-points).
Dépendance des champs#
Le calcul d’un champ peut nécessiter le calcul préalable d’un ou plusieurs autres champs. Ainsi par exemple pour calculer un champ x_NOEU il est nécessaire de disposer du même champ par élément aux nœuds x_ELNO et aux points de Gauss x_ELGA.
Cette dépendance est résolue par l’opérateur CALC_CHAMP qui réalise automatiquement le calcul des champs intermédiaires. Il n’est donc pas nécessaire pour l’utilisateur de connaître l’arbre de dépendance des options.
Seuls les champs explicitement demandés par l’utilisateur sont sauvegardés dans la structure de données résultat.
Opérandes pour les options mécaniques#
Options de calcul des contraintes (Opérande CONTRAINTE)#
Les composantes des champs de contraintes et efforts généralisés sont détaillées dans le document [U2.01.05].
| 'EFGE_ELGA'
| 'EFGE_ELNO'
| 'EFGE_NOEU'
Calcul des efforts généralisés (éléments de structure).
Il s’agit soit d’une extraction des efforts contenus dans le champ SIEF_ELGA/STRX_ELGA (cas des éléments de poutres/tuyaux ou des discrets), soit d’un calcul par intégration des contraintes (cas des éléments de poutres multi-fibres ou de plaques et coques).
- Remarque 1
Le champ EFGE_ELNO n’est pas toujours une extrapolation du champ EFGE_ELGA ; notamment pour un calcul linéaire où ce champ est calculé directement à partir du déplacement. C’est pourquoi certaines composantes ne sont pas calculées (mises à zéro) en non-linéaire.
- Remarque 2
Pour les plaques excentrées, les efforts sont calculés dans le «plan» du maillage. Si on souhaite ces efforts dans le «plan» moyen de la plaque, il faut utiliser la commande POST_CHAMP / COQUE_EXCENT.
| 'SIEF_ELGA'
| 'SIEF_ELNO'
| 'SIEF_NOEU'
Calcul de l’état de contrainte (contraintes ou efforts généralisés selon la modélisation) à partir des déplacements (élasticité linéaire), voir [U2.01.05].
Pour les formulations incompressibles (INCO_UP, INCO_UPO et INCO_UPG), ce tenseur contient en plus des composantes SIXX, SIYY, SIZZ, SIXY, SIYZ et SIXZ en 3D, la composante SIP qui est la pression hydrostatique. Cette composante est calculée à partir de la trace des contraintes (partie de la loi de comportement) et des inconnues PRES et GONF (pour INCO_UPG) du champ des inconnues nodales. Les composantes SIXX, SIYY et SIZZ sont alors les contributions purement déviatoriques du tenseur des contraintes
- Remarque
Le champ “SIEF_ELGA” est calculé nativement par les opérateurs de résolution non-linéaires. Il est toujours présent dans une structure de données résultat de type evol_noli.
| 'SIGM_ELGA'
| 'SIGM_ELNO'
| 'SIGM_NOEU'
Calcul de l’état de contrainte.
Il s’agit en réalité d’une extraction des contraintes contenues dans le champ SIEF_ELGA, voir [U2.01.05].
| 'SIMY_ELGA'
Calcul de l’état de contrainte moyennée par élément (composante par composante).
| 'SIPO_ELNO'
| 'SIPO_NOEU'
Calcul des contraintes dans la section de poutre décomposée en contributions de chaque effort généralisé.
Liste des composantes du champ:
SN |
Contribution de l’effort normal \(N\) à \({\sigma}_{xx}\) , \({\sigma}_{xx}=\frac{N}{A}\) |
SMFY |
Contribution du moment de flexion \(\mathit{MFY}\) à \({\sigma}_{xx}\) , \({\sigma}_{xx}=z\frac{\mathit{MFY}}{{I}_{Y}}\) |
SMFZ |
Contribution du moment de flexion \(\mathit{MFZ}\) à \({\sigma}_{xx}\) , \({\sigma}_{xx}=-y\frac{\mathit{MFZ}}{{I}_{Z}}\) |
SVY |
Contribution de l’effort tranchant \(\mathit{VY}\) à \({\sigma}_{xy}\) , \({\sigma}_{xy}=\frac{\mathit{VY}{a}_{Y}}{A}\) \({a}_{Y}\) coefficient de cisaillementdans la direction \(y\) |
SVZ |
Contribution de l’effort tranchant \(\mathit{VZ}\) à \({\sigma}_{xz}\) , \({\sigma}_{xz}=\frac{\mathit{VZ}{a}_{Z}}{A}\) \({a}_{Z}\) coefficient de cisaillementdans la direction \(z\) |
SMT |
Contribution du moment de torsion \(\mathit{MX}\) à \({\sigma}_{yz}\) , \({\sigma}_{yz}=\frac{\mathit{MX}{R}_{T}}{{J}_{x}}\) |
Les contraintes ci-dessus s’expriment dans le repère local, c’est-à-dire le repère principal d’inertie de la section droite [R3.08.01].
Les valeurs de \({\sigma}_{xx}\) dues aux deux moments de flexion sont les valeurs maximales de celles calculées en \({Y}_{min}\) , \({Y}_{max}\) d’une part, et en \({Z}_{min}\) , \({Z}_{max}\) d’autre part (sauf pour une section générale où c’est l’utilisateur qui fournit la localisation de l’extremum avec les mot-clés \(\mathit{RY}\) , \(\mathit{RZ}\) et \(\mathit{RT}\) cf. AFFE_CARA_ELEM [U4.42.01]).
Pour une section rectangulaire:
on calcule la valeur de SMFY en \(z=\mathit{HZ}/2\) ,
on calcule la valeur de SMFZ en \(y=\mathit{HY}/2\) .
Pour une section circulaire, on calcule les valeurs de SMFY et SMFZ pour \(y\) et \(z\) valant \(R\) .
| 'SIPM_ELNO'
Calcul des contraintes maximum et minimum dans la section de poutre à partir des efforts généralisés (élasticité linéaire).
La même remarque que pour SIPO_ELNO s’applique dans le cas d’une section générale.
| 'SIRO_ELEM'
Calcul des contraintes projetées sur la peau d’un volume (par exemple sur les parements d’un ouvrage hydraulique) ou sur l’arête d’une surface.
Liste des composantes du champ:
SIG_NX SIG_NY SIG_NZ |
Composantes \({\sigma}_{X}\) , \({\sigma}_{Y}\) , \({\sigma}_{Z}\) dans le repère global de \(\overrightarrow{\sigma}{\rbrace _{n}\) |
SIG_N |
Valeur \({\mathit{SIG}}_{N}\) |
SIG_TX SIG_TY SIG_TZ |
Composantes \({\sigma}_{X}\) , \({\sigma}_{Y}\) , \({\sigma}_{Z}\) dans le repère global de \(\overrightarrow{\sigma}{\rbrace _{t}\) |
SIG_T1X SIG_T1Y SIG_T1Z |
Composantes \({\sigma}_{X}\) , \({\sigma}_{Y}\) , \({\sigma}_{Z}\) dans le repère global de \(\overrightarrow{\sigma}{\rbrace _{\mathit{t1}}\) |
SIG_T1 |
Valeur propre \({\mathit{SIG}}_{\mathit{T1}}\) |
SIG_T2X SIG_T2Y SIG_T2Z |
Composantes \({\sigma}_{X}\) , \({\sigma}_{Y}\) , \({\sigma}_{Z}\) dans le repère global de \(\overrightarrow{\sigma}{\rbrace _{\mathit{t2}}\) |
SIG_T2 |
Valeur propre \({\mathit{SIG}}_{T2}\) |
SIG_TN |
Valeur \({\mathit{SIG}}_{\mathit{TN}}\) |
Ces champs sont évalués à partir d’un champ de contraintes calculés sur les mailles volumiques (MODELISATION=‘3D’ ou ‘3D_SI’) ou surfaciques (MODELISATION=‘D_PLAN’ ou ‘D_PLAN_SI’). Pour des mailles volumiques, la procédure est la suivante:
Identification des mailles volumiques correspondant aux facettes du groupe de mailles surfaciques. Pour chaque facette (maille surfacique), on choisit la maille volumique située du côté «-» de la normale à la facette. S’il n’y a pas de maille volumique du coté «-» de la facette, on ne calcule pas SIRO_ELEM sur cette facette;
Récupération des contraintes 3D pour les affecter aux nœuds des faces;
Moyenne de chacune des composantes du tenseur des contraintes au centre des faces d’éléments;
On se place dans un repère composé par le vecteur normal \(\overrightarrow{n}\) à la facette et le plan de la facette. On obtient un tenseur noté \([\sigma \text{}]\) .
On évalue \([\sigma \text{}]\overrightarrow{n}=\overrightarrow{\sigma}{\rbrace _{n}+\overrightarrow{\sigma}{\rbrace _{t}\) , \(\overrightarrow{\sigma}{\rbrace _{n}\) étant un vecteur colinéaire à \(\overrightarrow{n}\) . \(\overrightarrow{\sigma}{\rbrace _{t}\) est alors un vecteur représentant le cisaillement qui est négligeable dans le cas des parements amont/aval d’un barrage. On note \(\overrightarrow{\sigma}{\rbrace _{n}={\mathit{SIG}}_{N}\overrightarrow{n}\) et \({\mathit{SIG}}_{N}\) indique la présence de traction s’il est positif et de la compression s’il est négatif.
On se place dans l’hypothèse d’un cisaillement négligeable donc \([\sigma \text{}]=\left[\begin{array}{cc}\sigma {\rbrace _{\mathrm{2D}}& 0\\ 0& {\mathit{SIG}}_{N}\end{array}\right]\) On cherche les vecteurs de contraintes principales correspondant à \(\sigma {\rbrace _{\mathrm{2D}}\) : on obtient donc les vecteurs \(\vec{\sigma}{\text{\%}}_{t1}\) et \(\overrightarrow{\sigma}{\rbrace _{\mathit{t2}}\) qui sont dans le plan de la facette et les valeurs propres \({\mathit{SIG}}_{\mathit{T1}}\) et \({\mathit{SIG}}_{\mathit{T2}}\)
Pour des mailles surfaciques, la procédure d’évaluation du champ SIRO_ELEM est la même que pour les mailles volumiques, en tenant compte des conventions suivantes:
\(\vec{{\sigma}_{t2}}\) colinéaire à la direction Z (un modèle D_PLAN étant défini exclusivement dans le plan XY), \(\vec{{\sigma}_{t1}}\) étant donc dans le plan XY.
SIG_NZ = SIG_TZ = 0. et SIG_T1Z = SIGT2X = SIGT2Y = 0.
\({\mathit{SIG}}_{\mathit{TN}}\) est la valeur de la contrainte de cisaillement dans le plan XY.
- Remarque 1
Dans le cas de facettes/arêtes plongées dans le volume/surface, l’utilisateur a la possibilité grâce à la commande MODI_MAILLAGE / ORIE_PEAU_3D / GROUP_MA_VOLUou MODI_MAILLAGE / ORIE_PEAU_2D / GROUP_MA_SURF de réorienter cette normale comme il le souhaite. Il peut ainsi choisir la maille volumique qui sera utilisée pour le calcul.
Si du côté «-», on trouve une maille de «joint» (qui est volumique/surfacique), le calcul de SIRO_ELEM est impossible car les contraintes stockées dans les éléments de joint ne permettent pas le calcul détaillé ci-dessus.
- Remarque 2
Si l’on renseigne TOUT=”OUI”, la liste des mailles est filtrée pour ne garder que les mailles de peau/arête.
Options de calcul des déformations (Opérande DEFORMATION)#
Les composantes des champs de déformation sont détaillées dans le document [U2.01.05].
| 'DEGE_ELGA'
Calcul des déformations généralisées à partir des déplacements. Cette option n’a de sens que pour les éléments de structure de plaque et tuyau, pas pour les poutres
Les déformations généralisées sont obtenues dans le repère local de l’élément.
| 'DEGE_ELNO'
| 'DEGE_NOEU'
Calcul des déformations généralisées à partir des déplacements. Cette option n’a de sens que pour les éléments de structure de poutre, plaque et tuyau.
Les déformations généralisées sont obtenues dans le repère local de l’élément.
| 'EPFD_ELGA'
| 'EPFD_ELNO'
| 'EPFD_NOEU'
Calcul des déformations de fluage de dessiccation, pour les modèles BETON_UMLV_FP et BETON_BURGER_FP.
| 'EPFP_ELGA'
| 'EPFP_ELNO'
| 'EPFP_NOEU'
Calcul des déformations de fluage propre associées au modèle GRANGER_FP, au modèle BETON_UMLV_FP ou au modèle BETON_BURGER_FP.
| 'EPME_ELGA'
| 'EPME_ELNO'
| 'EPME_NOEU'
Calcul des déformations «mécaniques» à partir des déplacements. Ce calcul est fait en théorie des « petits déplacements ». Les déformations calculées sont égales aux déformations totales moins les déformations thermiques. Les déformations de séchage et d’hydratation sont aussi soustraites ainsi que les déformations de pression de fluide et les déformations anélastiques. Par contre les déformations de fluage ne sont pas soustraites.
\({\varepsilon}_{ij}^{m}(u)=\frac{1}{2}({u}_{i,j}+{u}_{j,i})-{\varepsilon}^{\mathit{th}}\)
| 'EPMG_ELGA'
| 'EPMG_ELNO'
| 'EPMG_NOEU'
Calcul des déformations «mécaniques» à partir des déplacements. Ce calcul est fait en théorie des « grands déplacements ». Les déformations calculées sont égales aux déformations totales moins les déformations thermiques.
\({E}_{ij}^{m}(u)=\frac{1}{2}({u}_{i,j}+{u}_{j,i}+{u}_{k,i}{u}_{k,j})-{\varepsilon}^{\mathit{th}}\)
| 'EPSG_ELGA'
| 'EPSG_ELNO'
| 'EPSG_NOEU'
Calcul des déformations de Green-Lagrange.
\({E}_{ij}(u)=\frac{1}{2}({u}_{i,j}+{u}_{j,i}+{u}_{k,i}{u}_{k,j})\)
| 'EPSI_ELGA'
| 'EPSI_ELNO'
| 'EPSI_NOEU'
Calcul des déformations à partir des déplacements.
\({\varepsilon}_{ij}(u)=\frac{1}{2}({u}_{i,j}+{u}_{j,i})\)
Pour les éléments de structure, ces déformations sont obtenues dans le repère local de l’élément.
| 'EPSP_ELGA'
| 'EPSP_ELNO'
| 'EPSP_NOEU'
Calcul des déformations anélastiques à partir du champ de déplacement \(u\) , des contraintes \(\sigma\) , de la température \(T\) , des déformations anélastiques éventuelles \({\varepsilon}^{a}\) , et des variables internes,
\({\varepsilon}^{p}=\varepsilon (u)-{A}^{-1}\sigma -{\varepsilon}^{\mathrm{th}}(T)-{\varepsilon}^{a}-{\varepsilon}^{\mathrm{fl}}\)
où \({\varepsilon}^{\mathrm{fl}}\) est la déformation de fluage propre de Granger.
| 'EPVC_ELGA'
| 'EPVC_ELNO'
| 'EPVC_NOEU'
Calcul des déformations liées aux variables de commande. Pour l’instant seules les composantes suivantes sont définies:
les déformations thermiques: EPTHER_L, EPTHER_T, EPTHER_N telles que: \({\varepsilon}_{i}^{\mathrm{th}}={\alpha}_{i}(T-{T}_{\mathrm{ref}});i\in \lbrace L,T,N\rbrace\) (si le matériau est isotrope, les 3 composantes sont égales), \(T\) étant la température et \({\alpha}_{i}\) le coefficient de dilatation thermique;
le retrait de séchage EPSECH (utilisé pour les lois décrivant le comportement du béton) \({\varepsilon}^{\mathrm{sech}}=-{K}_{\mathrm{dessic}}({S}_{\mathrm{ref}}-S)\) , \(S\) étant la variable de commande séchage et \({K}_{\mathrm{dessic}}\) le coefficient de retrait de dessiccation;
le retrait d’hydratation EPHYDR (utilisé pour les lois décrivant le comportement du béton) \({\varepsilon}^{\mathrm{hydr}}=-{B}_{\mathrm{endog}}h\) , \(h\) étant la variable de commande hydratation, et \({B}_{\mathrm{endog}}\) étant le coefficient de retrait endogène.
La déformation liée à la pression de fluide (pour la thermo-hydro-mécanique avec une résolution par chaînage): EPPTOT telle que: \({\varepsilon}^{\mathrm{ptot}}=\frac{b}{\mathrm{3K}}{p}_{\mathrm{tot}}\) , \({p}_{\mathrm{tot}}\) est la variable de commande pression totale de fluide, \(b\) est le coefficient de Biot, \(K\) est le module d’élasticité.
| 'EPSL_ELGA'
| 'EPSL_ELNO'
| 'EPSL_NOEU'
Calcul des déformations logarithmiques.
\({E}_{l}(u)=\frac{1}{2}\left(\ln({F}^{T}F)\right)\)
Options d’extraction des variables internes (Opérande VARI_INTERNE)#
| 'VARC_ELGA'
| 'VARC_ELNO'
| 'VARC_NOEU'
Calcul des variables de commandes ayant servi à un calcul mécanique.
Liste des composantes du champ:
TEMP |
Cf. documentation de la commande AFFE_MATERIAU[U4.43.03] pour la définition de chacune des composantes. |
HYDR |
|
SECH |
|
CORR |
|
IRRA |
|
PTOT |
|
DIVU |
|
NEUT1 |
|
NEUT2 |
- Remarque
Toutes les composantes sont systématiquement calculées. Les variables qui n’ont pas été définies sont initialisées à la valeur R8VIDE() (nombre réel très grand de l’ordre de 1.0E+308). Si on souhaite manipuler ce champ ensuite en post-traitement (et en post-traitement uniquement), il est donc nécessaire de mettre les composantes non définies à zéro avant sous peine d’erreur numérique.
| 'VARI_ELNO'
| 'VARI_NOEU'
Calcul des variables internes.
Liste des composantes du champ:
V1 |
Variable interne 1 |
… |
|
Vi |
Variable interne i |
… |
|
Vn |
Variable interne n |
Le nombre et le type de ces variables internes sont spécifiques à chaque modèle de comportement ( cf. [U4.51.11]).
- Remarque
Le champ “VARI_ELGA’est calculé nativement par les opérateurs de résolution non-linéaires. Il est toujours présent dans une SD résultat de type evol_noli.
Options de calcul d’énergie (Opérande ENERGIE)#
| 'DISS_ELEM'
Calcul de l’énergie dissipée par l’endommagement. Le champ obtenu possède une seule composante de nom “ENDO”.
Liste des composantes du champ:
ENDO |
Énergie dissipée par l’endommagement |
- Remarque
Valable uniquement pour les éléments DKTG et la loi GLRC_DM. Son expression est donnée dans [R7.01.32].
| 'DISS_ELGA'
| 'DISS_ELNO'
| 'DISS_NOEU'
Calcul de la densité d’énergie dissipée par l’endommagement. Le champ obtenu possède une seule composante de nom “ENDO”.
Liste des composantes du champ:
ENDO |
Énergie dissipée par l’endommagement |
- Remarque
Valable uniquement pour les éléments DKTG et la loi GLRC_DM. Son expression est donnée dans [R7.01.32].
| 'ECIN_ELEM'
Calcul de l’énergie cinétique.
\({E}_{c}=\frac{1}{2}m{v}^{2}\)
Liste des composantes du champ:
TOTALE |
Énergie cinétique |
Composantes supplémentaires pour les plaques et coques: |
|
MEMBRANE FLEXION |
Contributions à l’énergie cinétique (cf. [R3.07.03]) |
Composantes supplémentaires pour les poutres courbes: |
|
PLAN_XY PLAN_XZ |
Contributions à l’énergie cinétique (cf. [R3.08.01]) |
Composantes supplémentaires pour les discrets: |
|
DX DY DZ DRX DRY DRZ |
Contributions à l’énergie cinétique |
| 'ENEL_ELEM'
Calcul de l’énergie élastique.
\({E}_{p}=\frac{1}{2}\sigma {A}^{-1}\sigma\)
Liste des composantes du champ:
TOTALE |
Énergie élastique |
Composantes supplémentaires pour les plaques et coques: Contributions à l’énergie élastique (cf. [R3.07.03]) |
|
MEMBRANE FLEXION CISAILLE COUPL_MF |
Énergie élastique en membrane Énergie élastique en flexion Énergie élastique en cisaillement Énergie élastique de couplage membrane-flexion |
- Remarque
En non-linéaire ( STAT_NON_LINE , DYNA_NON_LINE ,…) les composantes CISAILLE et COUPL_MF sont nulles.
| 'ENEL_ELGA'
| 'ENEL_ELNO'
| 'ENEL_NOEU'
Calcul de la densité d’énergie élastique.
Liste des composantes du champ:
TOTALE |
Énergie élastique |
Composantes supplémentaires pour les plaques et coques: Contributions à l’énergie élastique (cf. [R3.07.03]) |
|
MEMBRANE FLEXION CISAILLE COUPL_MF |
Énergie élastique en membrane Énergie élastique en flexion Énergie élastique en cisaillement Énergie élastique de couplage membrane-flexion |
- Remarque
En non-linéaire ( STAT_NON_LINE , DYNA_NON_LINE ,…) les composantes CISAILLE et COUPL_MF sont nulles.
| 'ENTR_ELEM'
Calcul de l’énergie élastique modifiée de traction. En mécanique de la rupture, il se peut que l’on est besoin d’estimer une énergie élastique dite de traction, ainsi l’idée consiste à calculer une énergie élastique modifiée, permettant d’annihiler la participation de la compression sphérique et de la compression suivant chaque directions propres de déformation. Ainsi l’énergie élastique devient:
\({E}_{\mathit{el}}^{\mathit{traction}}=\frac{\lambda}{2}H(\mathit{tr}(ϵ))\mathit{tr}{(ϵ)}^{2}+\mu \sum_{i=1}^{3}H({ϵ}_{i}){ϵ}_{i}^{2}\)
où \(H\) représente la fonction Heaviside,
\(ϵ\) représente le tenseur des déformations élastiques,
\({ϵ}_{i}\) représente les déformations élastique principales.
Liste des composantes du champ:
TOTALE |
Énergie élastiquemodifiée de traction |
- Remarque
Pour l’instant, uniquement valide en petites déformations (DEFORMATION=”PETIT” ou DEFORMATION=”PETIT_REAC”).
| 'EPOT_ELEM'
Calcul de l’énergie potentielle de déformation, à partir du champ de déplacement \(u\) et du champs de température \(T\) :
Liste des composantes du champ:
TOTALE |
Énergie potentielle |
Composantes supplémentaires pour les plaques et coques: |
|
MEMBRANE FLEXION |
Contributions à l’énergie potentielle (cf. [R3.07.03]) |
Composantes supplémentaires pour les poutres droites: |
|
TRAC_COM TORSION FLEX_Y FLEX_Z |
Contributions à l’énergie potentielle (cf. [R3.08.01]) |
Composantes supplémentaires pour les poutres courbes: |
|
PLAN_XY PLAN_XZ |
Contributions à l’énergie potentielle (cf. [R3.08.01]) |
Composantes supplémentaires pour les discrets: |
|
DX DY DZ DRX DRY DRZ |
Contributions à l’énergie potentielle |
pour les éléments de milieux continus 2D et 3D:
\({E}_{\mathrm{pot}}=\frac{1}{2}\underset{\text{element}}{\int}\varepsilon (U).A.\varepsilon (U)\mathrm{dv}-\underset{\text{element}}{\int}\varepsilon (U).A.{\varepsilon}^{\mathrm{th}}(U)\mathrm{dv}+\frac{1}{2}\underset{\text{element}}{\int}{\varepsilon}^{\mathrm{th}}(U).A.{\varepsilon}^{\mathrm{th}}(U)\mathrm{dv}\)
pour les éléments de poutres:
\({E}_{\mathrm{pot}}=\frac{1}{2}{u}^{\mathrm{T.}}{K}_{e}.u-{u}^{\mathrm{T.}}{B}^{T}.A.{\varepsilon}^{\mathrm{th}}+\frac{1}{2}{\varepsilon}^{\mathrm{th.}}A.{\varepsilon}^{\mathrm{th}}\)
pour les éléments de plaques et coques:
\({E}_{\mathrm{pot}}=\frac{1}{2}{u}^{T}.{K}_{e}.u-{u}^{T}.{B}^{T}.A.{\varepsilon}^{\mathrm{th}}\)
| 'ETOT_ELEM'
Calcul de l’incrément d’énergie de déformation totale entre l’instant courant et l’instant précédent.
Liste des composantes du champ:
TOTALE |
Incrément d’énergie de déformation totale |
| 'ETOT_ELGA'
| 'ETOT_ELNO'
| 'ETOT_NOEU'
Calcul de l’incrément de densité d’énergie de déformation totale entre l’instant courant et l’instant précédent.
Liste des composantes du champ:
TOTALE |
Incrément d’énergie de déformation totale |
Options de calcul de critères (Opérande CRITERES)#
| 'DERA_ELGA'
| 'DERA_ELNO'
| 'DERA_NOEU'
Calcul de l’indicateur local de décharge et indicateur de perte de radialité [R4.20.01].
Liste des composantes du champ:
DCHA_V |
Indicateur de décharge calculé sur le tenseur déviateur des contraintes |
DCHA_T |
Indicateur de décharge calculé sur le tenseur total des contraintes |
IND_DCHA |
Indicateur permettant de savoir si la décharge resterait élastique ou s’il y aurait un risque de plastification si on utilisait un écrouissage cinématique pur |
VAL_DCHA |
Indique la proportion de sortie du critère dans le cas de décharge abusive |
X11 X22 X33 X12 X13 X23 |
Composantes du tenseur cinématique utilisées pour le calcul de IND_DCHA |
RADI_V |
Indicateur de la variation de la direction des contraintes entre les instants \(t\) et \(t+\Delta t\) |
ERR_RADI |
Erreur \(\eta\) due à la discrétisation en temps, directement reliée à la rotation de la normale à la surface de charge |
DCHA_V et DCHA_T expriment, dans les deux cas, la variation relative de la norme des contraintes au sens de Von Misès: \({I}_{1}=\frac{\parallel \sigma (M,t+\Delta t)\parallel -\parallel \sigma (M,t)\parallel }{\parallel \sigma (M,t+\Delta t)\parallel }\) , la norme étant fonction du comportement (écrouissage isotrope ou cinématique linéaire)
IND_DCHA peut prendre les valeurs suivantes:
0: valeur initiale sans contrainte;
1: si charge élastique;
2: si charge plastique;
-1: si décharge élastique licite (quel que soit le type d’écrouissage);
-2: si décharge abusive (on aurait plastifié avec un écrouissage cinématique).
RADI_V est donné par la relation suivante:
\({I}_{2}=1-\frac{\mid \sigma (M,t).\Delta \sigma \mid }{\parallel \sigma (M,t)\parallel \parallel \Delta \sigma \parallel }\)
Cette quantité est nulle lorsque la radialité est conservée durant l’incrément de temps.
ERR_RADI est l’angle entre \({n}^{-}\) , la normale au critère de plasticité au début du pas de temps (instant \({t}^{-}\) ), et \({n}^{+}\) , la normale au critère de plasticité calculée à la fin du pas de temps (instant \({t}^{+}\) ) de la façon suivante:
\(\eta =\frac{1}{2}∣∣\Delta n∣∣=\frac{1}{2}∣∣{n}^{+}-{n}^{-}∣∣=∣\sin(\frac{\alpha}{2})∣\)
Cela fournit une mesure de l’erreur (également utilisée pour raffiner le pas de temps [U4.51.11]. Ce critère est opérationnel pour les comportements élastoplastiques de Von Mises à écrouissage isotrope, cinématique linéaire et mixte:VMIS_ISOT_LINE,VMIS_ISOT_TRAC, VMIS_ISOT_PUIS, VMIS_CINE_LINE, VMIS_ECMI_LINE,VMIS_ECMI_TRAC, et pour les comportements élasto-visco-plastiques de Chaboche: VMIS_CIN1_CHAB, VMIS_CIN2_CHAB, VMIS_CIN2_MEMO, VISC_CIN1_CHAB,VISC_CIN2_CHAB, VISC_CIN2_MEMO.
- Remarque
Le calcul de ces options nécessite de comparer les champs de contraintes aux instants \({t}_{i}\) et \({t}_{i+1}\) . Le résultat est rangé au numéro d’ordre associé à l’instant \({t}_{i}\) .
L’indicateur de décharge est calculé par: \(\mathrm{ID}=\frac{\parallel {\sigma}_{i+1}\parallel -\parallel {\sigma}_{i}\parallel }{\parallel {\sigma}_{i+1}\parallel }\) .
Par défaut, le calcul se fait pour les numéros d’ordre \(1\) à \(n–1\). Mais si on précise la liste d’instant (avec des « trous » éventuellement), le calcul ne concernera que les instants demandés mais il comparera toujours l’instant \({t}_{i}\) avec l’instant \({t}_{i+1}\) dans la liste des instants ayant servi à faire le calcul non-linéaire.
| 'ENDO_ELGA'
| 'ENDO_ELNO'
| 'ENDO_NOEU'
Calcul du dommage \(d\) à partir du tenseur des contraintes et de la déformation plastique cumulée \(p\) .
Liste des composantes du champ:
TRIAX |
Taux de triaxialité |
SI_ENDO |
Contrainte équivalente d’endommagement de Lemaître-Sermage |
COENDO |
Contrainte d’endommagement de Lemaître-Sermage normalisée |
DOM_LEM |
Dommage de Lemaître-Sermage |
Le taux de triaxialité \(\alpha\) est donné par la relation suivante:
\(\alpha =\frac{{\sigma}_{h}}{{\sigma}_{\mathrm{eq}}}\)
et la contrainte équivalente d’endommagement \(\sigma \text{*}\) :
\(\sigma \text{*}={\sigma}_{\mathrm{eq}}\sqrt{\frac{2}{3}(1+\nu )+3(1-2\nu ){\alpha}^{2}}\)
avec: \(\begin{array}{ccc}s& =& \sigma -\frac{1}{3}\mathrm{tr}(\sigma )\cdot \mathrm{Id}\\ {\sigma}_{\mathrm{eq}}& =& \sqrt{\frac{3}{2}s:s}\\ {\sigma}_{h}& =& \frac{1}{3}\mathrm{tr}(\sigma )\end{array}\)
La cinétique d’endommagement est donnée par la loi de Lemaître-Sermage:
\(\dot{d}={\left[\frac{Y}{S}\right]}^{s}\dot{p}\) si \(p\ge {p}_{\mathrm{seuil}}\) avec \(Y=\frac{{\sigma \text{*}}^{2}}{2E{(1-D)}^{2}}\)
où \(S\) et \(s\) sont des coefficients caractéristiques du matériau et \({p}_{\mathrm{seuil}}\) le seuil d’endommagement lié à l’énergie stockée dans le matériau (si \(s=1\) on obtient la loi de Lemaître classique).
| 'EPEQ_ELGA'
| 'EPEQ_ELNO'
| 'EPEQ_NOEU'
| 'EPMQ_ELGA'
| 'EPMQ_ELNO'
| 'EPMQ_NOEU'
| 'EPGQ_ELGA'
| 'EPGQ_ELNO'
| 'EPGQ_NOEU'
Calcul de la déformations équivalentes:
Les champs EPEQ_x sont calculées à partir des champs EPSI_x (déformations en petit déplacement), les champs EPGQ_x sont calculées à partir des champs EPSG_x (déformations de Green-Lagrange) et les champs EPMQ_x sont calculées à partir des champs EPME_x (déformations mécaniques).
Liste des composantes du champ:
INVA_2 |
Déformation équivalente de Von Mises |
PRIN_1 PRIN_2 PRIN_3 |
Déformations principales, rangées dans l’ordre croissant |
INVA_2SG |
Déformation équivalente de Von Mises signée par la trace de \(\epsilon\) |
VECT_1_X VECT_1_Y VECT_1_Z VECT_2_X VECT_2_Y VECT_2_Z VECT_3_X VECT_3_Y VECT_3_Z |
Directions principales |
La déformation équivalente de Von Mises est donnée par l’expression suivante:
\(\mathrm{INVA}\text{\_}2=\sqrt{\frac{2}{3}\mathit{dev}{(\epsilon )}_{ij}\mathit{dev}{(\epsilon )}_{ji}}\) avec \(\mathrm{dev}{(\varepsilon )}_{ij}={\varepsilon}_{ij}-\frac{1}{3}\mathrm{tr}(\varepsilon ){\delta}_{ij}\)
Cette expression est équivalente à celle de la norme \(\overline{\epsilon}\) du code RCC-CW.
\(\overline{\epsilon}=\frac{\sqrt{2}}{3}\sqrt{{({\epsilon}_{11}-{\epsilon}_{22})}^{2}+{({\epsilon}_{22}-{\epsilon}_{33})}^{2}+{({\epsilon}_{33}-{\epsilon}_{11})}^{2}+6({\epsilon}_{12}^{2}+{\epsilon}_{23}^{2}+{\epsilon}_{31}^{2})}\)
- Remarque
On note que les déformations équivalentes obtenues à partir de EPSI et EPME sont identiques. En effet, la différence entre les deux tenseurs est un tenseur sphérique (déformation thermique). Comme la déformation équivalente est obtenue à partir du second invariant du déviateur, le tenseur sphérique«disparaît» lorsque l’on prend le déviateur.
| 'INDL_ELGA'
Calcul de l’indicateur de localisation, basé sur le tenseur acoustique (critère de RICE).
Liste des composantes du champ:
INDICE |
Indicateur de localisation 0si \(\det(\mathrm{N.H.N})>0\) 1sinon, ce qui correspond a l’initiation de la localisation |
DIR1 |
Première normale à la zone de localisation |
DIR2 |
Deuxième normale à la zone de localisation |
DIR3 |
Troisième normale à la zone de localisation |
DIR4 |
Quatrième normale à la zone de localisation |
Cet indicateur définit un état à partir duquel le problème local d’intégration du comportement perd son caractère d’unicité. Il est défini par: \(\det(\mathrm{N.}H.N)\le 0\) , où \(H\) désigne l’opérateur tangent et \(N\) la normale aux directions de localisation.
- Remarque
La méthode n’est développée que dans le cas \(\mathrm{2D}\) et pour les lois de comportement de type DRUCK_PRAGER et HUJEUX .
| 'PDIL_ELGA'
Calcul du module de rigidité de micro-dilatation.
Liste des composantes du champ:
A1_LC2 |
Module de rigidité de micro-dilatation |
L’option PDIL_ELGA fournit dans le cadre des milieux de second gradient de dilatation la valeur du module A1_LC2, permettant de maîtriser la périodicité de la solution non triviale du problème initialement homogène [R5.04.03].
Le calcul de A1_LC2 est obtenu via l’évaluation d’une fonction dépendant de l’orientation géométrique de la bande matérielle considérée. La discrétisation angulaire imposée actuellement est égale à \(0.1°\) .
- Remarque
La méthode n’est développée que pour les lois de comportement de type DRUCK_PRAGER et HUJEUX .
| 'SIEQ_ELGA'
| 'SIEQ_ELNO'
| 'SIEQ_NOEU'
Calcule des contraintes équivalentes calculées à partir des champs de contrainte.
Liste des composantes du champ:
VMIS |
Contrainte équivalente de Von Mises |
TRESCA |
Contrainte de Tresca |
PRIN_1 PRIN_2 PRIN_3 |
Contraintes principales, rangées dans l’ordre croissant |
VMIS_SG |
Contrainte équivalente de Von Mises signée par la trace de \(\sigma\) |
VECT_1_X VECT_1_Y VECT_1_Z VECT_2_X VECT_2_Y VECT_2_Z VECT_3_X VECT_3_Y VECT_3_Z |
Directions principales |
TRSIG |
Trace de \(\sigma\) |
TRIAX |
Taux de triaxialité |
La contrainte équivalente de Von Mises est donnée par l’expression suivante:
\(\mathrm{VMIS}=\sqrt{\frac{3}{2}{s}_{ij}{s}_{ji}}\) avec \({s}_{ij}={\sigma}_{ij}-\frac{1}{3}\mathrm{tr}(\sigma ){\delta}_{ij}\)
Le taux de triaxialité est donné par l’expression suivante:
\(\mathrm{TRIAX}=\frac{\mathrm{TRSIG}}{3\times \mathrm{VMIS}}\)
Option de calcul des flux hydrauliques (Opérande HYDRAULIQUE)#
| 'FLHN_ELGA'
Calcul des flux hydrauliques en THM \({\Phi}_{ij}={M}_{ij}.\nu\) sur les éléments de bord (2D ou 3D) à partir du vecteur flux aux nœuds.
\({M}_{ij}\) est le vecteur flux hydraulique du composant \(ij\).
Liste des composantes du champ:
FH11
FH22
FH12
FH21
Optionsliées aux paramètres du calcul (Opérande PROPRIETES)#
| 'MATE_ELGA'
| 'MATE_ELEM'
Récupération des valeurs des paramètres matériaux élastiques E,NU, RHO, ALPHAet thermiques LAMBDA,RHO_CPavec prise en compte de la dépendance aux variables de commande et à l’instant de calcul. Une valeur nulle est affectée aux composantes du champ si le les paramètres associés n’ont pas été renseignés dans DEFI_MATERIAU. Les coordonnées des points d’intégration sont également présentes dans le champ.
Ces options sont uniquement disponibles pour les comportements ELAS, ELAS_FO, THER, THER_FO, THER_NL.
Pour le champ MATE_ELGA, on calcule les valeurs à chaque point de Gauss, pour le champ MATE_ELEM, on calcule les valeurs au barycentre de l’élément (famille FPG1).
Pour le champ MATE_ELGA et les éléments de frontière absorbante (3D_ABSO, D_PLAN_ABSO) les coordonnées spatiales prises en compte sont celles du barycentre de l’élément (comme dans les autres options de calcul). Les valeurs à chaque point de Gauss sont donc toujours égales entre elles et aussi avec les valeurs du champ MATE_ELEM.
Opérandes pour les options thermiques#
Opérande THERMIQUE#
| 'FLUX_ELGA'
| 'FLUX_ELNO'
| 'FLUX_NOEU'
Calcul des flux de chaleur à partir de la température.
Liste des composantes du champ:
FLUX FLUY FLUZ |
Flux de chaleur dans les trois directions de l’espace (dans le feuillet moyen pour les coques) |
Composantes supplémentaires pour les coques: |
|
FLUX_INF FLUY_INF FLUZ_INF |
Flux de chaleur dans les trois directions de l’espace en peau inférieure |
FLUX_INF FLUY_INF FLUZ_INF |
Flux de chaleur dans les trois directions de l’espace en peau supérieure |
| 'GRAT_ELGA'
| 'GRAT_ELNO'
| 'GRAT_NOEU'
Calcul des gradients de température.
Liste des composantes du champ:
GRAT_X GRAT_Y GRAT_Z |
Gradient de la température dans les trois directions de l’espace |
| 'HYDR_NOEU'
Calcul de l’hydratation.
Liste des composantes du champ:
HYDR |
Hydratation |
- Remarque
Le champ “HYDR_ELNO” est calculé nativement par l’opérateur de thermique non-linéaire THER_NON_LINE pour la modélisation du béton [R7.01.12].
| 'SOUR_ELGA'
Calcul d’une source de chaleur.
Liste des composantes du champ:
SOUR |
Source de chaleur |
Cette source est calculée à partir d’un potentiel électrique via la loi d’Ohm. Ce potentiel électrique doit avoir été calculé par l’opérateur THER_LINEAIRE [U4.54.01] en faisant les analogies nécessaires. Cette source peut être ensuite utilisée dans un calcul thermique via le mot-clé SOUR_CALCULEE de la commande AFFE_CHAR_THER [U4.44.02].
| 'ETHE_ELEM'
Calcul de l’énergie thermique à l’équilibre à partir du champ de température \(T\) .
Liste des composantes du champ:
TOTALE |
Énergie thermique |
Opérandes pour les options de séchage#
Opérande SECHAGE#
Calcul des coefficients de diffusion#
| 'DIFF_ELGA'
| 'DIFF_ELNO'
| 'DIFF_NOEU'
Liste des composantes du champ:
DIFT |
Coefficient de diffusion total (somme de DIFL et de DIFV) |
DIFL |
Coefficient de diffusion liquide |
DIFV |
Coefficient de diffusion vapeur (non nul uniquement pour la loi SECH_RFT) |
Calcul de grandeurs liées à l’hygrométrie#
| 'HYGR_ELGA'
| 'HYGR_ELNO'
| 'HYGR_NOEU'
Liste des composantes du champ:
HUMR |
Humidité relative |
PCAP |
Pression capillaire |
Ces grandeurs ont des valeurs non nulles uniquement si le matériau BETON_DESORP est affecté sur les mailles concernées. La pression capillaire n’est calculée que dans le cas LEVERETT = « OUI » de BETON_DESORP (elle est mise à zéro sinon). Son unité est donnée par le mot-clé UNITE_PRESSION du DEFI_MATERIAU/BETON_DESORP qui vaut Pa par défaut.
Il est possible de fournir BETON_DESORP au matériau même si la loi de séchage utilisée n’en a pas besoin. Ces informations seront seulement utilisées pour le calcul de cette option.
Opérandes pour les options acoustiques#
Opérande ACOUSTIQUE#
| 'INTE_ELNO'
| 'INTE_NOEU'
Calcul de l’intensité acoustique. Les définitions se trouvent dans [R4.02.01].
Liste des composantes du champ:
INTX_R |
Intensité acoustique, partie réelle selon l’axe x |
INTY_R |
Intensité acoustique, partie réelle selon l’axe y |
INTZ_R |
Intensité acoustique, partie réelle selon l’axe z |
INTX_I |
Intensité acoustique, partie imaginaire selon l’axe x |
INTY_I |
Intensité acoustique, partie imaginaire selon l’axe y |
INTZ_I |
Intensité acoustique, partie imaginaire selon l’axe z |
| 'PRAC_ELNO'
| 'PRAC_NOEU'
Calcul de la pression aux nœuds en partie réelle, partie imaginaire et décibels.
Liste des composantes du champ:
PRES_I |
Pression acoustique, partie réelle |
PRES_R |
Pression acoustique, partie imaginaire |
DB |
Pression acoustique en décibel |
| 'PRME_ELNO'
Calcul de la pression aux nœuds pour les éléments FLUIDE.
Liste des composantes du champ:
DB |
Pression acoustique en décibel |
Opérande pour les forces et les réactions nodales#
Opérande FORCE#
| 'FORC_NODA'
Calcul des forces nodales généralisées à partir des contraintes aux points de Gauss. Liste des composantes du champ :
DX DY DZ |
Forces nodales |
Composantes supplémentaires pour les modélisations thermo-hydro-mécaniques :
PRE1 PRE2 TEMP |
Forces nodales (hydrauliques / thermique) |
Composantes supplémentaires pour les éléments de structure :
DRX DRY DRZ |
Forces nodales (moments) |
Les forces nodales correspondent au sens éléments finis aux forces intérieures participant aux équations d’équilibre. Le calcul des forces nodales généralisées \({F}_{K}\) se fait de la façon suivante:
Avec:
\({\sigma}^{K}\) contraintes aux points de Gauss de l’élément \(K\) ;
\(\mathrm{B}\) l’opérateur éléments finis de déformations généralisées (matrice reliant les déformations du 1er ordre aux déplacements généralisés);
\({\mathrm{v}}_{K}\) déplacement élémentaire unitaire généralisé.
D’où:
La dimension des forces nodales est duale de celle des \({v}_{K}\) pour donner un travail (en Joules). Pour les éléments massifs (3D, 2D et barres), les FORC_NODA en général ont la dimension d’une force. Il s’agit d’un champ sur les nœuds du maillage où la valeur en un nœud est obtenue à partir des contraintes calculées sur les éléments concourants à ce nœud, ainsi leurs valeurs varient donc lorsque le maillage change. En l’absence de chargement réparti, l’équilibre impose leur nullité en un nœud intérieur, tandis qu’elles correspondent à la réaction sur les appuis où l’on impose une relation cinématique (cas d’un déplacement imposé).
Cas bi-dimensionnel
Pour les éléments axisymétriques, l’intégration en \(\theta\) se fait sur un secteur de \(1\mathit{radian}\) . Si on veut l’intégrale de l’effort surfacique sur tout le disque il faut donc multiplier par \(2\pi\) .
Pour les éléments en déformation plane, le calcul est fait sur une bande de largeur unité. Les forces nodales calculées sont donc en fait des forces par unité de longueur. Si on veut calculer les forces nodales s’exerçant sur une structure de largeur \(l\) , il faut multiplier le résultat en D_PLAN par \(l\) , à ceci près que l’hypothèse de déformation plane n’est pas valide près des deux faces. On aura donc un résultat approximatif.
Cas des éléments de structures
Pour les éléments de poutre et les éléments discrets, les contraintes aux points de Gauss sont en fait les efforts nodaux généralisés dans le repère de l’élément (obtenus par le produit de la matrice de rigidité de l’élément par le déplacement et en tenant compte des efforts d’origine thermique et des efforts répartis). Le calcul des forces nodales se fait en projetant les efforts nodaux contenus dans le champ de nom symbolique “SIEF_ELGA” dans le repère global. La sommation ci-dessus sur les éléments s’applique ensuite. Les composantes DX, DY et DZ donnent les forces et DRX, DRY et DRZ les moments.
Dans le cas des coques, les composantes DX, DY et DZ donnent les FORC_NODA (de dimension d’une force) dans le repère global du maillage. Ces composantes sont construites avec les efforts normaux et tranchants dans la coque. Les composantes DRX, DRY et DRZ donnent les FORC_NODA (de dimension d’un moment) dans le repère global du maillage, construites avec les moments fléchissants dans la coque. Dans le cas de comportements homogénéisés de coque type ELAS_COQUE, il est préférable de regarder EFGE_NOEU.
Cas de la thermo-hydro-mécanique (THM)
En thermo-hydro-mécanique, cf. §8, [R7.01.10], les forces nodales généralisées associées à chaque composante correspondent aux forces mécaniques et aux flux. Si on note \({Q}^{T}{\sigma}_{0}\) le résultat de FORC_NODA, pour les équations hydrauliques, alors pour un pas de temps \(\Delta t\) , on a :
Les flux sont pris à l’instant \(t^+=t^-+\Delta t\).
Si on note \(q\) le flux thermique, \(Q\) l’apport de chaleur, \(M_w\), \(M_{vp}\), \(M_{as}\) et \(M_{ad}\) les flux hydrauliques de l’eau liquide, de la vapeur, de l’air (ou tout autre composant) sec et de l’air dissous, ainsi que \(m_w\), \(m_{vp}\), \(m_{as}\) et \(m_{ad}\) leur apport de masse respectif [R7.01.10], alors l’expression de FORC_NODA est la suivante :
au degré de liberté PRE1 est associé le flux d’eau
au degré de liberté PRE2 est associé le flux du composant gazeux
au degré de liberté TEMP est associé le flux thermique
| 'REAC_NODA'
Calcul des forces nodales de réactions généralisées aux nœuds, à partir des contraintes aux points de Gauss et des chargements. Liste des composantes du champ:
DX DY DZ |
Réactions nodales |
Composantes supplémentaires pour les éléments de structure: |
|
DRX DRY DRZ |
Réactions nodales (moments) |
Les réactions nodales généralisées correspondent au sens éléments finis aux forces exercées sur les appuis (conditions aux limites) participant aux équations d’équilibre.
Cas de la statique
En statique, pour les concepts résultat de type evol_elas, mult_elas, fourier_elas ou evol_noli, le calcul des réactions nodales généralisées \({R}_{K}\) se fait par:
Avec:
\(\sum_{K}{\mathrm{F}}_{K}.{\mathrm{v}}_{K}\) l’expression des forces nodales (option FORC_NODA, voir () et ());
\({v}_{K}\) déplacement élémentaire unitaire généralisé.
Eton a:
Avec:
\(f\) sont les forces volumiques;
\({F}_{s}\) les forces généralisées surfaciques;
\({F}_{i}\) les forces généralisées ponctuelles au nœud \(i\) .
Le vecteur des réactions nodales généralisées sur l’élément \(K\) s’obtient donc à partir des forces nodales généralisées:
autrement dit, on retranche aux forces nodales les forces extérieures généralisées appliquées à l’élément \(K\) .
- Remarque
A noter que le chargement de température ne figure pas dans les forces extérieures: il intervient dans l’expression des contraintes via la loi de comportement.
Cas de la dynamique transitoire non-linéaire
Pour les concepts résultat de type evol_noli issus de calculs dynamiques traansitoires non-linéaires, pour obtenir les réactions nodales, il convient d’ôter de surcroît les efforts d’inertie (accélération) et d’amortissement liés à la vitesse:
Où:
\(\sum_{K}{\mathrm{F}}_{K}.{\mathrm{v}}_{K}\) l’expression des forces nodales (option FORC_NODA, voir () et ());
\({v}_{K}\) déplacement élémentaire unitaire généralisé.
\(M\) est la matrice de masse;
\(\ddot{u}\) le champ d’accélération généralisée;
\(L\) le vecteur des forces extérieures généralisées appliquées (équation ()).
- Remarques
Les contributions de l’amortissement liées directement à la vitesse sur les réactions nodales sont négligées;
Le calcul des efforts d’inertie requiert la présence du champ d’accélération ACCEdans la structure de données resultat. Dans le cas d’une structure de type evol_noli, il n’est pas possible pour le code de vérifier sa présence, il convient donc de prendre garde.
Cas de la dynamique modale
Pour les concepts résultat de type mode_meca (issus de calculs modaux) la formule est:
Où:
\(\sigma (\varepsilon (u))\) sont les contraintes modales généralisées;
\(M\) est la matrice de masse;
\(\omega\) la pulsation propre;
\(u\) le champ de déplacement généralisé du mode;
\({v}_{K}\) déplacement élémentaire unitaire généralisé.
Cas de la dynamique transitoire linéaire
Pour les concepts résultat de type dyna_trans issus de calculs dynamiques transitoires linéaires (DYNA_VIBRA/TYPE_CALCUL=”TRAN”) ou de type dyna_harmo issus de calculs harmoniques (DYNA_VIBRA/TYPE_CALCUL=”HARM”) l’expression des réactions nodales généralisées s’obtient par:
Où:
\(\sum_{K}{\mathrm{F}}_{K}.{\mathrm{v}}_{K}\) l’expression des forces nodales (option FORC_NODA, voir () et ());
\({v}_{K}\) déplacement élémentaire unitaire généralisé.
\(M\) est la matrice de masse;
\(\ddot{u}\) le champ d’accélération généralisée;
\(L\) le vecteur des forces extérieures généralisées appliquées (équation ()).
Utilisation de GROUP_MA dans FORC_NODA et REAC_NODA
Si le mot clé GROUP_MA est renseigné, \({F}_{K}\) (option FORC_NODA) est calculé uniquement sur les éléments demandés puis assemblé. Le résultat est différent d’un calcul global sur tout le domaine puis réduit aux éléments demandés. La méthode implantée permet de mesurer la réaction d’un morceau de modèle sur un autre.
Attention! L e calcul de “ REAC_NODA “ sur un sous-ensemble du modèle (via le mot clé GROUP_MA ) doit être fait avec prudence. L’exemple 4 ci-dessous illustre ce type de calcul.
Pour les résultats de type dyna_harmo, le “REAC_NODA’se calcule uniquement sur le modèle en entier. Le calcul sur un sous-ensemble du modèle peut être réalisé manuellement en effectuant un calcul de “FORC_NODA’sur le groupe de mailles en question puis en retranchant la force extérieure sur les résultats obtenus.
- Remarques
Les réactions nodales sont nulles en tout point intérieur du modèle et ne sont pas nulles a priori en un point du bord soumis à une condition aux limites cinématique (ou à des efforts de contact);
Le fait de négliger l’apport de l’ amortissement en dynamique peut créer un léger écart par rapport au résultat exact;
Seule la résultante des forces ou des réactions nodales sur un groupe de nœuds a un sens physique (ce groupe doit correspondre à au moins un élément du modèle, par exemple un bord soumis à une condition aux limites). Elle peut être calculée avec POST_RELEVE_T[U4.81.21]. Ponctuellement, le champ FORC_NODA ou REAC_NODA ne doit pas être interprété car la valeur en un nœud est directement liée à la finesse du maillage. De plus le signe de ces forces sur les nœuds d’un même élément peut être contre-intuitif alors qu’il est parfaitement en accord avec la théorie des éléments finis (par exemple sur des mailles QUAD8situées à l’interface d’une zone en compression pure, les signes des forces nodales aux sommets et aux milieux sont opposés);
Le calcul de REAC_NODA tient compte des chargements répartis sur les poutres. Dès lors que vous faites varier ce chargement sur un calcul non-linéaire (changement de EXCIT d’un pas de temps à l’autre), le calcul de REAC_NODA est interdit. Il est nécessaire de diviser son post-traitement en «paquets» de numéros d’ordre, pour lesquels le chargement est constant (c’est-à-dire qu’il utilise le même concept AFFE_CHAR_MECA dans EXCIT).
Certains chargements ne sontpas pris en compte lors du calcul de cette option, il s’agit de: INTE_ELEC, FORCE_SOL et RELA_CINE_BP.
Cas des modélisations HHO
Dans le cas des modélisations HHO, les champs FORC_NODA et REAC_NODA ne sont pas des forces mais des contraintes. De plus, ce champ n’est pas défini aux noeuds et est continu.
Exemple 1 : structure chargée avec force nodale (2 éléments QUAD4)#
Sur cet exemple, les réactions aux nœuds \((2)\) sont bien égales aux forces nodales \((1)\) moins le chargement. Elles représentent les réactions aux appuis de la structure.
Si on restreint le calcul à la maille \(\mathit{M1}\) , les forces \((3)\) aux nœuds appartenant à la frontière entre \(\mathit{M1}\) et \(\mathit{M2}\) sont différentes. Elles représentent la réaction du modèle formé de \(\mathit{M1}\) au modèle formé de \(\mathit{M2}\) . À noter que le chargement nodal est divisé par deux car les deux mailles y contribuent. Les réactions nodales \((4)\) sont encore égales aux forces nodales moins le chargement.
Sur le calcul restreint à la maille \(\mathit{M2}\) , les forces nodales \((5)\) suivant \(\mathit{OX}\) sont de signe contraire au calcul restreint à la maille \(\mathit{M1}\) , illustrant le principe de l’action et la réaction.
Exemple 2 : structure avec chargement de température#
Données:
\(E={1.10}^{9}\text{Pa}\)
\(\nu =0.3\)
\(\alpha ={1.10}^{-6}\)
Résultats:
\({F}_{y}=-{3.410}^{4}N\)
\({F}_{\mathrm{1x}}=7.8{10}^{3}N\)
\({F}_{\mathrm{2x}}=-1.2{10}^{3}N\)
Sur cet exemple, les forces nodales et les réactions nodales coïncident car le seul chargement est un chargement température.
Si on restreint le calcul à la maille \(\mathit{M2}\) , les forces suivant \(\mathit{OY}\) restent les mêmes mais sont différentes suivant \(\mathit{OX}\) .
Exemple 3 : structure sous chargement réparti (poutre)#
On considère une structure de type poutre encastrée et soumise à un chargement de pesanteur sur sa moitié supérieure.
Figure 2.9.4-1: structure sous chargement réparti (gauche), FORC_NODA (droite)
Sur ce type de structure, si l’on restreint le calcul des forces et des réactions nodales à une sous-partie des éléments, FORC_NODA et REAC_NODA ne donneront pas le même résultat sur l’interface entre la partie isolée et le reste de la structure comme le montre la figure (sur la force \({F}_{3}\) ).
Figure 2.9.4-2: isolement d’une partie de la structure
Exemple 4 : calcul des réactions d’appui au pied d’un barrage#
Dans cet exemple, on schématise (très grossièrement!) un barrage en 2D. Le barrage est représenté par un triangle DEF posé sur une fondation représentée par un rectangle ABCG (voir schéma ci-dessous).
On aimerait calculer les réactions d’appui du barrage sur sa fondation.
Les chargements sont:
La pesanteur (qui s’applique au barrage et à sa fondation)
Le chargement de pression du à la retenue d’eau (côté amont) appliqué sur les bords CD et DE.
La fondation est encastrée sur AB.
Sur les illustrations suivantes, on a représenté la norme du champ REAC_NODA lorsqu’on utilise le mot clé GROUP_MA de différentes façons:
Illustration 1: on n’utilise pas GROUP_MA (TOUT=”OUI”)
Illustration 2: GROUP_MA=”BARRAGE”
Illustration 3:GROUP_MA=(“BARRAGE”,”DE”)
Illustration 4:GROUP_MA=(“BARRAGE”,”DE”,”CD”)
Commentaires:
L’illustration 1 montre que quand on n’utilise pas le mot clé GROUP_MA, les réaction d’appui ne sont non-nulles que sur le bord du modèle où l’on impose des déplacements (ici AB).
L’illustration 2 montre que si l’on calcule REAC_NODA sur le seul groupe BARRAGE (formé seulement d’éléments «volumiques») des réactions non nulles apparaissent sur DF (ce que l’on cherche) mais aussi sur DE, ce qui doit nous alerter. La raison de ce comportement est que le chargement de pression sur DE n’a pas été calculé, car les éléments de bord qui calculent ce chargement ne font pas partie du groupe BARRAGE.
L’illustration 3 montre que si l’on calcule REAC_NODA sur les groupes BARRAGE et DE, les réactions sont celles que l’on cherche: elles ne sont non nulles que sur DF. Remarque: l’image semble montrer que des réactions non nulles existent sur une partie de CD et FG, mais c’est une illusion due à la visualisation: les forces nodales en D et F «bavent» sur les éléments adjacents.
L’illustration 4 montre qu’il ne faut pas ajouter trop de groupes de bord (ici CD). On voit que des réactions d’appuis non nulles apparaissent sur CD. Dans ce cas, la réaction sur le point D est fausse.
- Conclusion
Si l’on veut calculer les réactions d’appui du barrage sur sa fondation, il faut demander le calcul de REAC_NODA en précisant exactement toutes les mailles du barrage et toutesles mailles de son bord soumis à un chargement réparti.
Il est vivement conseillé de visualiser les réactions calculées pour vérifier qu’elles ne sont non nulles que sur l’interface entre le barrage et sa fondation.
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.
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.
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.
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.
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).
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.
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),
)
Opérande pour les sous-points#
Opérande SOUS_POINT#
“DEPL_ELGA”
Calcul des déplacements aux sous-points.
Pour visualiser un CHAMP_ELGA sur la structure « déformée », un champ DEPL_ELGA est calculé à partir du champ DEPL (aux nœuds) à l’aide des fonctions de forme de l’élément.
Pour les éléments à sous-points, la connaissance des fonctions de forme ne suffit pas, il faut également connaître la position des sous-points ainsi que les équations cinématiques reliant les déplacements de l’élément support aux déplacements des sous-points. Ces informations sont seulement disponibles via le CARA_ELEM.
Le champ DEPL_ELGA a pour composantes DX, DY, DZ.
“TEMP_ELGA”
Calcul de la température aux sous-points. Cette option permet de connaître la température qui est utilisée lors d’un calcul mécanique dans la loi de comportement.
Pour les éléments à sous-points, il est nécessaire de connaître la position des sous-points. Ces informations sont seulement disponibles via le CARA_ELEM.
Le champ TEMP_ELGA a pour composante TEMP.
Opérande TITRE#
◊ TITRE= titre
Titre que l’on veut donner au résultat de la commande [U4.02.01].
Performance des calculs : parallélisme en espace ou en temps ?#
Par défaut, lorsque le parallélisme MPI est activé [1] (cf. [U2.08.06]), les options de calcul bénéficient généralement ici d’un parallélisme dit «en espace». C’est-à-dire que les calculs sont distribués sur les processus parallèles par paquets de mailles. Un processus MPI va gérer, pour tous les pas de temps, les calculs élémentaires requis par un groupe de mailles donné.
Mais, outre que ce parallélisme est peu efficient pour les options impliquant directement peu ou pas de calculs élémentaires (telles les options REAC/FORC_NODA et xxx_NOEU), il suscite d’autre part des communications MPI importantes et répétées [2].
Pour les options pré-citées, on lui préfère donc le parallélisme dit «en temps» qui, lui, distribue, pour toutes les mailles, les calculs (élémentaires ou non) requis par un paquet de pas de temps. Les communications sont donc moins coûteuses [3] et le parallélisme est étendu à des portions de code au-delà des calculs élémentaires.
Avec ce parallélisme, les accélérations peuvent aller de X5 à X50 suivant la configuration des calculs. L’activation de ce parallélisme est effectué dans un CALC_CHAMP donné [4] et elle concerne toutes les options de calcul susceptibles d’en bénéficier: REAC/FORC_NODA et xxx_NOEU et toutes les options de calculs sous-jacentes [5].
Sur un CALC_CHAMP coûteux, comportant des calculs REAC/FORC_NODA ou xxx_NOEU sur de longs transitoires et/ou sur de gros modèles, on conseille donc d’activer ce parallélisme en temps: PARALLELISME_TEMPS=”OUI”. Et, contrairement à celui en espace, il n’a pas besoin d’une granularité minimum [6] pour être efficace. Dès la dizaine de pas de temps par processus MPI, l’accélération procurée par le parallélisme en temps peut être notable [7] .
Le type de parallélisme actif (en espace, en temps ou aucun) est précisé, option par option, dans le fichier de message. Pour plus de détails on pourra consulter la notice d’utilisation du parallélisme [U2.08.06].
- Remarques sur le parallélisme
Le parallélisme en temps, lorsqu’il est activé dans l’opérateur, concerne tous les traitements informatiques susceptibles d’en bénéficier. Pour ce faire, on «débranche» en sous-main et ponctuellement, option par option, le parallélisme en espace. Celui-ci est ensuite réactivé, «comme si de rien n’était», dans les options suivantes si celles-ci ne sont pas, à leur tour, concernées par le parallélisme en temps. Ainsi l’appel
CALC_CHAMP(EFGE_ELGA, REAC_NODA, ETOT_ELGA, EPSI_NOEU, PARALLELISME_TEMPS='OUI')
activera le parallélisme en espace pour les options n°1 et n°3 et celui en temps pour les autres. Il est équivalent, d’un point de vue parallélisme, à la séquence d’appels:
CALC_CHAMP(EFGE_ELGA, ETOT_ELGA) CALC_CHAMP(REAC_NODA, EPSI_NOEU, PARALLELISME_TEMPS='OUI')
Pour simplifier la programmation [8] et ne pas chercher inutilement des gains mineurs, lorsque le nombre de pas de temps n’est pas un multiple du nombre de processus MPI, le reliquat de pas temps est effectué par tous les processus. Et bien sûr, aucune communication n’est organisée entre ceux-ci.
Dans certaines situations, le parallélisme en temps ne fonctionne pas. Suivant les cas, le calcul s’arrête ou émet une alarme: option non encore couverte (CHAM_UTIL), contexte de calcul variant au cours du transitoire (MODELE…), calcul impossible en séquentiel, pas assez de pas de temps…