You are on page 1of 47

The eXtended Finite Element Method

Code_Aster, Salome-Meca course material


GNU FDL licence (http://www.gnu.org/copyleft/fdl.html)
Outline
Motivation

Theoretical aspects
Level Sets Method
X-FEM enrichments

Application to code_aster
Crack definition (Level Sets)
Enriched Finite Elements (X-FEM)
Post-processing in fracture mechanics
Visualisation

Advanced tools
Mesh refinement
Crack propagation

2 - Code_Aster and Salome-Meca course material GNU FDL Licence


Outline
Motivation

Theoretical aspects
Level Sets Method
X-FEM enrichments

Application to code_aster
Crack definition (Level Sets)
Enriched Finite Elements (X-FEM)
Post-processing in fracture mechanics
Visualisation

Advanced tools
Mesh refinement
Crack propagation

3 - Code_Aster and Salome-Meca course material GNU FDL Licence


Motivation
Goals
Study of cracked structures without explicitly meshing crack
Automatic crack propagation on a single mesh

Finite Element Method (FEM)


Crack is explicitly meshed
A long time (human intervention) is needed to mesh complex
structures
Re-meshing is required if changing the crack geometry
(parametric study) or position (propagation)

eXtended Finite Element Method (X-FEM)


Simple mesh (does not respect the crack geometry)
Unique mesh for entire propagation process
Simple extension of FEM (relatively suitable for
implementation in a EF software)
4 - Code_Aster and Salome-Meca course material GNU FDL Licence
Outline
Motivation

Theoretical aspects
Level Sets Method
X-FEM enrichments

Application to code_aster
Crack definition (Level Sets)
Enriched Finite Elements (X-FEM)
Post-processing in fracture mechanics
Visualisation

Advanced tools
Mesh refinement
Crack propagation

5 - Code_Aster and Salome-Meca course material GNU FDL Licence


Representation of interface by level set

Main idea: interface = iso-zero of a “distance function”


In mechanics: used for modelling interfaces between materials,
edges, voids, cracks

LS > 0

LS = 0

LS < 0

Iso-values of LS for a spherical


interface

6 - Code_Aster and Salome-Meca course material GNU FDL Licence


Representation of crack by level sets

2 level sets
are needed

x
LSN(x)
Crack
plane
LST(x) (LSN = 0)

Crack
(LSN = 0  LST < 0)

Iso-values of LST

Iso-zero of LSN

7 - Code_Aster and Salome-Meca course material GNU FDL Licence


X-FEM enrichment
X-FEM = Two enrichments
Enrichment with a Heaviside function to represent a discontinuous field (displacement
jump) across the interface
NB : The actual formulation is more complex but not detailed here for the sake of simplicity

Enrichment with asymptotic functions near the crack tip

Heaviside Asymptotic
Classical part enrichment enrichment
(continuous) (discontinuous) (singular)

u(x)   ai Ni (x)   bi Ni (x) H  x    c1,4


i Ni  x B  r ,  
1,4

i i i

Finite elements enriched with      


Heaviside function B   r sin , r cos , r sin sin  , r cos sin  
 2 2 2 2 
Finite elements enriched with
1  lsn 
asymptotic functions (~r) where r  lsn  lst ,   tan  
2 2
(signed distance functions)
 lst 

8 - Code_Aster and Salome-Meca course material GNU FDL Licence


Outline
Motivation

Theoretical aspects
Level Sets Method
X-FEM enrichments

Application to code_aster
Crack definition (Level Sets)
Enriched Finite Elements (X-FEM)
Post-processing in fracture mechanics
Visualisation

Advanced tools
Mesh refinement
Crack propagation

9 - Code_Aster and Salome-Meca course material GNU FDL Licence


Crack Definition (Level sets)
« sane » mesh Mesh

Definition of a crack (or an interface) with the


command DEFI_FISS_XFEM Crack definition
(level sets)
Choice of the mesh
Choice of a crack or a interface
Definition of the crack or the interface with level sets Finite Element
Enrichment
Definition of the enrichment zone (optional)
Definition of the type of enrichment (optional)
Computation
Resolution

Post-processing
SIF,
propagation

Visualisation

10 - Code_Aster and Salome-Meca course material GNU FDL Licence


Crack Definition (Level sets)
« sane » mesh Mesh

Choice of a mesh
Crack definition
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA, (level sets)


) Finite Element
Enrichment

