v1.01.283 ZZZZ283 – Validation de l’utilisation d’une grille avec une fissure X-FEM sur un maillage raffiné par Homard#

Résumé:

Ce test valide le calcul par DEFI_FISS_XFEM des fonctions de niveau (level sets) d’une fissure \(\text{X-FEM}\) sur une grille dans le cas où le maillage de la structure est raffiné par Homard.

Principe du test#

Dans DEFI_FISS_XFEM on peut définir la fissure sur une grille par l’une des méthodes suivantes:

  1. en donnant le maillage de la grille à utiliser par MODELE_GRILLE,

  2. en donnant une fissure avec une grille déjà associée par FISS_GRILLE.

La deuxième méthode a été pensée pour les cas où on utilise Homard pour raffiner le maillage de la structure. Dans ce cas, la grille associée à la fissure donnée par FISS_GRILLE est aussi associée à la nouvelle fissure et les level sets déjà définies y sont gardées à l’identique. Les informations concernant la localisation du domaine de calcul et l’utilisation d’une grille auxiliaire sont gardées pour la nouvelle fissure, ce qui permet de la propager correctement par PROPA_FISS. A contrario, les level sets sur le maillage sont calculées par interpolation par Homard et elles sont passées directement à DEFI_FISS_XFEM par DEFI_FISS/CHAMP_NO_LS* .

Pour vérifier le bon fonctionnement des deux méthodes, on va propager par PROPA_FISS la fissure \(\mathit{FISS0}\) de la figure en trois étapes:

  1. on propage \(\mathit{FISS0}\) , fissure avec une grille auxiliaire associée, qui a été définie en utilisant l’opérande MODELE_GRILLE dans DEFI_FISS_XFEM. On obtient \(\mathit{FISS1}\) .

  2. on raffine le maillage de \(\mathit{FISS1}\) par Homard. Puis on va définir la même fissure sur le maillage raffiné en gardant la grille auxiliaire (opérande FISS_GRILLE de DEFI_FISS_XFEM). On obtient \(\mathit{FISS1raff}\) , qui coïncide avec \(\mathit{FISS1}\) sauf à l’endroit où le maillage plus raffiné.

  3. on propage \(\mathit{FISS1raff}\) et on obtient \(\mathit{FISS2}\) .

Les même valeurs d’angle de propagation et d’avancée de la fissure sont imposées en chaque point du fond de fissure. Ces valeurs sont maintenues constantes entre les deux propagations. Les fonds propagés sont donc toujours droits et on connaît à priori leur position dans la structure. Si les deux méthodes marchent correctement, la position de \(\mathit{FISS2}\) doit être coïncidente avec celle attendue.

Méthode de calcul#

Pour chaque point du fond, à chaque pas de propagation, on impose le même angle de propagation \(\beta\) et la même avancée \(\Delta a\) de la fissure. On peut donc calculer les coordonnées de chaque point du fond après chaque pas de propagation (figures et ):

\({Y}_{i}={Y}_{i-1}+\Delta a\cdot \cos(i\cdot \beta )\)

\({Z}_{i}={Z}_{i-1}+\Delta a\cdot \mathrm{sen}(i\cdot \beta )\)

\((0,{Y}_{i},{Z}_{i})\) et \((4,{Y}_{i},{Z}_{i})\) sont les points extrémité du segment qui coïncide avec le fond de la fissure \(\mathit{FISSi}\) . Au début, pour la fissure \(\mathit{FISS0}\) (figure ):

\({Y}_{0}=1\)

\({Z}_{0}=0\)

Grandeurs et résultats de référence#

Les coordonnées des points d’extrémité attendus pour le fond \(\mathit{FISS2}\) sont donc les suivantes:

\({X}_{2}=[0,4]\)

\({Y}_{2}=2.189\mathrm{mm}\)

\({Z}_{2}=0.156\mathit{mm}\)

Pour vérifier la position effective du fond \(\mathit{FISS2}\) dans le modèle éléments finis, on utilise les valeurs des level sets aux points d’intersection entre le segment défini par les deux points d’extrémité ci-dessus et les faces des éléments du maillage. Si la position du fond après la propagation est calculée correctement, la valeur des deux level sets doit être égale à zéro pour tous les points d’intersection trouvés parce que, par définition, le fond de fissure est formé par tous les points où les level set tangente et normale sont égales à zéro.

Les points d’intersection et la valeur des level sets en ces points peuvent être calculés en utilisant la commande de post-traitement MACR_LIGN_COUPE.

Modélisation A#

Caractéristiques de la modélisation#

On utilise une modélisation 3D.

Caractéristiques du maillage#

Le maillage 3D contient 100 éléments de type HEXA8 de dimension \(0.4\times 0.4\times 0.2\mathit{mm}\) :

../../../../_images/1000020100000346000002D995CCAE0A41CACB38.png

Figure 3.2-1: maillage utilisé

Pour la grille auxiliaire, on utilise un maillage 3D contenant 400 éléments de type HEXA8 de dimension \(0.2\times 0.2\times 0.1\mathit{mm}\) :

../../../../_images/100002010000033C000002CE4AD5B5F48318DF91.png

Figure 3.2-2: grille auxiliaire

Grandeurs testées et résultats#

Après les deux propagations imposées, on calcule les valeurs des level sets aux points d’intersection entre le segment reliant les points d’extrémité du fond \((0,2.189,0.156)\) et \((4,2.189,0.156)\) (voir § 2.2 ) et les faces des éléments du maillage et on va vérifier que les valeurs maximale et minimale obtenues sont égales à zéro. En considérant que le maillage est grossier, on utilise une tolérance égale à 15% de la longueur de la plus petite arête du maillage, soit \(0.15\cdot 0.2\mathit{mm}=0.03\mathit{mm}\) . Donc on accepte la valeur de la level set au point du fond considéré si et seulement si elle est dans l’intervalle \([-0.03,0.03]\) .

Synthèse des résultats#

La position de la fissure \(\mathit{FISS2}\) après les deux pas de propagation coïncide avec celle attendue. Cela signifie que DEFI_FISS_XFEM permet bien de définir une fissure à la fois sur le maillage et sur la grille auxiliaire. De plus, les informations sur la localisation du domaine et sur l’utilisation de la grille auxiliaire sont bien transférées par l’opérande FISS_GRILLE qui a été mise en place pour permettre l’utilisation de la grille pour une fissure définie sur un maillage raffiné par Homard.