2. Introduction des fissures#
L’introduction des fissures X-FEM dans un modèle de Code_Aster se fait à l’aide de l’opérateur DEFI_FISS_XFEM [U4.82.08]. Cet opérateur n’a pas subi de modifications/ajouts suite à l’implémentation de l’approche grands glissements avec X-FEM . Toutefois, il est important de donner ici de courtes descriptions pour ses routines qui construisent en fait la structure de données FISS_XFEM [D4.10.02]. Le développeur pourra ainsi s’y retrouver si jamais il veut modifier ou enrichir ces structures de données (SD). Tout au long de ce document, le lecteur rencontrera l’appellation « routine chapeau ». Il s’agit d’une routine qui sert seulement à lancer des opérations de calcul en appelant d’autres routines.
Ci-dessous, on présente un exemple d’introduction d’une fissure, par des fonctions level-sets analytiques, pour une analyse X-FEM. Le catalogue de la commande (defi_fiss_xfem.capy) évolue assez fréquemment, donc on recommande sa consultation avant la rédaction du fichier de commande.
LSN=FORMULE(NOM_PARA=(“X”,”Y”),VALE=”Y-2.5”);
LST=FORMULE(NOM_PARA=(“X”,”Y”),VALE=”-X-10.”);
FISS1=DEFI_FISS_XFEM(MODELE=MODELEIN,
DEFI_FISS=_F(FONC_LT=LST,FONC_LN=LSN,),
INFO=1,);
La description des routines Fortran est donnée ci-dessous et l’arbre d’appel est illustré sur la Figure 1.
OP0041 - routine de lancement de l’opérateur qui réalise principalement la lecture des données introduites dans le fichier de commande et le lancement des différentes routines qui suivent.
XLORIE – routine pour la lecture de données concernant le fond de fissure. Les paramètres introduits par l’utilisateur sous les mots clés “RAYON_ENRI” et “NB_COUCHES” sont lus ici afin de remplir la SD FISS//”.CARAFOND’avec le rayon d’enrichissement autour de la tête de fissure et le nombre de couches d’éléments à enrichir.
XLENRI – réalise la lecture de la liste de mailles potentiellement enrichies, liste fournie par l’utilisateur, et crée les SD: FISS//”.GROUP_MA_ENRI” et FISS//”.GROUP_NO_ENRI” .
XINILS – routine chapeau pour lancer le calcul des level-sets. Si les level-sets sont introduites par des fonctions analytiques, le calcul se fait directement dans cette routine et on remplit les SD: FISS//”.LNNO” et FISS//”.LTNO”
XINLSJ– routine pour la récupération des levels set jonction. Elle est appelée dans le cas où l’utilisateur a défini l’opérande JONCTIONdans DEFI_FISS_XFEM. Dans ce cas on récupère localement les levels set normales et tangentes des fissures sur lesquelles FISSse branche dans un cham_no. Ces levels set sont ensuite utilisées dans la routine XSTANOpour le calcul du statut d’enrichissement des nœuds. Pour conserver l’information globale afin d’alimenter l’opérateur MODI_MODELE_XFEM, on crée ici les champs FISS//”.JONFISS’et FISS//”.JONCOEF’qui contiennent la liste des fissures sur lesquelles FISS se branche et les coefficients associés.
XLS3D – routine pour le calcul des level-sets si la fissure est introduite par des mailles surfaciques (cas 3D).
XLS2D - routine pour le calcul des level-sets si la fissure est modélisée par des mailles linéiques (cas 2D).
XAJULS – routine pour le réajustement des level-sets. Les valeurs des LS sont modifiées si elles sont trop proches de zéro pour éviter les erreurs d’intégration numérique dues au mauvais conditionnement de la matrice de rigidité.
XGRALS – routine pour le lancement du calcul des gradients des level-sets. On sort avec les SD: FISS//”.GRLNNO” et FISS//”.GRLTNO”.
TE0024 – réalise le calcul élémentaire des gradients des level-sets (option “GRAD_NEUT_R”).
XENRCH – lancement du calcul de l’enrichissement et des points du fond de fissure.
XMAFIS – routine pour trouver les mailles où la level-set normale change de signe. On sort avec la liste des mailles fissurées.
XSTANO – détermine le statut (enrichissement) des nœuds (HEAVISIDE, CRACK TIP ou HEAVISIDE et CRACK TIP). On remplit la SD FISS//”.STNO” .
XSTAMA – calcul du statut des mailles et actualisation éventuelle des statuts des nœuds (si enrichissement par couche).
XSTAM1 – calcul du statut des mailles en fonction du statut des nœuds.
XPTFON – recherche les points des fonds de fissure.
XORIFF – orientation des point des fonds de fissure.
XLMAIL – création et remplissage des SD: FISS//”.MAILFISS .INDIC”, FISS//”.MAILFISS .HEAV”, FISS//”.MAILFISS .CTIP”, FISS//”.MAILFISS .HECT”, FISS//”.FONDFISS”, FISS//”.FONDMULT” .
XBASLO - création de la SD FISS//”.BASLOC” qui contient la base locale aux points du fond de fissure associé.
Figure 1. L’arbre d’appel de l’opérateur DEFI_FISS_XFEM