The sane mesh is provided via the keyword MAILLAGE (mandatory)


Computation
Level sets will be computed at all the nodes of this mesh Resolution

Post-processing
SIF,
propagation

Visualisation

11 - Code_Aster and Salome-Meca course material GNU FDL Licence


Crack Definition (Level sets)
« sane » mesh Mesh

Choice of a crack (fissure in French) or an interface


Crack definition
(level sets)
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA,
TYPE_DISCONTINUITE = / 'FISSURE', [DEFAULT]
/ 'INTERFACE' Finite Element
Enrichment
)

Computation
A crack An interface Resolution

Post-processing
SIF,
propagation

Visualisation

12 - Code_Aster and Salome-Meca course material GNU FDL Licence


Crack Definition (Level sets)
« sane » mesh Mesh

Choice of a crack (fissure in French) or an interface


Crack definition
(level sets)
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA,
TYPE_DISCONTINUITE = / 'FISSURE',
Finite Element
/ 'INTERFACE'
Enrichment
DEFI_FISS=_F()
)
Computation
Level sets defined under the keyword DEFI_FISS Resolution

4 available methods:
Analytical functions Post-processing
Pre-defined geometries (only this method is SIF,
Projection onto group of elements propagation
employed in this workshop)
Lecture of pre-computed LSN and LST fields

Visualisation

13 - Code_Aster and Salome-Meca course material GNU FDL Licence


Crack Definition (Level sets)
« sane » mesh Mesh

Method 1: analytical functions


Crack definition
LSN=FORMULE(NOM_PARA=('X','Y','Z'),VALE='Z-H') (level sets)
LST=FORMULE(NOM_PARA=('X','Y','Z'),VALE=‘Y-a')

Finite Element
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA, Enrichment
DEFI_FISS=_F( FONC_LN=LSN, z y
FONC_LT=LST,), H x

) Computation
a Resolution

 Rapidity
Post-processing
 Formula of LSN and LST not available for SIF,
propagation
complex crack geometries

Formula of LSN and LST are available only for very simple crack Visualisation
geometries

14 - Code_Aster and Salome-Meca course material GNU FDL Licence


Crack Definition (Level sets)
« sane » mesh Mesh

Method 2: pre-defined geometries


Crack definition
FORM_FISS = SIMP ( (level sets)
# type of cracks :
3d : "ELLIPSE","CYLINDRE","DEMI_PLAN" (half-plane),“RECTANGLE“
Finite Element
Enrichment

Computation
Resolution

Post-processing
SIF,
propagation
2d : "DEMI_DROITE","SEGMENT","ENTAILLE"

Visualisation

15 - Code_Aster and Salome-Meca course material GNU FDL Licence


Crack Definition (Level sets)
« sane » mesh Mesh

Method 2: pre-defined geometries


Crack definition
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA, (level sets)
DEFI_FISS=_F( FORM_FISS='ELLIPSE',
DEMI-GRAND_AXE = 0.4,
Half major axis Finite Element
DEMI-PETIT_AXE = 0.2, Enrichment
Half minor axis
CENTRE = (0.5, 0.5, 0.5),
Direction of major axis
VECT_X = (0. , 1. , 0.2 ),
Direction of minor axis
VECT_Y = (-1., 0. , 0.4 ), Computation
 Low risk of user error ))
Resolution

 Rapidity
Post-processing
 Automatic crack front SIF,
orientation propagation

This method is highly recommended


If a crack geometry is not available in the catalogue, propose a new Visualisation
development to the code_aster team

16 - Code_Aster and Salome-Meca course material GNU FDL Licence


Crack Definition (Level sets)
« sane » mesh Mesh

Method 3: projection onto groups of elements


