5. Mise en œuvre d’un calcul CZM#
Les modèles cohésifs présentés ici ont fait l’objet d’un certain nombre de calculs dans différents problèmes mécaniques, le plus souvent sur des structures cibles (éprouvettes). Citons quelques exemples :
Amorçage et propagation de fissure dans une poutre élastique ou élastoplastique en rupture fragile,
propagation d’une fissure sous chargement cyclique dans une poutre élastoplastique pour modéliser la fatigue ainsi que l’effet de surcharge.
Propagation d’une fissure 3D plane en rupture fragile ou fatigue, suivit du front de fissuration.
Modélisation de la propagation dynamique de fissure dans un bimatériau.
Fissuration et propagation brutale de deux fissures à travers une plaque trouée (calculs quasi-statiques avec pilotage).
Arrachement d’une armature rigide.
Dans cette partie, on présente les différents tests s’appuyant sur les éléments cohésifs dans Code_Aster puis on commente l’un d’entre eux.
5.1. Liste des cas tests avec les modèles cohésifs#
TEST ELEMENTAIRE, UN ELEMENT COHESIF ET UN ELEMENT ELASTIQUE
ssnp118a : EJ 2D PLAN, LOI CZM_EXP_REG
ssnp118b : EJ 3D (HEXA), LOI CZM_EXP_REG
ssnp118c : EJ 3D (PENTA), LOI CZM_EXP_REG
ssnp118d : EJ 2D PLAN, LOI CZM_LIN_REG
ssnp118e : EJ 3D (HEXA), LOI CZM_LIN_REG
ssnp118f : EJ 3D (PENTA), LOI CZM_LIN_REG
ssnp118g : EI 2D PLAN, LOIS CZM_OUV_MIX ET CZM_TAC_MIX
ssnp118h : EI 3D (HEXA), LOIS CZM_OUV_MIX ET CZM_TAC_MIX
ssnp118i : EI 3D (PENTA), LOIS CZM_OUV_MIX ET CZM_TAC_MIX
ssnp118j : EI 2D PLAN, LOI CZM_FAT_MIX
ssnp118k : EI 3D (HEXA), LOI CZM_FAT_MIX
ssnp118l : EI 3D (PENTA), LOI CZM_FAT_MIX
ssnp118m : EI 2D PLAN, LOI CZM_TRA_MIX
ssnp118n : EI 3D (HEXA), LOI CZM_TRA_MIX
ssnp118o : EI 3D (PENTA), LOI CZM_TRA_MIX
ssnp118q : EI 2D PLAN, LOI CZM_EXP_MIX
ssnp118r : EI 3D (HEXA), LOI CZM_EXP_MIX
ssnp118s : EI 3D (PENTA), LOI CZM_EXP_MIX
MISE EN OEUVRE DE LA LOI D’INTERFACE ELASTIQUE SUR UN CUBE
sslv01a : EI3D (PENTA), LOI CZM_ELAS_MIX
sslv01b : EI 2D (TRIA), LOI CZM_ELAS_MIX
ARRACHEMENT D’UNE ARMATURE RIGIDE
ssna115a : ED 2D AXIS, LOI CZM_EXP
ssna115b : EJ 2D AXIS, LOI CZM_LIN_REG
ssna115c : EI 2D AXIS, LOI CZM_TAC_MIX
EPROUVETTE AXISYMETRIQUE ENTAILLEE (AE) ELASTOPLASTIQUE
ssna120a : EI 2D AXIS, LOI CZM_TRA_MIX
FISSURATION D’UNE PLAQUE, COMPARAISON AVEC SOLUTION ANALYTIQUE
ssnp128a : ED 2D PLAN, LOI CZM_EXP
FISSURATION BRUTALE D’UNE PLAQUE TROUEE AVEC PILOTAGE DU CHARGEMENT
ssnp133a : EJ 2D PLAN, LOI CZM_EXP_REG
ssnp133b : ED 2D PLAN, LOI CZM_EXP
ssnp133c : EI 2D PLAN, LOI CZM_OUV_MIX
POUTRE Compact Tension (CT) 2D ELASTOPLASTIQUE
ssnp151a : EI 2D PLAN, LOI CZM_TRA_MIX
POUTRE Compact Tension (CT) 3D ELASTOPLASTIQUE
ssnp151b : EI 3D (HEXA), LOI CZM_TRA_MIX
POUTRE Double Cantilever Beam (DCB) 2D ELASTOPLASTIQUE, MONOTONE ET FATIGUE
ssnp139a : EI 2D PLAN, LOI CZM_OUV_MIX
ssnp139b : EI 2D PLAN, LOI CZM_FAT_MIX (exemple commenté ci-dessous)
POUTRE Double Cantilever Beam (DCB) 3D ELASTIQUE
ssnv199a : EJ 3D (HEXA), LOI CZM_EXP_REG
ssnv199b : EJ 3D (PENTA), LOI CZM_EXP_REG
ssnv199c : EJ 3D (HEXA), LOI CZM_LIN_REG
ssnv199d : EJ 3D (PENTA), LOI CZM_LIN_REG
ssnv199e : EI 3D (HEXA), LOI CZM_OUV_MIX
ssnv199f : EI 3D (PENTA), LOI CZM_OUV_MIX
PROPAGATION 2D DYNAMIQUE ET DEPENDANCE EN TEMPERATURE DE LA LOI COHESIVE
sdns105a.comm : EJ 2D PLAN, LOI CZM_EXP_REG
POUTRE ENTAILLEE EN FLEXION 3 POINTS
ssnp166a.comm : EI 2D PLAN, LOI CZM_EXP_MIX
5.2. Exemple commenté, poutre DCB en fatigue#
On présente ici le test SSNP139, modélisation b, correspondant à la simulation de la propagation de fissure par fatigue dans une poutre Double Cantilever Beam (DCB) bidimensionnelle. On présente le schéma du problème mécanique sur la figure 5.2 puis le fichier de commande commenté en faisant référence aux différents conseils prodigués ci-dessus. On souligne en rouge les passages spécifiquement dédiés aux éléments cohésifs.
Figure 5.2 : Géométrie de la DCB et conditions aux limites.
################################################################################
# POUTRE DCB 2D PLASTIQUE AVEC ELEMENTS D’INTERFACE EN FATIGUE : LOI CZM_FAT_MIX
################################################################################
DEBUT(CODE=_F( NOM = “SSNP139B”))
# LOIS DE COMPORTEMENT DE LA DCB ET DE LA FISSURE COHESIVE (voir 6 )
loi_vol=”VMIS_ISOT_LINE”
loi_czm=”CZM_FAT_MIX”
# NOMBRE DE CYCLES MAXIMUM
nb_cy_max= 101
# INSTANT FINAL (IMPAIRE ET INFERIEUR A 2*nb_cy_max-1)
tfin=5
# NOMBRES DE PAS (voir 21 )
nbpas = 5*tfin
# ON ARCHIVE LES SOMMETS (voir 21 )
nbarch = (tfin-1)/2
# VALEURS DE LA FONCTION DE CHARGEMENT
delta_U = 0.4
val_inf = 0.0
val_sup = val_inf + delta_U
val_surch = 1.2
# NUM DE CYCLE POUR CHANGEMENT AMPLITUDE VARIABLE
# pour faire une surcharge unique à l’instant 2*x+1 mettre : nb_cy_1 = x, nb_cy_2 = x+1 , nb_cy_3=… ,
# ci dessous, surcharge à l’instant 23.
nb_cy_1 = 11
nb_cy_2 = 12
nb_cy_3 = nb_cy_max
# PARAMETRES MECANIQUES DE LA LOI CZM (valeurs tests, voir 15 )
tenac = 0.259/2# on ne modélise qu’une demi fissure (division par deux du Gc matériau voir 15 )
sigc = 35
dc = 2*tenac/sigc
# PARAMETRES NUMERIQUES DES ELEMENTS D’INTERFACE (voir 15 )
ri_gli=10
pen_lag=100
# PARAMETRES DE LA LOI ELASTOPLASTIQUE (valeurs tests)
young = 200000
poiss = 0.3
splas = 30
ecrou = 3577
PRE_GMSH()
MA0 = LIRE_MAILLAGE()
# PASSAGE DU MAILLAGE EN QUADRATIQUE (voir 9 )
MA = CREA_MAILLAGE(MAILLAGE = MA0, LINE_QUAD = _F(TOUT=”OUI”))
# DEFINITION DES GROUPES
MA = DEFI_GROUP(
reuse = MA,
MAILLAGE = MA,
CREA_GROUP_MA = (
# LINES
_F(NOM = “DCB_G”, GROUP_MA = “GM981”), # LIEU DU CHARGEMENT IMPOSE
_F(NOM = “ DCB_JB “, GROUP_MA = “GM984”), # FACES POUR CONDITION DE SYMETRIE
# SURFACES
_F(NOM = “DCB1” , GROUP_MA = “GM988”), # PARTIE VOLUMIQUE GAUCHE DE LA POUTRE
_F(NOM = “DCB2” , GROUP_MA = “GM989”), # PARTIE VOLUMIQUE DROITE DE LA POUTRE
_F(NOM = “ DCBJ “ , GROUP_MA = “GM990”), # ELEMENTS D’INTERFACE
),
CREA_GROUP_NO = (
_F(NOM = “DCB_G”, GROUP_MA = “GM981”),
_F(NOM = “NO_7”, GROUP_MA = “GM954”), # NOEUD BLOQUE DANS LA DIRECTION X
)
)
# ORIENTATION DES ELEMENTS D’INTERFACE (VOIR 10 )
MA=MODI_MAILLAGE(reuse =MA,
MAILLAGE=MA,
ORIE_FISSURE=_ F(GROUP_MA= “DCBJ”),
)
# AFFECTATION DES MODELISATIONS
MO=AFFE_MODELE(
MAILLAGE=MA,
AFFE= (
_F(
GROUP_MA = (“DCB1”,”DCB2”,”DCB_G”),
PHENOMENE = “MECANIQUE”,
MODELISATION = “D_PLAN”
),
_F(
GROUP_MA = “ DCBJ “,
PHENOMENE = “MECANIQUE”,
MODELISATION = “PLAN_INTERFACE”# MODELISATION PLAN POUR LES ELEMENTS D’INTERFACE
),
))
# DEFINITION DE LA POSITION DE LA FISSURE DANS LE REPERE GLOBAL (voir 7 )
ORIEN_FI =AFFE_CARA_ELEM(MODELE=MO,
MASSIF=(_F(GROUP_MA=” DCBJ “,
ANGL_REP=(90, 0 ,0)))); # EN 2D UNIQUEMENT LE PREMIER ANGLE
# DEFINITION ET AFFECTATION DU MATERIAU
# ICI UN SEUL MATERIAU, ON PEUT AUSSI CREER DEUX MATERIAUX DIFFERENTS L’UN POUR LE VOLUME ET L’AUTRE
# POUR LA FISSURE COHESIVE
MATE=DEFI_MATERIAU(
ELAS=_F(
E = young,
NU = poiss),
ECRO_LINE=_F(
D_SIGM_EPSI=ecrou,
SY=splas),
RUPT_FRAG = _F( # MOT CLE POUR LES CZM EN RUPTURE FRAGILE
GC = tenac, # PARAMETRE MATERIAU (voir 15 )
SIGM_C = sigc, # PARAMETRE MATERIAU (voir 15 )
PENA_LAGR = pen_lag, # PARAMETRE NUMERIQUE (voir 15 )
RIGI_GLIS = ri_gli, # PARAMETRE NUMERIQUE(voir 15 )
) )
CM=AFFE_MATERIAU(
MAILLAGE=MA,
AFFE=_F(
GROUP_MA = (“DCB1”,”DCB2”,” DCBJ “),
MATER = MATE),
)
# CHARGEMENTS
SYMETRIE = AFFE_CHAR_MECA(
MODELE = MO,
FACE_IMPO = ( _F(GROUP_MA=” DCB_JB “,DY = 0)) # CONDITION DE SYMETRIE SUR LA LEVRE INFERIEURE
)
TRACTION = AFFE_CHAR_MECA(
MODELE = MO,
DDL_IMPO = (_F(GROUP_NO = “NO_7” ,DX = 0)), # BLOCAGE DU MODE RIGIDE
FACE_IMPO= (_F(GROUP_MA = “DCB_G” ,DY = 1 ), # DIRECTION DU CHARGEMENT
))
# DEFINITION DE LA LISTE D’INSTANT
deb=-(val_inf/delta_U)–0.0000001 # VALEUR DU DEBUT DES INSTANTS PERMETTANT D’ATTEINDRE UN NIVEAU
# DE CHARGEMENT val_inf A L’INSTANT 0 PROGRESSIVEMENT
L_INST=DEFI_LIST_REEL(DEBUT = deb,
INTERVALLE=(
_F( JUSQU_A = 0, NOMBRE = 10 ),
_F( JUSQU_A = tfin , NOMBRE = nbpas ),
))
# ARCHIVAGE DE L’INSTANT 0 ET DES INSTANTS IMPAIRES (SOMMETS DE CHAQUE CYCLE)
INS_ARCH=DEFI_LIST_REEL(DEBUT = deb,
INTERVALLE=(
_F( JUSQU_A = 0, NOMBRE = 1 ),
_F( JUSQU_A = 1, NOMBRE = 1 ),
_F( JUSQU_A = tfin , NOMBRE = nbarch),
))
# DEFINITION DE L’EVOLUTION CYCLIQUE DU CHARGEMENT
# a : FONCTION AMPLITUDE CONSTANTE AVEC SURCHARGE (voir 21 )
a = []
for i in xrange(nb_cy_1) :
a.extend((2*i,val_inf,2*i+1,val_sup))
for i in range(nb_cy_1,nb_cy_2) :
a.extend((2*i,val_inf,2*i+1,val_surch))
for i in range(nb_cy_2,nb_cy_3) :
a.extend((2*i,val_inf,2*i+1,val_sup))
FCT_FAT = DEFI_FONCTION(
NOM_PARA = “INST”,
PROL_GAUCHE=”LINEAIRE”,
VALE = a ,
)
DEFLIST =DEFI_LIST_INST(DEFI_LIST=_F(LIST_INST =L_INST ),
ECHEC=_F(
SUBD_METHODE=”UNIFORME”,
SUBD_PAS = 3,
SUBD_PAS_MINI = 1.E-10,
SUBD_NIVEAU=10,
),)
# CALCUL NON LINEAIRE
U=STAT_NON_LINE(
MODELE = MO,
CHAM_MATER = CM,
CARA_ELEM = ORIEN_FI, # AFFECTATION DES CARACTERISTIQUES D’ORIENTATION AUX ELEMENTS D’INTERFACE
EXCIT = (
_F(CHARGE = SYMETRIE),
_F(CHARGE = TRACTION, FONC_MULT = FCT_FAT ),
),
COMPORTEMENT = (
_F(RELATION = loi_vol, GROUP_MA = (“DCB1”,”DCB2”)),
_F(RELATION = loi_czm , GROUP_MA = “ DCBJ “),
),
INCREMENT = _F(LIST_INST = DEFLIST,
INST_FIN = tfin,
),
NEWTON = _F(MATRICE = “TANGENTE” , REAC_ITER=1),
CONVERGENCE = _F(
RESI_REFE_RELA = 1.E-6,
SIGM_REFE = sigc, # CONTRAINTE DE REFERENCE (voir 16 )
DEPL_REFE = dc, # DEPLACEMENT DE REFERENCE (voir 16 )
ITER_GLOB_MAXI = 8,
),
SOLVEUR = _F(
METHODE = “MUMPS”, PCENT_PIVOT = 100 ), # SOLVEUR MUMPS NECESSAIRE POUR LES EI (voir 17 )
ARCHIVAGE = _F(LIST_INST = INS_ARCH
))
# POST_TRAITEMENT : IMPRESSIONS DE L’INDICATEUR D’ENDOMMAGEMENT V3 ET DU POURCENTAGE D’ENERGIE DISSIPEE V4 (voir 22 )
IMPR_RESU(FORMAT=”RESULTAT”,RESU=(_F(RESULTAT=U,
NOM_CHAM=”VARI_ELGA”,
INST=tfin,
NOM_CMP=( “V3”,”V4” ))))
FIN(FORMAT_HDF=”OUI”)