u4.41.01 Opérateur AFFE_MODELE#
Syntaxe#
Détail de la syntaxe
modele = AFFE_MODELE(
◆ MAILLAGE = maillage,
◇ INFO = / 1 (par défaut),
/ 2,
◇ GRANDEUR_CARA = _F(
◇ LONGUEUR = float,
◇ PRESSION = float,
◇ TEMPERATURE = float,
),
◆ | AFFE_SOUS_STRUC = _F(
◆ / TOUT = "OUI" (ou non renseigné),
/ SUPER_MAILLE = list[ma],
◇ PHENOMENE = "MECANIQUE",
),
| AFFE = _F(
◆ / TOUT = "OUI" (ou non renseigné),
/ GROUP_MA = list[grma],
◆ PHENOMENE = / "ACOUSTIQUE",
/ "MECANIQUE",
/ "THERMIQUE",
# Si: equal_to("PHENOMENE", 'MECANIQUE')
◆ MODELISATION = / "2D_BARRE",
/ "2D_DIS_T",
/ "2D_DIS_TR",
/ "2D_FLUIDE",
/ "2D_FLUI_ABSO",
/ "2D_FLUI_PESA",
/ "2D_FLUI_STRU",
/ "3D",
/ "3D_ABSO",
/ "3D_DIL",
/ "3D_FAISCEAU",
/ "3D_FLUIDE",
/ "3D_FLUI_ABSO",
/ "3D_GRAD_HHO",
/ "3D_GRAD_INCO",
/ "3D_GRAD_VARI",
/ "3D_GVNO",
/ "3D_HH2D",
/ "3D_HH2MD",
/ "3D_HH2MS",
/ "3D_HH2MS_DIL",
/ "3D_HH2M_SI",
/ "3D_HH2S",
/ "3D_HH2SUDA",
/ "3D_HHD",
/ "3D_HHM",
/ "3D_HHMD",
/ "3D_HHMS",
/ "3D_HHO",
/ "3D_HHS",
/ "3D_HM",
/ "3D_HMD",
/ "3D_HMS",
/ "3D_HMS_DIL",
/ "3D_HM_SI",
/ "3D_HM_SI_DIL",
/ "3D_HS",
/ "3D_INCO_UP",
/ "3D_INCO_UPG",
/ "3D_INCO_UPO",
/ "3D_INTERFACE",
/ "3D_INTERFACE_S",
/ "3D_JOINT",
/ "3D_JOINT_HYME",
/ "3D_MIX_STA",
/ "3D_SI",
/ "3D_THH2D",
/ "3D_THH2MD",
/ "3D_THH2MS",
/ "3D_THH2S",
/ "3D_THHD",
/ "3D_THHM",
/ "3D_THHMD",
/ "3D_THHMS",
/ "3D_THHS",
/ "3D_THM",
/ "3D_THMD",
/ "3D_THMS",
/ "3D_THMS_DIL",
/ "3D_THVD",
/ "3D_THVS",
/ "AXIS",
/ "AXIS_FLUIDE",
/ "AXIS_FLUI_ABSO",
/ "AXIS_FLUI_STRU",
/ "AXIS_FOURIER",
/ "AXIS_GRAD_HHO",
/ "AXIS_GRAD_INCO",
/ "AXIS_GRAD_VARI",
/ "AXIS_GVNO",
/ "AXIS_HH2D",
/ "AXIS_HH2MD",
/ "AXIS_HH2MS",
/ "AXIS_HH2S",
/ "AXIS_HHD",
/ "AXIS_HHM",
/ "AXIS_HHMD",
/ "AXIS_HHMS",
/ "AXIS_HHO",
/ "AXIS_HHS",
/ "AXIS_HM",
/ "AXIS_HMD",
/ "AXIS_HMS",
/ "AXIS_INCO_UP",
/ "AXIS_INCO_UPG",
/ "AXIS_INCO_UPO",
/ "AXIS_INTERFACE",
/ "AXIS_INTERFACE_S",
/ "AXIS_JHMS",
/ "AXIS_JOINT",
/ "AXIS_SI",
/ "AXIS_THH2D",
/ "AXIS_THH2MD",
/ "AXIS_THH2MS",
/ "AXIS_THH2S",
/ "AXIS_THHD",
/ "AXIS_THHMD",
/ "AXIS_THHMS",
/ "AXIS_THHS",
/ "AXIS_THM",
/ "AXIS_THMD",
/ "AXIS_THMS",
/ "AXIS_THVD",
/ "AXIS_THVS",
/ "BARRE",
/ "CABLE",
/ "CABLE_GAINE",
/ "CABLE_POULIE",
/ "COQUE_3D",
/ "COQUE_AXIS",
/ "COQUE_SOLIDE",
/ "C_PLAN",
/ "C_PLAN_SI",
/ "DIS_T",
/ "DIS_TR",
/ "DKT",
/ "DKTG",
/ "DST",
/ "D_PLAN",
/ "D_PLAN_2DG",
/ "D_PLAN_ABSO",
/ "D_PLAN_DIL",
/ "D_PLAN_GRAD_HHO",
/ "D_PLAN_GRAD_INCO",
/ "D_PLAN_GRAD_SIGM",
/ "D_PLAN_GRAD_VARI",
/ "D_PLAN_GVNO",
/ "D_PLAN_HH2D",
/ "D_PLAN_HH2MD",
/ "D_PLAN_HH2MS",
/ "D_PLAN_HH2MS_DIL",
/ "D_PLAN_HH2M_SI",
/ "D_PLAN_HH2S",
/ "D_PLAN_HH2SUDA",
/ "D_PLAN_HHD",
/ "D_PLAN_HHM",
/ "D_PLAN_HHMD",
/ "D_PLAN_HHMS",
/ "D_PLAN_HHO",
/ "D_PLAN_HHS",
/ "D_PLAN_HM",
/ "D_PLAN_HMD",
/ "D_PLAN_HMS",
/ "D_PLAN_HMS_DIL",
/ "D_PLAN_HM_SI",
/ "D_PLAN_HM_SI_DIL",
/ "D_PLAN_HS",
/ "D_PLAN_INCO_UP",
/ "D_PLAN_INCO_UPG",
/ "D_PLAN_INCO_UPO",
/ "D_PLAN_MIX_STA",
/ "D_PLAN_SI",
/ "D_PLAN_THH2D",
/ "D_PLAN_THH2MD",
/ "D_PLAN_THH2MS",
/ "D_PLAN_THH2S",
/ "D_PLAN_THHD",
/ "D_PLAN_THHMD",
/ "D_PLAN_THHMS",
/ "D_PLAN_THHS",
/ "D_PLAN_THM",
/ "D_PLAN_THMD",
/ "D_PLAN_THMS",
/ "D_PLAN_THMS_DIL",
/ "D_PLAN_THVD",
/ "D_PLAN_THVS",
/ "FLUI_STRU",
/ "GRILLE_EXCENTRE",
/ "GRILLE_MEMBRANE",
/ "MEMBRANE",
/ "PLAN_INTERFACE",
/ "PLAN_INTERFACE_S",
/ "PLAN_JHMS",
/ "PLAN_JOINT",
/ "PLAN_JOINT_HYME",
/ "PLAQ_MITC",
/ "POU_D_E",
/ "POU_D_EM",
/ "POU_D_SQUE",
/ "POU_D_T",
/ "POU_D_TG",
/ "POU_D_TGM",
/ "POU_D_T_GD",
/ "POU_FLUI_STRU",
/ "Q4G",
/ "Q4GG",
/ "TUYAU_3M",
/ "TUYAU_6M",
# Si: equal_to('MODELISATION', ('3D_HHO', 'D_PLAN_HHO', 'AXIS_HHO' ))
◇ FORMULATION = / "CUBIQUE",
/ "LINEAIRE" (par défaut),
/ "QUADRATIQUE",
/ "QUARTIQUE",
# Si: equal_to('MODELISATION', ("D_PLAN_GRAD_HHO", "3D_GRAD_HHO", "AXIS_GRAD_HHO" ))
◇ FORMULATION = / "LINEAIRE" (par défaut),
/ "QUADRATIQUE",
# Si: equal_to('MODELISATION', ('2D_FLUIDE', '2D_FLUI_ABSO', '2D_FLUI_PESA', '2D_FLUI_STRU','3D_FLUIDE','3D_FLUI_ABSO', 'AXIS_FLUIDE', 'AXIS_FLUI_STRU', 'AXIS_FLUI_ABSO', 'FLUI_STRU'))
◇ FORMULATION = / "U_P",
/ "U_PSI",
/ "U_P_PHI" (par défaut),
# Si: equal_to('MODELISATION', ('D_PLAN_DIL', '3D_DIL', ))
◇ FORMULATION = / "DIL" (par défaut),
/ "DIL_INCO",
# Si: equal_to('MODELISATION', ('D_PLAN_MIX_STA', '3D_MIX_STA', ))
◇ FORMULATION = / "STA" (par défaut),
/ "STA_INCO",
# Si: equal_to("PHENOMENE", 'THERMIQUE')
◆ MODELISATION = / "3D",
/ "3D_DIAG",
/ "3D_HHO",
/ "3D_SECH",
/ "3D_SECH_DIAG",
/ "AXIS",
/ "AXIS_DIAG",
/ "AXIS_FOURIER",
/ "AXIS_HHO",
/ "AXIS_SECH",
/ "AXIS_SECH_DIAG",
/ "COQUE",
/ "COQUE_AXIS",
/ "COQUE_PLAN",
/ "PLAN",
/ "PLAN_DIAG",
/ "PLAN_HHO",
# Si: equal_to('MODELISATION', ('3D_HHO', 'PLAN_HHO', 'AXIS_HHO'))
◇ FORMULATION = / "CONSTANTE",
/ "CUBIQUE",
/ "LINEAIRE" (par défaut),
/ "QUADRATIQUE",
/ "QUARTIQUE",
# Si: equal_to("PHENOMENE", 'ACOUSTIQUE')
◆ MODELISATION = / "3D",
/ "3D_ABSO",
/ "PLAN",
/ "PLAN_ABSO",
),
⟐ DISTRIBUTION = _F(
◇ METHODE = / "CENTRALISE",
/ "GROUP_ELEM",
/ "MAIL_CONTIGU",
/ "MAIL_DISPERSE",
/ "SOUS_DOMAINE" (par défaut),
# Si: is_in("METHODE", ('MAIL_DISPERSE','MAIL_CONTIGU'))
◇ CHARGE_PROC0_MA = int (défaut: 100),
# Si: equal_to("METHODE",'SOUS_DOMAINE' )
◇ NB_SOUS_DOMAINE = int,
◇ PARTITIONNEUR = / "METIS" (par défaut),
/ "SCOTCH",
),
◇ VERI_JACOBIEN = / "NON",
/ "OUI" (par défaut),
◇ VERI_NORM_IFS = / "NON",
/ "OUI" (par défaut),
◇ VERI_FORMULATION_IFS = / "NON",
/ "OUI" (par défaut),
◇ VERI_PLAN = / "NON",
/ "OUI" (par défaut),
)
◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles
Opérandes#
Choix du maillage#
Le mot-clef MAILLAGE donne le maillage associé à l’étude sur lequel on affecte les éléments finis.
- Remarque
Pour les modélisations axisymétriques, l’axe de révolution est l’axe \(Y\) du maillage. Toute la structure doit être maillée en \(X\ge 0\). L’axe \({Ox}\) désigne donc la direction radiale. Les composantes des champs calculés seront donc: \(X\) pour la direction radiale, \(Y\) pour la direction axiale et \(Z\) pour la direction orthoradiale (circonférentielle).
Affectation des éléments finis#
Le mot-clé AFFE définit les types d’éléments finis qui seront affectés sur les entités du maillage choisies. Pour chaque occurrence, on spécifie une modélisation.
- Remarque
On rappelle qu’on applique la règle de surcharge (voir [u1.03.00 Les grands principes de fonctionnement de Code_Aster]):
les affectations se font en superposant les effets des différents mots-clés
en cas de conflit, le dernier mot-clé renseigné l’emporte sur les précédents.
Les entités du maillage sont précisées par le mot-clé TOUT = 'OUI' qui affecte la totalité
des mailles du maillage et GROUP_MA = g_mail qui affecte une liste de groupes de mailles.
Le type d’élément fini est précisé par les mot-clefs suivants:
PHENOMENE: phénomène physique modélisé (équation de conservation associée)MODELISATION: type d’interpolation et de discrétisationFORMULATION: type de formulation dans certains cas
Les deux premiers mots-clés PHENOMENE et MODELISATION sont obligatoires pour chaque occurrence du mot clé facteur AFFE. Ce couple de mots-clés définit de façon bijective le type d’élément affecté à un type de maille.
Dans certains cas, il peut être nécessaire de préciser la FORMULATION employée:
Pour la discrétisation de type HHO (
3D_HHO,AXIS_HHOouD_PLAN_HHO), on peut préciser si c’est une approche constante (CONSTANTE), linéaire (LINEAIRE), quadratique (QUADRATIQUE), cubique (CUBIQUE) ou quartique (QUARTIQUE), voir la documentation [R3.06.14]. Il peut exister des limitations en fonction de la physique. Par exemple, l’approche constante n’est disponible qu’en thermique;Pour les discrétisations en fluide ou en interaction fluide-structure, on peut préciser si c’est une formulation à trois variables \((U,P,\varphi )\) à deux variables \((U,P)\) ou \((U,\psi )\), voir la documentation [R4.02.02].
Pour les modélisations de second gradient en mécanique, on peut préciser si c’est la formulation historique du modèle de second gradient qui doit être utilisée (
DIL) ou la formulation incompressible (DIL_INCO).Pour les modélisations mixtes stabilisées, on peut préciser si c’est la formulation standard du modèle qui doit être utilisée (
STA) ou la formulation incompressible (STA_INCO).
- Remarques
le mot-clef
PHENOMENEdoit avoir la même valeur pour toutes les occurrences du mot-clef facteurAFFE.en affectant les éléments finis sur les mailles de volume (et/ou de surface) du groupe de mailles
g_mail, si ce groupe de mailles contient aussi les mailles de bords (et/ou d’arêtes) des mailles de volume (et/ou de surface), alors on affecte aussi automatiquement sur ces dernières les éléments finis nécessaires à certaines options de calcul (affectation de chargements extérieurs par exemple). Si on a besoin d’affecter sur ces interfaces des modélisations supplémentaires, il convient alors de prévoir dans le maillage des mailles dédoublées: c’est par exemple le cas en interaction fluide-structure.
Liste des modélisations disponibles#
Les modélisations possibles sont indiquées ci-dessous en les listant par «paquets» :
ACOUSTIQUE#
- ACOUSTIQUE 2D des milieux continus
- ACOUSTIQUE 3D des milieux continus
THERMIQUE#
- THERMIQUE 2D coque
COQUE_AXIS : [r3.11.01 Formulation d’un modèle de thermique pour les coques minces]
COQUE_PLAN : [r3.11.01 Formulation d’un modèle de thermique pour les coques minces]
- THERMIQUE 2D milieux continus
AXIS_DIAG : [r3.06.07 Diagonalisation de la matrice de masse thermique]
AXIS_FOURIER
AXIS : [r3.06.02 Modélisation linéaire des éléments de milieu continu en thermique]
PLAN_DIAG : [r3.06.07 Diagonalisation de la matrice de masse thermique]
PLAN : [r3.06.02 Modélisation linéaire des éléments de milieu continu en thermique]
PLAN_HHO : [r3.06.14 Introduction aux méthodes Hybrid High-Order (HHO)]
AXIS_HHO : [r3.06.14 Introduction aux méthodes Hybrid High-Order (HHO)]
- THERMIQUE coque
COQUE : [r3.11.01 Formulation d’un modèle de thermique pour les coques minces]
- THERMIQUE 3D milieux continus
3D_DIAG : [r3.06.07 Diagonalisation de la matrice de masse thermique]
3D : [r3.06.02 Modélisation linéaire des éléments de milieu continu en thermique]
3D_HHO : [r3.06.14 Introduction aux méthodes Hybrid High-Order (HHO)]
MECANIQUE (2D)#
- MECANIQUE 2D éléments discrets
2D_DIS_TR
2D_DIS_T
- MECANIQUE 2D fluide-structure vibroacoustique
2D_FLUIDE : [r4.02.02 Éléments pour le couplage interaction fluide-structure linéaire avec fluide inerte]
2D_FLUI_ABSO : [r4.02.05 Éléments de frontière absorbante]
2D_FLUI_PESA : [r4.02.04 Couplage Fluide - Structure avec surface Libre]
2D_FLUI_STRU : [r4.02.02 Éléments pour le couplage interaction fluide-structure linéaire avec fluide inerte]
AXIS_FLUIDE : [r4.02.02 Éléments pour le couplage interaction fluide-structure linéaire avec fluide inerte]
AXIS_FLUI_ABSO : [r4.02.05 Éléments de frontière absorbante]
AXIS_FLUI_STRU : [r4.02.02 Éléments pour le couplage interaction fluide-structure linéaire avec fluide inerte]
D_PLAN_ABSO : [r4.02.05 Éléments de frontière absorbante]
- MECANIQUE 2D milieux continus
AXIS : [r3.01.01 Fonctions de forme et points d’intégration des éléments finis]
AXIS_FOURIER
AXIS_SI : [r3.06.10 Élément quadrangulaire à un point d’intégration, stabilisé par la méthode « Assumed Strain »]
C_PLAN_SI : [r3.06.10 Élément quadrangulaire à un point d’intégration, stabilisé par la méthode « Assumed Strain »]
C_PLAN : [r3.01.01 Fonctions de forme et points d’intégration des éléments finis]
D_PLAN_SI : [r3.06.10 Élément quadrangulaire à un point d’intégration, stabilisé par la méthode « Assumed Strain »]
D_PLAN : [r3.01.01 Fonctions de forme et points d’intégration des éléments finis]
D_PLAN_HHO: [r3.06.14 Introduction aux méthodes Hybrid High-Order (HHO)]
D_PLAN_MIX_STA: [r3.06.15 Éléments finis mixtes stabilisés]
- MECANIQUE 2D quasi incompressible: [r3.06.08 Éléments finis traitant la quasi-incompressibilité]
AXIS_INCO_UP
D_PLAN_INCO_UP
AXIS_INCO_UPG
D_PLAN_INCO_UPG
- MECANIQUE 2D non local
D_PLAN_GRAD_VARI
D_PLAN_GVNO : [r5.04.04 Modélisation non locale à gradients d’endommagement nodal GVNO]
AXIS_GVNO : [r5.04.04 Modélisation non locale à gradients d’endommagement nodal GVNO]
D_PLAN_GRAD_SIGM : [r5.03.24 Modèle de grandes déformations GDEF_LOG]
D_PLAN_DIL : [r5.04.03 Modélisations second gradient]
D_PLAN_GRAD_HHO: [r3.06.14 Introduction aux méthodes Hybrid High-Order (HHO)]
- MECANIQUE 2D plaques et coques
COQUE_AXIS : [r3.07.02 Modélisation numérique des structures minces : coques thermo-élasto-plastiques axisymétriques]
- MECANIQUE 2D éléments joints pour la propagation de fissure
PLAN_JOINT : [r3.06.09 Éléments finis de joint mécaniques et éléments finis de joint couplés hydromécanique]
AXIS_JOINT : [r3.06.09 Éléments finis de joint mécaniques et éléments finis de joint couplés hydromécanique]
PLAN_JOINT_HYME : [r3.06.09 Éléments finis de joint mécaniques et éléments finis de joint couplés hydromécanique]
PLAN_INTERFACE : [r3.06.13 Eléments finis d’interface mixte pour des modèles de zone cohésive (xxx_INTERFACE et xxx_INTERFACE_S)]
PLAN_INTERFACE_S : [r3.06.13 Eléments finis d’interface mixte pour des modèles de zone cohésive (xxx_INTERFACE et xxx_INTERFACE_S)]
AXIS_INTERFACE : [r3.06.13 Eléments finis d’interface mixte pour des modèles de zone cohésive (xxx_INTERFACE et xxx_INTERFACE_S)]
AXIS_INTERFACE_S : [r3.06.13 Eléments finis d’interface mixte pour des modèles de zone cohésive (xxx_INTERFACE et xxx_INTERFACE_S)]
- MECANIQUE 2D thermo-hydro-mécanique: [r7.01.10 Modélisations THHM. Généralités et algorithmes]
AXIS_HH2MD
AXIS_HH2MS
AXIS_HHMD
AXIS_HHMS
AXIS_HHM
AXIS_HMD
AXIS_HMS
AXIS_HM
AXIS_THH2D
AXIS_THH2S
AXIS_THH2MD
AXIS_THH2MS
AXIS_THHD
AXIS_THHS
AXIS_THHMD
AXIS_THHMS
AXIS_THMD
AXIS_THMS
AXIS_THM
AXIS_HHD
AXIS_HHS
AXIS_HH2D
AXIS_HH2S
D_PLAN_HH2MD
D_PLAN_HH2MS
D_PLAN_HHMD
D_PLAN_HHMS
D_PLAN_HHM
D_PLAN_HMD
D_PLAN_HMS
D_PLAN_HM
D_PLAN_THH2D
D_PLAN_THH2S
D_PLAN_THH2MD
D_PLAN_THH2MS
D_PLAN_THHD
D_PLAN_THHS
D_PLAN_THHMD
D_PLAN_THHMS
D_PLAN_THMD
D_PLAN_THMS
D_PLAN_THM
D_PLAN_HHD
D_PLAN_HHS
D_PLAN_HS
D_PLAN_HH2D
D_PLAN_HH2S
D_PLAN_HMS_DIL: [r7.01.10 Modélisations THHM. Généralités et algorithmes] et [r5.04.03 Modélisations second gradient]
D_PLAN_HM_SI_DIL: [r7.01.10 Modélisations THHM. Généralités et algorithmes] et [r5.04.03 Modélisations second gradient]
D_PLAN_THMS_DIL: [r7.01.10 Modélisations THHM. Généralités et algorithmes] et [r5.04.03 Modélisations second gradient]
D_PLAN_HH2MS_DIL: [r7.01.10 Modélisations THHM. Généralités et algorithmes] et [r5.04.03 Modélisations second gradient]
- MECANIQUE 2D hydraulique non saturé en volumes finis
D_PLAN_HH2SUDA: [r7.01.34 Schémas volumes finis SUSHI pour la modélisation des écoulements insaturés miscibles]
- MECANIQUE 2D éléments joints avec couplage hydromécanique
AXIS_JHMS
PLAN_JHMS
Pour les maillages 2D, permet de renseigner les groupes de mailles ou les mailles susceptibles d’être coupées par la fissure lorsque le contact est défini sur les lèvres de la fissure. Sont permis les types de mailles suivants: les QUAD8 et TRIA6 et les mailles de bord de ces éléments, soient les SEG3. Si les mailles sont linéaires, il faut au préalable les transformer en mailles quadratiques (avec LINE_QUAD de la commande [CREA_MAILLAGE]).
MECANIQUE (3D)#
- MECANIQUE 3D barres et câbles
2D_BARRE: [r3.08.01 Éléments “exacts” de poutres]
BARRE: [r3.08.01 Éléments “exacts” de poutres]
CABLE_POULIE: [r3.08.02 Modélisation des câbles]
CABLE: [r3.08.02 Modélisation des câbles]
CABLE_GAINE: [r3.08.10 Élément CABLE_GAINE]
- MECANIQUE 3D éléments discrets
DIS_TR
DIS_T
- MECANIQUE 3D fluide-structure
3D_FAISCEAU: [r4.07.05 Homogénéisation d’un réseau de poutres baignant dans un fluide]
3D_FLUIDE: [r4.02.02 Éléments pour le couplage interaction fluide-structure linéaire avec fluide inerte]
- MECANIQUE 3D frontière absorbante
3D_ABSO: [r4.02.05 Éléments de frontière absorbante]
3D_FLUI_ABSO: [r4.02.05 Éléments de frontière absorbante]
- MECANIQUE 3D grilles d’armatures de béton
GRILLE_MEMBRANE: [r3.08.07 Éléments MEMBRANE et GRILLE_MEMBRANE]
GRILLE_EXCENTRE: [r3.08.07 Éléments MEMBRANE et GRILLE_MEMBRANE]
- MECANIQUE 3D milieux continus
-
3D: [r3.01.01 Fonctions de forme et points d’intégration des éléments finis]
3D_HHO: [r3.06.14 Introduction aux méthodes Hybrid High-Order (HHO)]
3D_MIX_STA: [r3.06.15 Éléments finis mixtes stabilisés]
- MECANIQUE 3D non local
3D_GRAD_VARI
3D_GVNO: [:ref:` R5.04.04`]
3D_DIL: [r5.04.03 Modélisations second gradient]
3D_GRAD_HHO: [r3.06.14 Introduction aux méthodes Hybrid High-Order (HHO)]
- MECANIQUE 3D plaques, coques et membranes
COQUE_3D: [r3.07.04 Éléments finis de coques volumiques]
DKT : [r3.07.03 Éléments de plaque : modélisations DKT, DST, DKTG et Q4G]
DST : [r3.07.03 Éléments de plaque : modélisations DKT, DST, DKTG et Q4G]
Q4G : [r3.07.03 Éléments de plaque : modélisations DKT, DST, DKTG et Q4G]
DKTG : [r3.07.03 Éléments de plaque : modélisations DKT, DST, DKTG et Q4G]
Q4GG: [r3.07.09 Éléments de plaque : Modélisation Q4GG]
MEMBRANE: [r3.08.07 Éléments MEMBRANE et GRILLE_MEMBRANE]
COQUE_SOLIDE: [r3.07.10 Éléments finis mixtes hybrides via FENICSx – PLAQ_MITC] (élément hors AQ)
PLAQ_MITC: [R3.07.11] (élément hors AQ)
- MECANIQUE fluide fluide-structure
FLUIDE
FLUI_STRU
- MECANIQUE 3D poutres
POU_FLUI_STRU
POU_D_E: [r3.08.01 Éléments “exacts” de poutres]
POU_D_EM: [r3.08.08 Élément de poutre multi-fibres (droite) POU_D_EM]
POU_D_SQUE: [r3.08.08 Élément de poutre multi-fibres (droite) POU_D_EM]
POU_D_T: [r3.08.01 Éléments “exacts” de poutres]
POU_D_TGM
POU_D_TG
POU_D_T_GD
- MECANIQUE 3D quasi incompressible: [r3.06.08 Éléments finis traitant la quasi-incompressibilité]
3D_INCO_UP
3D_INCO_UPG
3D_INCO_UPO
- MECANIQUE 3D thermo-hydro-mécanique
3D_HHMD
3D_HHM
3D_HMD
3D_HM
3D_THHD
3D_THHMD
3D_THHM
3D_THMD
3D_THM
3D_THVD
3D_THH2MD
3D_THH2M
3D_HH2MD
3D_HH2MS
3D_THH2S
3D_THH2D
3D_HHD
3D_HHS
3D_HS
3D_HH2D
3D_HH2S
3D_HMS_DIL: [r5.04.03 Modélisations second gradient]
3D_HM_SI_DIL: [r5.04.03 Modélisations second gradient]
3D_THMS_DIL: [r5.04.03 Modélisations second gradient]
3D_HH2MS_DIL: [r5.04.03 Modélisations second gradient]
- MECANIQUE 3D hydraulique non saturé en volumes finis
3D_HH2SUDA: [r7.01.34 Schémas volumes finis SUSHI pour la modélisation des écoulements insaturés miscibles]
- MECANIQUE 3D tuyaux
- MECANIQUE 3D éléments joints pour la propagation de fissure
Pour les maillages 3D, permet de renseigner les groupes de mailles ou les mailles susceptibles d’être coupées par la fissure lorsque le contact est défini sur les lèvres de la fissure. Sont permis les types de mailles suivants:
HEXA20,PENTA15,TETRA10, et les mailles de bord de ces éléments, soient lesQUAD8etTRIA6. Si les mailles sont linéaires, il faut au préalable les transformer en mailles quadratiques (avecLINE_QUADde la commande [CREA_MAILLAGE]).3D_JOINT: [r3.06.09 Éléments finis de joint mécaniques et éléments finis de joint couplés hydromécanique]
3D_JOINT_HYME: [r3.06.09 Éléments finis de joint mécaniques et éléments finis de joint couplés hydromécanique]
3D_INTERFACE: [r3.06.13 Eléments finis d’interface mixte pour des modèles de zone cohésive (xxx_INTERFACE et xxx_INTERFACE_S)]
3D_INTERFACE_S: [r3.06.13 Eléments finis d’interface mixte pour des modèles de zone cohésive (xxx_INTERFACE et xxx_INTERFACE_S)]
Affectation des macro-éléments#
Le mot-clé AFFE_SOUS_STRUC est utilisable uniquement pour un modèle utilisant des sous-structures (ou macro-éléments ou super-éléments) statiques.
SUPER_MAILLE est la liste des super-mailles que l’on veut affecter dans le modèle. Comme pour les éléments finis, il n’est pas obligatoire d’affecter toutes les mailles du maillage. C’est AFFE_MODELE qui confirme quelles sont les sous-structures qui seront utilisées dans le modèle. La différence avec les éléments finis classiques est que sur les super-mailles, on ne choisit ni la MODELISATION ni le PHENOMENE car le macro-élément (construit par l’opérateur [MACR_ELEM_STAT]) qui sera affecté sur la super-maille possède sa propre modélisation et son propre phénomène (ceux qui ont servi à le calculer).
Attention ! Votre modèle doit contenir au moins un élément fini (mot-clé AFFE) quand vous utilisez des sous-structures statiques définies à partir d’un maillage physique (lu par [LIRE_MAILLAGE]) car il n’est pas possible de n’avoir que des macro-éléments dans ce cas.
Si TOUT = 'OUI', toutes les (super) mailles sont affectées.
Vérifications#
Le mot-clé VERI_JACOBIEN sert à vérifier que les mailles du modèle ne sont pas trop distordues. On calcule le jacobien de la transformation géométrique qui transforme l’élément de référence en chaque maille réelle du modèle. Si sur les différents points d’intégration d’une maille, le jacobien change de signe, c’est que cette maille est très «mal fichue». Une alarme est alors émise.
Le mot-clé VERI_NORM_IFS sert à vérifier que toutes les normales sur les interfaces fluide-structure (modélisation de type FLUI_STRU) sont bien orientées dans le même sens. Si ce n’est pas le cas, une alarme est émise et l’utilisateur est invité à réorienter ces normales soit dans son maillage directement, soit via la commande [MODI_MAILLAGE].
Le mot-clé VERI_PLAN sert à vérifier que les mailles de type QUAD4 utilisées dans les formulations de plaque (DKT, DST, etc.) sont bien planes.
On construit un plan sur les trois premiers noeuds de l’élément, puis on calcule la distance du quatrième point par rapport à ce plan.
Si la distance est supérieure à \(1,0 \times 10^{-4}\), alors l’alarme est émise avec la liste des mailles concernées.
Le mot-clé VERI_FORMULATION_IFS sert à vérifier qu’on utilise la même FORMULATION pour les mailles de fluide et FLUI_STRU. Néanmoins, on peut lever cette vérification dans certaines situations. Typiquement, si les mailles affectées par le fluide (ou l’interface) ne sont pas connectées entre elles (par leur noeuds), on peut affecter des formulations différentes.
Mot-clé facteur GRANDEUR_CARA#
Le mot-clé facteur GRANDEUR_CARA sert à définir quelques grandeurs physiques caractéristiques du problème traité. Ces grandeurs sont utilisées actuellement pour «a-dimensionner» certains termes des estimateurs d’erreur en HM. Voir [r4.10.05 Indicateur d’erreur en résidu pour les modélisations HM].
Distribution des mailles#
Principes#
Le mot-clé facteur DISTRIBUTION permet de répartir les éléments finis du modèle pour le parallélisme des calculs élémentaires, des assemblages et de certains solveurs linéaires, voir [Notice d’utilisation du parallélisme].
Il définit comment seront distribués (ou non) les mailles/éléments pour les phases parallélisées. L’utilisateur a donc la possibilité de piloter cette distribution entre les processeurs.
Le parallélisme opère:
sur les calculs élémentaires et sur les assemblages de matrices et vecteurs (c’est ce que le mot-clé facteur
DISTRIBUTIONpermet de contrôler),à la résolution du système linéaire si le solveur est parallélisé ([Mot-clé SOLVEUR]).
- Remarque
Dans le cas du mode de parallélisme (maillage parallèle de type
maillage_p), le mode de distribution est obligatoirementCENTRALISEcar le maillage a déjà été distribué et il n’est pas possible de redistribuer à nouveau les calculs. Si un autre mode de distribution est choisi pour ce mode de parallélisme, il sera automatiquement basculé en modeCENTRALISEsans en avertir l’utilisateur.
Il est possible de modifier le mode de distribution au cours de son étude. Il suffit d’utiliser la commande [MODI_MODELE].
Il peut être pratique de poursuivre un calcul parallèle avec un nombre de processeurs différents de celui utilisé pour le calcul initial. En particulier, on peut vouloir réaliser certains post-traitements en séquentiel. Il est recommandé d’utiliser la commande
[MODI_MODELE] pour définir la distribution à utiliser en poursuite. Plus précisément, lorsque le calcul initial a utilisé le parallélisme par groupes d’éléments (GROUP_ELEM ou SOUS_DOMAINE), la commande [MODI_MODELE] est inutile.
En revanche, lorsque le calcul initial a utilisé le parallélisme « par éléments » (MAIL_CONTIGU ou MAIL_DISPERSE), la commande [MODI_MODELE] est obligatoire. Si on l’oublie, on est arrêté lors du calcul par un message d’erreur.
Choix de la méthode#
Il existe différents modes de distribution des mailles, contrôlés par le mot-clé METHODE.
Quand on choisit la méthode METHODE='CENTRALISE', le parallélisme ne commence qu’au niveau du solveur linéaire. Chaque processeur construit et fournit au solveur l’intégralité du système à résoudre. Les calculs élémentaires ne sont pas parallélisés. C’est la méthode de distribution obligatoire dans le cas d’un maillage parallèle de type maillage_p.
La méthode de distribution METHODE='GROUP_ELEM' permet un équilibrage de charge parfait (en terme de nombres de calculs élémentaires) a priori , c’est-à-dire que chaque processeur effectuera, pour un type d’élément donné, le même nombre de calculs élémentaires (à un près). Bien évidemment cela ne préjuge en rien de l’équilibrage de charge final en particulier dans les calculs non-linéaires où le coût d’un calcul élémentaire dépend d’autres paramètres que le type d’élément.
Dans ce mode, les éléments du modèle sont regroupés par «groupe» afin de mutualiser certains calculs ce qui permet de gagner en efficacité. Le nombre d’éléments par groupe peut être choisi dans la commande [DEBUT].
Par ailleurs, il s’agit du seul mode en mesure de répartir les calculs élémentaires induits par les éléments tardifs, c’est-à-dire par les chargements tels que les conditions aux limites dualisées ou le contact.
La distribution par METHODE='MAIL_DISPERSE' s’opère sur les mailles. Elles sont réparties équitablement sur les différents processeurs disponibles. Les mailles sont réparties sur les différents processeurs comme on le fait quand on distribue des cartes à plusieurs joueurs. On parle aussi de distribution «cyclique».
Par exemple, avec un modèle comportant 8 mailles, effectué sur 4 processeurs, on obtient la répartition suivante:
Mode de distribution |
Maille 1 |
Maille 2 |
Maille 3 |
Maille 4 |
Maille 5 |
Maille 6 |
Maille 7 |
Maille 8 |
MAIL_DISPERSE |
Proc. 0 |
Proc. 1 |
Proc. 2 |
Proc. 3 |
Proc. 0 |
Proc. 1 |
Proc. 2 |
Proc. 3 |
On voit qu’avec ce mode de distribution, un processeur traitera des mailles régulièrement espacées dans l’ordre des mailles du maillage. L’avantage de cette répartition est que «statistiquement», : chaque processeur traitera autant d’hexaèdres, de pentaèdres, …, et de triangles.
La charge de travail pour les calculs élémentaires sera en général bien répartie. En revanche, la matrice assemblée sur un processeur sera très «dispersée», à l’inverse de ce qui se passe pour le mode MAIL_CONTIGU suivant.
La distribution par METHODE='MAIL_CONTIGU' s’opère sur les mailles. Elles sont réparties en paquets de mailles contiguës sur les différents processeurs disponibles.
Par exemple, avec un modèle comportant 8 mailles, une machine de 4 processeurs disponibles, on obtient la répartition suivante:
Mode de distribution |
Maille 1 |
Maille 2 |
Maille 3 |
Maille 4 |
Maille 5 |
Maille 6 |
Maille 7 |
Maille 8 |
MAIL_CONTIGU |
Proc. 0 |
Proc. 0 |
Proc. 1 |
Proc. 1 |
Proc. 2 |
Proc. 2 |
Proc. 3 |
Proc. 3 |
Contrôle de la charge#
Pour les modes de distribution par éléments, la charge de travail pour les calculs élémentaires peut être moins équilibrée. Par exemple, un processeur peut n’avoir à traiter que des mailles «faciles» de bord. En revanche, la matrice assemblée sur un processeur est en général plus compacte.
Le mot-clé CHARGE_PROC0_MA n’est accessible que pour les modes de distribution MAIL_DISPERSE et MAIL_CONTIGU. En effet ces modes de distribution ne répartissent en général pas équitablement la charge des calculs à cause des conditions aux limites dualisées dont les calculs élémentaires sont traités par le processeur 0.
Si l’on souhaite soulager le processeur 0 (ou au contraire le surcharger), on peut utiliser le mot-clé CHARGE_PROC0_MA. Il permet à l’utilisateur de choisir le pourcentage de charge que l’on souhaite affecter au processeur 0.
Par exemple, si l’utilisateur choisit CHARGE_PROC0_MA=80 le processeur 0 traitera 20% d’éléments de moins que les autres processeurs, soit 80% de la charge qu’il devrait supporter si le partage était équitable entre les processeurs.
Décomposition du maillage#
La distribution par la méthode METHODE='SOUS_DOMAINE' des mailles se base sur une décomposition du maillage en sous-domaines, construite par un outil externe de partitionnement défini par le mot-clé PARTITIONNEUR.
Le nombre de sous-domaines peut être déterminé par l’utilisateur, via le mot-clé NB_SOUS_DOMAINE.
Par défaut, le nombre de sous-domaines est pris égal au nombre de processeurs impliqués dans le calcul.
Les éléments du modèle éléments finis portés par les mailles de chaque sous-domaine sont ensuite répartis par groupes d’éléments semblables (comme dans la distribution correspondant à la méthode GROUP_ELEM), afin d’équilibrer au mieux les calculs élémentaires.
Le partitionnement préalable du maillage en sous-domaines permet d’assurer que tous les éléments d’un groupe d’éléments finis appartiennent à un seul sous-domaine.
Phase d’exécution#
À partir des mots-clés PHENOMENE, MODELISATION et FORMULATION, on crée une structure de données spécifiant le type d’élément attaché à chaque maille.
Un rappel succinct des affectations est imprimé systématiquement (INFO=1) dans le fichier message.
Exemple#
Pour une modélisation du phénomène “MECANIQUE”, on affecte sur le groupe de mailles gma du maillage ma des éléments finis 3D isoparamétriques.
Si le groupe de mailles gma contient aussi les mailles de bord et/ou d’arêtes des mailles de volume, alors on affecte aussi sur celles-ci les éléments finis isoparamétriques nécessaires à certaines options de calcul (affectation de chargements extérieurs par exemple, cf. [AFFE_CHAR_MECA]).
mo = AFFE_MODELE(MAILLAGE=ma, AFFE=(_F(GROUP_MA=gma, PHENOMENE="MECANIQUE", MODELISATION="3D")))