Crack definition
(level sets)
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA,
DEFI_FISS=_F( GROUP_MA_FISS=‘MA_FISS’, Finite Element
GROUP_MA_FOND=‘MA_FOND’), Enrichment
…)

Computation
Resolution

Groups of 2D elements : MA_FISS z y Post-processing


H x SIF,
propagation
 Capability of building complex cracks
a
Time consuming
Visualisation
Groups of 1D elements : MA_FOND

17 - Code_Aster and Salome-Meca course material GNU FDL Licence


Crack Definition (Level sets)
« sane » mesh Mesh

Method 4: lecture of a pre-computed LSN and LST


fields Crack definition
(level sets)

TBLSN=LIRE_TABLE(UNITE=38,
Finite Element
FORMAT='ASTER', Enrichment
NUME_TABLE=1,
SEPARATEUR=' ',
TITRE='level set normale',) Computation
Resolution

CHLSN=CREA_CHAMP(OPERATION='EXTR',TABLE=TBLSN,
TYPE_CHAM='NOEU_NEUT_R',MAILLAGE=MAILLAG1) Post-processing
SIF,
… propagation
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA,
DEFI_FISS=_F( CHAM_NO_LSN=CHLSN,
Visualisation
CHAM_NO_LST=CHLST),
…)

18 - Code_Aster and Salome-Meca course material GNU FDL Licence


Crack Definition (Level sets) advanced

« sane » mesh Mesh

Definition of enrichment zone


Restriction of the crack definition zone with GROUP_MA_ENRI Crack definition
(level sets)

FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA, Finite Element


DEFI_FISS=_F(GROUP_MA_FISS=‘MA_FISS’, Enrichment

GROUP_MA_FOND=‘MA_FOND’),
GROUP_MA_ENRI = ‘M_LEFT’,
…) Computation
Crack extension Resolution
crack
(un-intentional)

optional keyword Post-processing


SIF,
propagation

‘M_LEFT’, ‘M_RIGHT’, Visualisation

Extension of the crack


front

19 - Code_Aster and Salome-Meca course material GNU FDL Licence


Crack Definition (Level sets) advanced

« sane » mesh Mesh

Definition of the type of enrichment


Crack definition
(level sets)
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA,
DEFI_FISS=_F(GROUP_MA_FISS=‘MA_FISS’,
GROUP_MA_FOND=‘MA_FOND’), Finite Element
Enrichment
GROUP_MA_ENRI = ‘M_VOL’,
TYPE_ENRI_FOND = / 'TOPOLOGIQUE' [DEFAULT]
/ 'GEOMETRIQUE'
Computation
Resolution

TOPOLOGIQUE GEOMETRIQUE
optional keyword Post-processing
SIF,
propagation

Visualisation

RAYON_ENRI / NB_COUCHES
20 - Code_Aster and Salome-Meca course material GNU FDL Licence
Enriched Finite Elements (X-FEM)
# Crack definition Maillage
Mesh

FISS = DEFI_FISS_XFEM(MAILLAGE = MAILLA,


...
DEFI_FISS=_F(...),) Crack
Définition
definition
de la
fissure
(level
(level
sets)
sets)

# Sane model definition Enrichissement


Finite Element
MOD_SAIN = AFFE_MODELE(MAILLAGE = MAILLA, des
Enrichment
éléments
... finis
AFFE = _F(...),)

Available modelisations: 3D, C_PLAN, D_PLAN, AXIS Computation


Calcul -
Résolution
Resolution
Linear or Quadratic elements

The crack and the sane model must be defined on the same mesh Post-processing
Post-traitement
FICs,SIF,
critère
propagation

Visualisation

21 - Code_Aster and Salome-Meca course material GNU FDL Licence


Enriched Finite Elements (X-FEM)
# Crack definition Maillage
Mesh

FISS = DEFI_FISS_XFEM(MAILLAGE = MAILLA,


...
DEFI_FISS=_F(...),) Crack
Définition
definition
de la
fissure
(level
(level
sets)
sets)

# Sane model definition Enrichissement


