Escolar Documentos
Profissional Documentos
Cultura Documentos
Outline
1. Motivation
2. Theoretical aspects
Level Sets Method
X-FEM enrichments
3. Application to Code_Aster
Crack definition (Level Sets)
Enriched Finite Elements (X-FEM)
Post-processing in fracture mechanics
Visualisation
4. Advanced tools
Mesh refinement
Crack propagation
2 - Code_Aster and Salome-Meca course material
Motivation
Goals
Study of cracked structures without explicitly meshing crack
Automatic crack propagation on a single mesh
Outline
2. Theoretical aspects
Level Sets Method
X-FEM enrichments
LS > 0
LS = 0
LS < 0
LSN(x)
LST(x)
Crack
plane
(LSN = 0)
Crack
(LSN = 0 LST < 0)
Iso-values of LST
Iso-zero of LSN
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
Classical part
(continuous)
Asymptotic
enrichment
(singular)
Heaviside
enrichment
(discontinuous)
1,4
u(x) = ai Ni (x) + bi Ni (x) H ( x ) + c1,4
i Ni ( x )B ( r , )
lsn
(signed distance functions)
lst
2
2
1
where r = lsn + lst , = tan
Outline
3. Application to Code_Aster
Crack definition (Level Sets)
Enriched Finite Element (X-FEM)
Post-processing in fracture mechanics
Visualisation
Mesh
Crack definition
(level sets)
Finite Element
Enrichment
Computation
Resolution
Post-processing
SIF,
propagation
Visualisation
Mesh
Choice of a mesh
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA,
Crack definition
(level sets)
Finite Element
Enrichment
Computation
Resolution
Post-processing
SIF,
propagation
Visualisation
Mesh
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA,
TYPE_DISCONTINUITE = / 'FISSURE',
/ 'INTERFACE'
)
A crack
An interface
[DEFAULT]
Finite Element
Enrichment
Computation
Resolution
Post-processing
SIF,
propagation
Visualisation
Mesh
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA,
TYPE_DISCONTINUITE = / 'FISSURE',
/ 'INTERFACE'
Finite Element
Enrichment
DEFI_FISS=_F()
)
Computation
Resolution
4 available methods:
Analytical functions
Pre-defined geometries
(only this method is
Projection onto group of elements
employed in this workshop)
Lecture of pre-computed LSN and LST fields
Post-processing
SIF,
propagation
Visualisation
Mesh
LSN=FORMULE(NOM_PARA=('X','Y','Z'),VALE='Z-H')
LST=FORMULE(NOM_PARA=('X','Y','Z'),VALE=Y-a')
Finite Element
Enrichment
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA,
DEFI_FISS=_F( FONC_LN=LSN,
FONC_LT=LST,),
z
H
)
a
Rapidity
Formula of LSN and LST not available for
complex crack geometries
Formula of LSN and LST are available only for very simple crack
geometries
13 - Code_Aster and Salome-Meca course material
Computation
Resolution
Post-processing
SIF,
propagation
Visualisation
Mesh
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA,
DEFI_FISS=_F(
FORM_FISS='ELLIPSE',
DEMI-GRAND_AXE = 0.4,
DEMI-PETIT_AXE = 0.2,
CENTRE = (0.5, 0.5, 0.5),
VECT_X = (0. , 1. , 0.2 ),
VECT_Y = (-1., 0. , 0.4 ),
))
Computation
Resolution
Post-processing
SIF,
propagation
Finite Element
Enrichment
Visualisation
Mesh
FORM_FISS = SIMP (
# type of cracks :
3d : "ELLIPSE","CYLINDRE","DEMI_PLAN" (half-plane)
Finite Element
Enrichment
Computation
Resolution
Post-processing
SIF,
propagation
Mesh
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA,
DEFI_FISS=_F( GROUP_MA_FISS=MA_FISS,
GROUP_MA_FOND=MA_FOND),
Finite Element
Enrichment
)
Computation
Resolution
z
Time consuming
Visualisation
Post-processing
SIF,
propagation
Mesh
Crack definition
(level sets)
Finite Element
Enrichment
NUME_TABLE=1,
SEPARATEUR=' ',
TITRE='level set normale',)
CHLSN=CREA_CHAMP(OPERATION='EXTR',TABLE=TBLSN,
TYPE_CHAM='NOEU_NEUT_R',MAILLAGE=MAILLAG1)
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA,
DEFI_FISS=_F( CHAM_NO_LSN=CHLSN,
CHAM_NO_LST=CHLST),
)
17 - Code_Aster and Salome-Meca course material
Computation
Resolution
Post-processing
SIF,
propagation
Visualisation
advanced
sane mesh
Mesh
Crack definition
(level sets)
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA,
DEFI_FISS=_F(GROUP_MA_FISS=MA_FISS,
Finite Element
Enrichment
GROUP_MA_FOND=MA_FOND),
GROUP_MA_ENRI = M_LEFT,
)
Crack extension
crack
(un-intentional)
optional keyword
Post-processing
SIF,
propagation
M_LEFT,
Extension of the crack
front
18 - Code_Aster and Salome-Meca course material
Computation
Resolution
M_RIGHT,
Visualisation
advanced
sane mesh
Mesh
FISS=DEFI_FISS_XFEM(MAILLAGE=MAILLA,
DEFI_FISS=_F(GROUP_MA_FISS=MA_FISS,
Finite Element
Enrichment
GROUP_MA_FOND=MA_FOND),
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
19 - Code_Aster and Salome-Meca course material
# Crack definition
FISS = DEFI_FISS_XFEM(MAILLAGE = MAILLA,
...
DEFI_FISS=_F(...),)
Crack
Dfinition
definition
de la
fissure
(level
(level
sets)
sets)
Enrichissement
Finite Element
des
Enrichment
lments
finis
Computation
Calcul Resolution
Rsolution
Post-processing
Post-traitement
FICs,
SIF,
critre
propagation
Visualisation
# Crack definition
FISS = DEFI_FISS_XFEM(MAILLAGE = MAILLA,
...
DEFI_FISS=_F(...),)
Crack
Dfinition
definition
de la
fissure
(level
(level
sets)
sets)
Enrichissement
Finite Element
des
Enrichment
lments
finis
Computation
Calcul Resolution
Rsolution
MOD_FISS=MODI_MODELE_XFEM(MODELE_IN = MOD_SAIN,
FISSURE
= FISS)
Post-processing
Post-traitement
FICs,
SIF,
critre
propagation
Visualisation
Resolution
Maillage
Mesh
RESU=STAT_NON_LINE(CHAM_MATER=CHAMPMAT,
EXCIT=(_F(CHARGE=CH1,),
_F(CHARGE=CHXFEM)),
MODELE=MOD_FISS,
SOLVEUR=_F(METHODE='MUMPS'))
Specific additional
loading for X-FEM
only necessary with
contact
No new keyword:
The crack is known
via the model
(enrich elements)
Crack
Dfinition
definition
de la
fissure
(level
(level
sets)
sets)
Enrichissement
Finite Element
des
Enrichment
lments
finis
Computation
Calcul Resolution
Rsolution
Post-processing
Post-traitement
FICs,
SIF,
critre
propagation
Visualisation
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] [D][B]de
t
with
[B ] = (i ) ( j ) H (k ) F + k (F ) ,
[K e ] = [B]t [D][B]d se
sub elements
se
= 1,4
Crack
Dfinition
definition
de la
fissure
(level
(level
sets)
sets)
MODELISATION='3D',
MATER=ACIER,
FISSURE = FISS,
RESULTAT = UTOT1,
NB_POINT_FOND = 15,
ABSC_CURV_MAXI = 0.3)
TABFIC=CALC_G(RESULTAT=RESU,
OPTION='CALC_K_G',
THETA=_F(FISSURE=FISS,
R_INF=0.1,
R_SUP=0.3,
NB_POINT_FOND = 15))
Enrichissement
Finite Element
des
Enrichment
lments
finis
Computation
Calcul Resolution
Rsolution
Post-processing
Post-traitement
FICs,
SIF,
critre
propagation
Visualisation
Crack
Dfinition
definition
de la
fissure
(level
(level
sets)
sets)
Finite
Enrichissement
Elements
des
Enrichment
lments
finis
Computation
Calcul Resolution
Rsolution
IMPR_RESU(RESU=_F(RESULTAT = RES_XFEM))
Post-processing
Post-traitement
FICs,
SIF,
critre
propagation
Visualisation
Outline
4. Advanced tools
Mesh refinement
Crack propagation
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
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)
Level sets
Distance to
the crack-front
Refinement
software
(HOMARD)
X-FE analysis
SIFs
mesh = LIRE_MAILLAGE()
crack = DEFI_FISS_XFEM()
error = RAFF_XFEM()
refmesh =
MACR_ADAP_MAIL()
=
=
=
=
=
=
'ELLIPSE',
2.,
2.,
(0.,0.,0.),
(1.,0.,0.),
(0.,1.,0.),),
Possibility to
use python for
a loop
# error field
CH_ERR=RAFF_XFEM(FISSURE=FISS)
# 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',
MAILLAGE_N = MA,
MAILLAGE_NP1 = CO(MA2),)
31 - Code_Aster and Salome-Meca course material
Refined mesh
Mesh refinement
Practical advises
It is better to refine a few number of elements at several times than a lot of elements
once
All the calls to MACR_ADAP_MAIL must be done in one .comm file
Warning: the refined mesh depends on the crack geometry
OUT : results
Inconvenient : re-launch the refinement
if changing the crack
33 - Code_Aster and Salome-Meca course material
Specific to X-FEM +
level sets framework
Propagation of a 2d crack in a
plate under tension with a hole
common to meshed
and non-meshed
cracks
da
m
= C.(K eq )
dN
1 + 2 2
K eq = K + K +
K III
2
1
2
I
1 K
= 2 arctan I sign(K II )
4 K II
35 - Code_Aster and Salome-Meca course material
KI
K II
+ 8
2
II
Advance
increment: da
Initial crack
bifurcation
angle:
+ H ( ) = f (x )
SIMPLEX method
Evaluation of the contribution of each element to the level set update on a node, then selection of the
positives contributions to get a monotone scheme
Main limitation: developed only for simplex elements (triangles in 2D and tetrahedrons in 3D)
UPWIND method
Selective finite differences scheme
Auxiliary regular grid is required for complex geometry
GEOMETIQUE method
This technique uses a vector propagation of the crack front and its local basis and an estimation
of the distances in this local basis.
Faster than the other techniques and capable of modeling 3D non-planar crack growth.
38 - Code_Aster and Salome-Meca course material
Under development/validation
Friction on crack faces (or interface)
Cohesive Zone Modelling
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
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.