6. Modélisation D#
6.1. Déroulement du TP#
Il s’agit de réaliser la simulation élastique sans mailler le trou, en utilisant la méthode X-FEM.
Pour cela, on utilise la notion d’interface (délimitant le trou), une interface étant vue comme une fissure «infinie» (pas de front de fissure). L’interface est alors représentée par une seule Level Set (Level Set Normale), séparant deux solides, sans contact sur l’interface. On modélise ainsi un trou (vide) car le solide à l’intérieur est isolé du reste de la structure sur laquelle le chargement de pression est appliquée.
On générera la géométrie et le maillage et le fichier de commandes AsterStudy à l’aide de la plate-forme Salome-Meca.
La modélisation est C_PLAN élastique. Un quart de la plaque est modélisé.
6.1.1. Géométrie#
La géométrie est le quart supérieur droit de la plaque rectangulaire, sans trou.
Lancer le module Geometry.
Les principales étapes pour construire cette géométrie sont les suivantes :
Pour créer la face, onpeut, par exemple, utiliser l’outil «rectangle» (MenuNew Entity / Primitives / Rectangle), puis éventuellement la translater (Menu Operations / Transformation / Translation).
Construire les groupes des arêtes sur lesquels s’appuieront les conditions aux limites (symétries et chargement) (Menu New Entity →Group →Create Group). Sélectionner le type d’entité géométrique (ici la ligne, edge) et sélectionner le bord directement dans la fenêtre graphique. Ensuite, cliquer sur Add. Un numéro d’objet doit alors apparaître. On peut changer le nom du groupe avant de levalider par Apply. Construire ainsi les 3 groupes de bord utiles pour le calcul : gauchepour le bord \(\mathit{AG}\) , hautpour le bord \(\mathit{GF}\) etbaspour le bord \(\mathit{BD}\) .
6.1.2. Maillage#
On créera un maillage plan du quart supérieur droit de la plaque, en éléments d’ordre 2, pour avoir une précision suffisante.
Lancer le module Mesh.
Les principales étapes pour générer le maillage sont les suivantes :
Construire lemaillage (Menu Mesh→ Create Mesh). Sélectionnerla géométrie à mailler, puis l’algorithmeNETGEN 1D-2Davecl’hypothèseNETGEN 2D Parameters. Dans cette hypothèse, sélectionnerFineness→ Fine et cocher la case Second Order.
Calculer lemaillage(MenuMesh→ Compute).
Créer les groupes demailles correspondants aux groupesgéométriques(Menu Mesh→Create Groups from Geometry).Sélectionnertous les groupes géométriques. On obtient 3 groupes d’arêtes sur le maillage.
Exporter lemaillage au format MED.
6.2. Création et lancement du cas de calcul (via AsterStudy)#
Lancer le module AsterStudy.
Puis en colonne gauche, cliquer surl’onglet Case View.
On définit le fichier de commandes du cas de calcul.
Nota: Pour ajouter des commandes: Menu Commands→ Show All.
Les principales étapes pour la création et le lancement du cas de calcul sont les suivantes:
Lire le maillage au format MED: Commande LIRE_MAILLAGE.
Orienter le maillage sur le bord affecté par le chargement: Commande MODI_MAILLAGE / ORIE_PEAU_2Den utilisantle groupe haut.
Définir les éléments finis utilisés: Commande AFFE_MODELE pourla modélisation en contraintes planes 2D (C_PLAN).
Définir l’interface: DEFI_FISS_XFEM avec la forme de fissure (FORM_FISS / ELLIPSE) et le type de discontinuité.
Créer les éléments finis enrichis (MODI_MODELE_XFEM). Et nommerun nouveau nom du modèle X-FEM.
Définir le matériau: Commande DEFI_MATERIAU.
Affecter le matériau: Commande AFFE_MATERIAU sur le modèle X-FEM.
Affecterles conditions aux limites mécaniques et le chargement: AFFE_CHAR_MECA sur le modèle X-FEM:
pour la symétrie sur le quart de plaque: Enforce DOF (DDL_IMPO),
pour la traction: FORCE_CONTOUR.
Résoudre le problèmemécanique statique linéaire : Commande MECA_STATIQUE sur le modèle X-FEM.
Créerlemaillage: Commande POST_MAIL_XFEM. Et nommer un nouveau nom du maillage.
Définir les éléments finis utilisés: Commande AFFE_MODELE pourla modélisation en contraintes planes 2D (C_PLAN). Et nommer un nouveau nom du modèle.
Créerlerésultat de visualisation: Commande POST_CHAM_XFEM. Et nommer un nouveau nom du résultat.
Calculer le champ : Commande CALC_CHAMP.
On enrichira le concept issu de POST_CHAM_XFEM enreprenant le même nom de concept.
pour le calcul du champ de contraintes par éléments aux nœuds: CONTRAINTE / SIGM_ELNO.
pour le calcul du champ de contraintes équivalentes par éléments aux nœuds: CRITERES / SIEQ_ELNO.
pour le calcul du champ de contraintes équivalentes par éléments aux points de Gauss: CRITERES/ SIEQ_ELGA.
Imprimer les résultats d’un calcul au format MED: Commande IMPR_RESU.
Pour lancerle cas de calcul, en colonne gauche, cliquer sur l’onglet History View.
Remarque:
Les modes rigides du trou sont bloqués par les conditions de symétrie appliquées. Dans le cas d’une modélisation de la plaque entière, il aurait fallu bloquer les modes rigides de la plaque et aussi de ceux du trou.
6.3. Post-traitement des résultats#
Lancer le module ParaViS.
On visualisera la déformée de la plaque puis les contraintes au bord du trou en se comparant avec la solution de référence.
Importer le fichier de résultats (Onglet Data Files → Open in ParaVis avec l’option GenerateVectors).
Visualiser la déformée de la plaque (Menu Filters → Common → Warp By Vector).
On pourra éventuellement rajouter une étape de raffinement automatique de maillage pour améliorer la précision des résultats.
Remarque:
Les modes rigides du trou sont bloqués par les conditions de symétrie appliquées. Dans le cas d’une modélisation de la plaque entière, il aurait fallu bloquer les modes rigides de la plaque et aussi de ceux du trou.
6.4. Grandeurs testées et résultats#
Valeur des composantes de contraintes aux points A et B:
Pour cela, on calcule le champ SIGM_NOEU. Attention, la notion de SIGM_NOEU est particulière pour X-FEM car les éléments générés pour la visualisation (par POST_CHAM_XFEM) ont des nœuds doubles non connectés. On a donc plusieurs valeurs pour une position de nœud. Dans le cas présent, on a deux nœuds localisés au point A (coté plaque) et deux nœuds localisés au point B (coté plaque). On teste donc le min et le max pour chaque point.
Localisation |
Identification |
Référence (Analytique) |
Tolérance |
Nœud \(A\) |
Contrainte \(\mathit{SIXX}\) |
-100.0 |
5.0% |
Nœud \(B\) |
Contrainte \(\mathit{SIYY}\) |
303.0 |
5.0% |
Ces tests sur des valeurs analytiques sont doublés par des tests de non-régression.