Finite Element
MOD_SAIN = AFFE_MODELE(MAILLAGE = MAILLA, des
Enrichment
éléments
... finis
AFFE = _F(...),)

Computation
Calcul -
# Creation of a model with enriched elements (X-FEM) Résolution
Resolution
MOD_FISS=MODI_MODELE_XFEM(MODELE_IN = MOD_SAIN,
FISSURE = FISS)
Post-processing
Post-traitement
FICs,SIF,
critère
FISSURE accepts also a list MOD_SAIN is the sane model propagation
of cracks / interfaces FISS is the crack
Visualisation
MOD_FISS must be used from now on (loadings, material…)

22 - Code_Aster and Salome-Meca course material GNU FDL Licence


Resolution
Maillage
Mesh

Computation for non-linear studies in quasi-


static : STAT_NON_LINE, MECA_STATIQUE, Crack
Définition
definition
de la
fissure
(level
(level
sets)
sets)
THER_LINEAIRE
Enrichissement
Finite Element
RESU=STAT_NON_LINE(CHAM_MATER=CHAMPMAT, des
Enrichment
éléments
No new keyword: finis
EXCIT=(_F(CHARGE=CH1,),),
MODELE=MOD_FISS, The crack is known
via the model
… Computation
Calcul -
(enrich elements)
SOLVEUR=_F(METHODE='MUMPS')) Résolution
Resolution

if contact on crack faces: MUMPS Post-processing


Post-traitement
FICs,SIF,
critère
solver
propagation

Visualisation

23 - Code_Aster and Salome-Meca course material GNU FDL Licence


Resolution

Focus on the sub-element cutting process


Context: numerical integration of rigidity terms and right-hand side force terms for
elements cut by the crack
On an element cut through by the crack, the integrand might be discontinuous
Numerical integration with Gauss method on the whole element is not possible
Solution: sub-element cutting (only for integration purpose)

K e    Bt DBde with B  i   j  H k  F   k F   ,   1,4


e  

K e     Bt DBd se
sub elements se

24 - Code_Aster and Salome-Meca course material GNU FDL Licence


Post-processing in fracture mechanics
Maillage
Mesh

Idem for meshed cracks (FEM)


POST_K1_K2_K3 Crack
Définition
definition
de la
CALC_G fissure
(level
(level
sets)
sets)

PK=POST_K1_K2_K3( MODELISATION='3D', Enrichissement


Finite Element
MATER=ACIER, des
Enrichment
éléments
FISSURE = FISS, finis
RESULTAT = UTOT1,
NB_POINT_FOND = 15, Limit the post-
ABSC_CURV_MAXI = 0.3) processing on few Computation
Calcul -
Résolution
Resolution
points along the crack
TABFIC=CALC_G(RESULTAT=RESU, front
OPTION='CALC_K_G',  reduction of the
THETA=_F(FISSURE=FISS, Post-processing
Post-traitement
oscillations
FICs,SIF,
critère
R_INF=0.1,
propagation
R_SUP=0.3,
NB_POINT_FOND = 15))

Visualisation

25 - Code_Aster and Salome-Meca course material GNU FDL Licence


Post- processing for visualisation

Impossible to visualise the crack opening on the computational


mesh (sane mesh)
Need for a visualisation tool

26 - Code_Aster and Salome-Meca course material GNU FDL Licence


Post- processing for visualisation
Maillage
Mesh

Creation of a mesh for visualisation purpose


Creation of result fields on this mesh Crack
Définition
fissure
definition
(level
de la
(level
sets)
sets)

MA_VISU = POST_MAIL_XFEM( MODELE = MOD_FISS) Finite


Enrichissement
Elements
des
Enrichment
éléments
MO_VISU = AFFE_MODELE(MAILLAGE = MA_VISU, AFFE=_F(…)) finis

RES_VISU = POST_CHAM_XFEM( MODELE_VISU = MO_VISU, Computation


Calcul -
RESULTAT = RESU) Résolution
Resolution

IMPR_RESU(RESU=_F(RESULTAT = RES_VISU))
Post-processing
Post-traitement
FICs,SIF,
critère
propagation

Visualisation

27 - Code_Aster and Salome-Meca course material GNU FDL Licence


Outline
Motivation

Theoretical aspects
Level Sets Method
X-FEM enrichments

Application to code_aster
Crack definition (Level Sets)
Enriched Finite Elements (X-FEM)
Post-processing in fracture mechanics
Visualisation

Advanced tools
Mesh refinement
Crack propagation

28 - Code_Aster and Salome-Meca course material GNU FDL Licence


Mesh refinement

Stress is proportional to 1/r, with r the distance to the


crack front
For both crack representations using FEM or X-FEM, mesh
needs to be fine enough for accurate SIF computation
Importance of the mesh refinement near the crack front

r y


x

von Mises stresses near crack tip

29 - Code_Aster and Salome-Meca course material GNU FDL Licence


Mesh refinement
A “sane” mesh needs to be refined before launching the FE
analysis (adaptation a priori)
Refinement near the crack tip (2D) or near the crack front ( 3D)
Automatic operation using the distance to the crack front (computed by level sets)

Only elements nearest to the crack from are refined


Automatic mesh refinement loop
Refined “sane” mesh X-FE analysis SIFs
Initial
“sane” Level sets
mesh

Refinement
Distance to
software
the crack-front
(HOMARD)

30 - Code_Aster and Salome-Meca course material GNU FDL Licence


Mesh refinement in Code_Aster

Refinement parameters (python)


mesh = LIRE_MAILLAGE()

Level sets computation on the initial mesh Parameters (python)


(DEFI_FISS_XFEM)
crack = DEFI_FISS_XFEM(…)

Computation of the refinement criteria


(RAFF_XFEM) error = RAFF_XFEM(…)

refmesh =
Mesh refinement (MACR_ADAP_MAIL) MACR_ADAP_MAIL(…)

31 - Code_Aster and Salome-Meca course material GNU FDL Licence


Mesh refinement in Code_Aster

Refinement parameters
h0: mesh size in the area of interest mesh = LIRE_MAILLAGE()

hC: mesh size after refinement → hC ≈ a/20 (a: crack’s


depth) Parameters (python)

Calculation of the refinement number


ln ℎ0 − ln(ℎ𝐶 ) crack = DEFI_FISS_XFEM(…)
𝑛𝑏𝑟𝑎𝑓𝑓 = 𝐸 𝑛 𝑤𝑖𝑡ℎ 𝑛 =
ln(2)

Real number of iterations for adaption loop


error = RAFF_XFEM(…)
𝑛𝑏𝑖𝑡𝑒𝑟 = 𝑛𝑏𝑟𝑎𝑓𝑓 + 1

refmesh =
Calculation of real mesh size after refinement(s)
MACR_ADAP_MAIL(…)
ℎ0
ℎ = 𝑛𝑏
2 𝑟𝑎𝑓𝑓

32 - Code_Aster and Salome-Meca course material GNU FDL Licence


Mesh refinement in Code_Aster

mesh = LIRE_MAILLAGE()
Level sets computation on the initial mesh
(DEFI_FISS_XFEM) Parameters (python)
FISS=DEFI_FISS_XFEM(MODELE=MO,
DEFI_FISS=_F(FORM_FISS = 'ELLIPSE',
DEMI_GRAND_AXE = 2.,
DEMI_PETIT_AXE = 2., crack = DEFI_FISS_XFEM(…)
CENTRE = (0.,0.,0.),
VECT_X = (1.,0.,0.),
VECT_Y = (0.,1.,0.),),
GROUP_MA_ENRI='CUBE') error = RAFF_XFEM(…)

refmesh =
MACR_ADAP_MAIL(…)

33 - Code_Aster and Salome-Meca course material GNU FDL Licence


Mesh refinement in Code_Aster

Computation of the refinement criteria


(RAFF_XFEM) mesh = LIRE_MAILLAGE()
CH_ERR=RAFF_XFEM(TYPE = / ‘DISTANCE’ [DEFAULT]
/ ‘ZONE’, [RECOMMENDED]
FISSURE = FISS, Parameters (python)
RAYON = R, [IF TYPE=‘ZONE’]);

Goal: to localize the area near the crack front


Type = ‘DISTANCE’ crack = DEFI_FISS_XFEM(…)
 Nodes field
r  lsn 2  lst 2
 r = distance to the crack front error = RAFF_XFEM(…)
error  r
 Near crack front, error  0
 Far crack front, error  -
Type = ‘ZONE’ refmesh =
 Elements field MACR_ADAP_MAIL(…)
 1 in the refinement area (radius 𝑅 = 5ℎ (s.32))
0 elsewhere
2D: disk around the crack type
3D: tore around the crack type

34 - Code_Aster and Salome-Meca course material GNU FDL Licence


Mesh refinement in Code_Aster

Refinement : Homard (MACR_ADAP_MAIL)


mesh = LIRE_MAILLAGE()
RAFF_XFEM → Type = ‘DISTANCE’

MACR_ADAP_MAIL(ADAPTATION='RAFFINEMENT',
CHAM_GD = CH_ERR, Parameters (python)
CRIT_RAFF_PE = 0.1, Refinement of the
USAGE_CMP = ‘RELATIF’, element with the
Percentage of MAILLAGE_N = MA, largest error
elements to be MAILLAGE_NP1 = CO(‘MA2’),) crack = DEFI_FISS_XFEM(…)
refined

error = RAFF_XFEM(…)
RAFF_XFEM → Type = ‘ZONE’

MACR_ADAP_MAIL(ADAPTATION='RAFFINEMENT',
CHAM_GD = CH_ERR, refmesh =
CRIT_RAFF_ABS = 0.5, MACR_ADAP_MAIL(…)
DIAM_MIN = hC,
All elements MAILLAGE_N = MA, To avoid refining
with a value
MAILLAGE_NP1 = CO(‘MA2’),) an element that
greater than 0.5 already reaches
will be refined the target size

35 - Code_Aster and Salome-Meca course material GNU FDL Licence


Mesh refinement in Code_Aster
MA=LIRE_MAILLAGE()
MO=AFFE_MODELE(MAILLAGE=MA,
AFFE=_F(TOUT=‘OUI’,PHENOMENE='MECANIQUE',
MODELISATION='3D'))

# crack definition
FISS = DEFI_FISS_XFEM(MODELE=MO,
DEFI_FISS=_F(FORM_FISS = 'ELLIPSE',
DEMI_GRAND_AXE = 2.,
DEMI_PETIT_AXE = 2.,
CENTRE = (0.,0.,0.),
VECT_X = (1.,0.,0.),
VECT_Y = (0.,1.,0.),),
GROUP_MA_ENRI='CUBE') Possibility to
use python for
# error field
CH_ERR=RAFF_XFEM(FISSURE=FISS)
a loop

# Mesh refinement (call of HOMARD software)


MACR_ADAP_MAIL(ADAPTATION='RAFFINEMENT',
CHAM_GD = CH_ERR,
CRIT_RAFF_PE = 0.1,
TYPE_VALEUR_INDICA='V_RELATIVE',
NOM_CMP_INDICA = 'X1', Refined mesh
MAILLAGE_N = MA,
MAILLAGE_NP1 = CO(‘MA2’),)

36 - Code_Aster and Salome-Meca course material GNU FDL Licence


Examples of mesh refinement

37 - Code_Aster and Salome-Meca course material GNU FDL Licence


Fatigue Propagation (constant amplitude)

Computation of fatigue propagation: 3 ingredients

A propagation law (gives the increment of crack advance) common to meshed


and non-meshed
A bifurcation criterion (gives the bifurcation angle)
cracks

An algorithm for the crack update Specific to X-FEM +


level sets framework

Propagation of a 2d crack in a
plate under tension with a hole

38 - Code_Aster and Salome-Meca course material GNU FDL Licence


Fatigue Propagation (constant amplitude)

Ingredient n°1: propagation law

 C.K eq 
da
Paris’ law
m

dN

C and m : material parameters


1  2 2
Equivalent stress intensity factor K eq  K  K  2 2
K III
1 
I 2 II

Propagation driven by a maximal advance increment : amax

Ingredient n°2: bifurcation criterion

“Maximum Hoop Stress” (Erdogan, Sih)


  2 
1 K  KI 
  2 arctan   I  sign K II     8 
 4  K II  K II  
  

39 - Code_Aster and Salome-Meca course material GNU FDL Licence


Fatigue Propagation (constant amplitude)

Ingredient n°3: crack update

Crack update = level sets update (X-FEM + level set framework)

3 methods available in Code_Aster for the level sets update


(operator PROPA_FISS)
« naïve » approach: MAILLAGE method
SIMPLEX method Numerical methods for
UPWIND method level set update
GEOMETRIQUE method

40 - Code_Aster and Salome-Meca course material GNU FDL Licence


Fatigue Propagation (constant amplitude)

Ingredient n°3: crack update


« naïve » approach: MAILLAGE method
level sets update = adding a segment/an elementary
Advance increment: da surface (due to crack advancement) to the crack
bifurcation angle: 
discretization, then computation of level sets by
orthogonal projection of the nodes on this new crack
Initial crack location
Already in DEFI_FISS_XFEM (projection onto groups of
elements)

UPWIND method
Auxiliary regular grid is required for complex geometry

SIMPLEX method More information


No auxiliary regular grid R7.02.12
Robust method

GEOMETIQUE method
Faster than the other techniques and capable of modeling 3D non-planar crack growth.

41 - Code_Aster and Salome-Meca course material GNU FDL Licence


Fatigue Propagation (constant amplitude)

Propagation of a quarter-disk crack with


automatic mesh adaptation

42 - Code_Aster and Salome-Meca course material GNU FDL Licence


Conclusion on X-FEM in code_aster (V12)
Behaviour law
linear elasticity, non-linear, elasto-plasticity

Modelisations
plane strain, plane stress, axi-symmetrical, 3D

Loadings
pressure on crack faces; displacement boundary conditions near the
crack (symmetry conditions); rotation, gravity

Contact on crack faces

Finite elements
linear or quadratic
43 - Code_Aster and Salome-Meca course material GNU FDL Licence
Conclusion on X-FEM in code_aster (V12)
One or multiple crack, crack net, crack branching

Post-processing in fracture mechanics:


CALC_G and POST_K1_K2_K3

Visualisation
displacements and stresses on a “cracked” mesh

Crack propagation (2d, 3d in-plane and out-of-plane)

Modal analysis
44 - Code_Aster and Salome-Meca course material GNU FDL Licence
References
General user documentation
[U2.05.02] how to use X-FEM

Operator documentation
[U4.82.08] Operator DEFI_FISS_XFEM
[U4.41.11] Operator MODI_MODELE_XFEM
[U4.82.11] Operator PROPA_FISS
[U4.82.21] Operator POST_MAIL_XFEM
[U4.82.22] Operator POST_CHAM_XFEM

General user documentation


[R7.02.12] eXtended Finite Element Method

Propagation and crack


branching

45 - Code_Aster and Salome-Meca course material GNU FDL Licence


End of presentation

Is something missing or unclear in this document?


Or feeling happy to have read such a clear tutorial?

Please, we welcome any feedbacks about Code_Aster training materials.


Do not hesitate to share with us your comments on the Code_Aster forum
dedicated thread.

46 - Code_Aster and Salome-Meca course material GNU FDL Licence


Appendix for TP forma05c
X-FEM
« sane » mesh Mesh

DEFI_FISS_XFEM Crack definition


One by crack (level sets)

Finite Element
MODI_MODELE_XFEM Enrichment

Computation
IDEM FEM Resolution

Post-processing
CALC_G, POST_K1_K2_K3 SIF,
propagation

POST_MAIL_XFEM, POST_CHAM_XFEM Visualisation

47 - Code_Aster and Salome-Meca course material GNU FDL Licence

You might also like