Upload
others
View
16
Download
0
Embed Size (px)
Citation preview
Code_Aster, Salome-Meca course materialGNU FDL licence (http://www.gnu.org/copyleft/fdl.html)
Non-linear analysis for GC
2 - Code_Aster and Salome-Meca course material GNU FDL Licence
Outline
Description of non-linear problems
Theoretical elements for solving non-linear problems
Solving non-linear problems with Newton
Using Code_Aster
3 - Code_Aster and Salome-Meca course material GNU FDL Licence
What is a non-linear problem in mechanics ?
EDF R&D : Créer de la valeur et préparer l’avenir
D’où provient la non-linéarité ?
Il existe 3 grands types de non-linéarités :
matériau : pour les matériaux les plus couramment rencontrés (acier,
béton), le domaine « élastique » est limité. Au delà les contraintes ne varient
plus linéairement avec les déformations et peuvent dépendre de
« l’historique » de chargement
géométrique : lorsque les changements de géométrie subies par une structure
influent sur sa résistance (cas des treillis de poutre) ou lorsque le matériau subit de
grandes déformations, configuration initiale et finale ne peuvent plus être
confondues.
contact : les structures mécaniques industrielles sont souvent constituées de
plusieurs pièces qui interagissent entre elles (assemblage vissé) et dont la zone
d’interaction peut être le lieu de dissipation d’énergie (frottement pneu-route)
Résoudre un tel problème dans Code_Aster
Opérateur STAT_NON_LINE ou DYNA_NON_LINE
Dans Code_Aster, la dynamique non-linéaire est résolue en implicite
On se concentrera donc sur le quasi-statique
EDF R&D : Créer de la valeur et préparer l’avenir
Conséquences
À la difficulté déjà existante de modélisation du problème mécanique, s’ajoute
pour l’utilisateur la difficulté numérique : convergence des algorithmes, unicité de
la solution ?
l’opérateur STAT_NON_LINE est beaucoup moins presse-bouton que
MECA_STATIQUE
Les déplacements restent les inconnues principales du problème discrétisé mais
la solution ne sera obtenue qu’une fois l’équilibre vérifié explicitement. Cela
demandera en général plusieurs itérations.
résoudre un problème non-linéaire est beaucoup plus coûteux
il y a donc un intérêt à ne modéliser une non-linéarité que si on ne peut pas
faire autrement (exemple : « vrai contact » vs. « liaison collante»)
EDF R&D : Créer de la valeur et préparer l’avenir
Exemple 1 : contact
EDF R&D : Créer de la valeur et préparer l’avenir
Exemple 2 : ouverture et propagation de
fissures dans une éprouvette
EDF R&D : Créer de la valeur et préparer l’avenir
Exemple 3 : endommagement d’une poutre en
béton armé
EDF R&D : Créer de la valeur et préparer l’avenir
Exemple 4: mis en eau d’un barrage-poids
Différents chargements correspondent aux différents niveaux d’eau
Le rocher est modélisé par une loi
élastique, le joint - par une loi
d’endommagement. Le barrage est
soumis à son propre poids.
Rocher
Joint béton-rocher
10 - Code_Aster and Salome-Meca course material GNU FDL Licence
Some theoretical elements
EDF R&D : Créer de la valeur et préparer l’avenir
Rappel sur le principe des travaux virtuels (PTV)
On considère une structure soumise au chargement extérieur
On écrit l’équation d’équilibre mécanique, puis on applique PTV.
Intégration par partie de l’équation différentielle résulte en PTV
Approximation EF:
L’espace de vecteurs tests v est de dimension finie
La base de vecteurs test est identifiée au maillage
Solution discrétisée est un problème vectoriel
: . .
g
d d g d
v f v v v
0 | extdiv f v
e t
int
xF ( ) F
. gn g on
: . .
[0, ]
g
i i i
i
gv v v
v
d d d
i N
f
EDF R&D : Créer de la valeur et préparer l’avenir
Rappel sur le principe des travaux virtuels (PTV)
PTV
Loi de comportement
Equation d’équilibre discrétisée
Propriétés pour le cas linéaire (MECA_STATIQUE) :
le tenseur des contraintes dépend linéairement des déformations
L’inconnu de problème est le champ de déplacement
histoire du chargement ne change pas la solution
solution discrétisée en petit déplacement est un problème de l’algèbre linéaire
u u E
extFu K
: . . [0, ]
g
i i i igv v v vd d d i N
f
( )1
( ) ( ) où ( )2
tuu u u u
xt
int
eF ( ) Fu
xt
int
eF ( ) Fu
13 - Code_Aster and Salome-Meca course material GNU FDL Licence
Equations – Finite element approximation
Non-linear problem : stress depending on displacement
From displacement u to strain : kinematic non-linearity
From strain to stress : material non-linearity
Non-linear material depending on material's history (plasticity,...) :
internal variables
))(,()( uu
)(u
xt
int
eF ( ) Fu
u u E
Non linear vector equation
xtint e( , ) 0L u L
New syntaxe F LextFu K
14 - Code_Aster and Salome-Meca course material GNU FDL Licence
General algorithm for non-linear problem
15 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem
Solving a non-linear equation : the Newton's method
Construction of the series
Taylor series expansion of the first order
Next value of the term of the series
Properties :
Quadratic convergence near the solution
Computation of should be very expensive
0)( xF
Nnnx
)).(()()(0 111 nnnnn xxxFxFxF
)()(
1 1
1
1
n
n
nn xFxF
xx
0)( 1 nxF
)( 1 nxF
16 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem
Newton's method for equilibrium equation, at step k :
is tangent matrix or differential rigidity
is equilibrium residual
1
intint, 1
1 1
. 0
.
n
n ext n
u
n n n
dLL L u
du
K u R
1 int, 1n ext nR L L
xtint e( , ) 0L u L
1
int1
n
n
u
dLK
du
17 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem
To solve non-linear problem : an incremental algorithmProblem is parametrized by the parameter t
t is not real time (quasi-static problem)
Why parametrization ?Real boundary conditions should be applied by non-constant values
Non-linear material produced non-linear equation, precision should depends on
incremental step size
An non-linear problem is easier to solve when cut by small step size
18 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem
Parametrization because boundary conditions should be applied
by non-constant values (as functions)
Some examples of prescribed boundary conditions
f
t
Prescribed
volumic force
Prescribed
surfacic force
g
tA
B
C
ud
tA
B
C
Prescribed
displacement
19 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem
Parametrization to cut a non-linear problem to decrease degree of
non-linearity
Cutting
<=
High degree of non-
linearity on complete
problem
Low degree of non-
linearity at each step
F
u
F
u
20 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem
The parameter t in the equations :Solution of internal-external forces equilibrium for each time step
« Time » discretization, all quantities are parametrized by step k :
t0 t1 t2 t3 t4
1
Timet
Step 2 3 4
Incremental quantities : uuu kk 1
extkL ku k k
exint t( , ) 0 for LL u t
ext ext ext ext( ) ( )k kL L t L t L
21 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem
Global algorithm :
1)Compute internal and external forces
2)Compute tangent matrix
3)Solve linear system
4)Update displacements
5)Evaluate convergence
22 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem – Newton by graphic
Find the solution where is known and is unknown
u*
Lext
u
Lint
u0
F*
F0
*u*F **,Fu
23 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem – Newton by graphic
Dividing in two increments (reducing degree of non-linearity) :
find and
u*= u2
Lext
u
Lint
u0
F*= F2
F0
F 1
u1
*F
11, Fu 22 , Fu
24 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem – Newton by graphic
Compute tangent matrix for iteration Newton n and step 1
u*= u2
Lext
u
Lint
u0
F*= F2
F0
F 1
u1u1
n
K1n
nK1
25 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem – Newton by graphic
Solving nnn uFFuK 10111 .
u*= u2
Lext
u
Lint
u0
F*= F2
F0
F 1
u1
K1n
nu1
26 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem – Newton by graphic
Update displacements
u*= u2
Lext
u
Lint
u0
F*= F2
F0
F 1
u1u1
n
K1n
nu1
nnn uuu 11
11
27 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem – Newton by graphic
Compute and nuL 1int nuLFR 1
int1
u*= u2
Lext
u
Lint
u0
F*= F2
F0
F 1
u1u1
n
K1n
nu1
nuL 1int
nuR 1
28 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem – Newton by graphic
Matrix computation Solve system
Evaluate convergenceUpdate displacements
Solving non-linear problem – Newton by graphic
1 2
3 4
u*= u2
Lext
u
Lint
u0
F*= F2
F0
F 1
u1u1
n
K1n
nu1
nuL 1int
nuR 1
u*= u2
Lext
u
Lint
u0
F*= F2
F0
F 1
u1u1
n
K1n
nu1
u*= u2
Lext
u
Lint
u0
F*= F2
F0
F 1
u1u1
n
K1n
u*= u2
Lext
u
Lint
u0
F*= F2
F0
F 1
u1u1
n
K1n
nu1
29 - Code_Aster and Salome-Meca course material GNU FDL Licence
Resolution hints : quasi Newton
u
R
L1
L2
R
L1
u
R
L1
u
R
L1
u
MATRICE='ELASTIQUE'MATRICE=‘TANGENTE'
REAC_INCR=1 REAC_ITER=2
MATRICE=‘TANGENTE' MATRICE=‘TANGENTE'
30 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem
Matrix computation : Why quasi-Newton methods ?
Compute exact matrix every iteration : matrix must been factorized →
very expensive
Make more iterations but each iteration is quicker
Elastic matrix achieve convergence for all standard generalized materials
with a lot of iterations (thousands). Elastic matrix is computed and
factorized ONE time : very cheap
Elastic matrix is the better choice for unloading loading's cases
1
31 - Code_Aster and Salome-Meca course material GNU FDL Licence
Solving non-linear problem
Evaluate convergenceAbsolute (RESI_GLOB_MAXI)
Relative (RESI_GLOB_RELA)
By reference : giving stress reference (RESI_REFE_RELA)
4
1int,next LL
ext
next
L
LL 1int,
refk
k
next LLL .1int,
32 - Code_Aster and Salome-Meca course material GNU FDL Licence
Using non-linear in Code_Aster
33 - Code_Aster and Salome-Meca course material GNU FDL Licence
Non-linear in Code_Aster
Material is steel with Von Mises plasticity with isotropic hardening,
traction curve from file
Steel on all mesh
FSIGM = LIRE_FONCTION(UNITE=21,PARA='EPSI')
STEEL = DEFI_MATERIAU( ELAS=_F(YOUNG=210.E9,NU=0.3),
TRACTION=_F(SIGM=FSIGM))
CHMA = AFFE_MATERIAU( MAILLAGE=MESH,
AFFE=_F( TOUT='OUI',
MATER='STEEL'))
34 - Code_Aster and Salome-Meca course material GNU FDL Licence
Non-linear in Code_Aster
Reinforced concrete with isotropic hardening rebars
RESUN = STAT_NON_LINE(...
CHAM_MATER = CHMA,
COMPORTEMENT = (
_F( GROUP_MA =‘CABLE',
RELATION ='VMIS_ISOT_TRAC'),
_F( GROUP_MA =‘BETON',
RELATION =‘ENDO_FISS_EXP'),
...)
35 - Code_Aster and Salome-Meca course material GNU FDL Licence
Non-linear in Code_Aster
Loading : parametrized by time – Using function in FONC_MULT
RESUN = STAT_NON_LINE(...
EXCIT=_F(CHARGE =LOAD,
FONC_MULT=RAMPE)
...)
RAMPE = DEFI_FONCTION(PARA='INST',VALE=(0,0,2,200))
LOAD = AFFE_CHAR_MECA(MODELE=MOD,
PRES_REP=_F(PRES=100.,
GROUP_MA='TOTO'))
Lext
t0
200
2
( , ) ( ) ( )ext extL t x g t L x
36 - Code_Aster and Salome-Meca course material GNU FDL Licence
Non-linear in Code_Aster
Computing is parametrized by time
L_INST=DEFI_LIST_REEL( DEBUT=0.0,
INTERVALLE=(
_F(JUSQU_A=1.0,NOMBRE=4,),
_F(JUSQU_A=2.0,NOMBRE=3,),
),)
Timet
0.0 2.01.0
RESUN = STAT_NON_LINE(...
INCREMENT=_F(LIST_INST=L_INST)
...)
37 - Code_Aster and Salome-Meca course material GNU FDL Licence
Non-linear in Code_Aster – Advanced controls
Quasi-Newton method : recompute matrix every 2 Newton's iteration
Quasi-Newton method : recompute matrix every 3 time's step
Quasi-Newton method : using elastic matrix
Default values in Code_Aster
RESUN = STAT_NON_LINE(...
NEWTON=_F(REAC_ITER=2,),)
RESUN = STAT_NON_LINE(...
NEWTON=_F(REAC_INCR=3,),)
RESUN = STAT_NON_LINE(...
NEWTON=_F(MATRICE='ELASTIQUE',),)
RESUN = STAT_NON_LINE(...
NEWTON=_F( REAC_INCR=1,
REAC_ITER=1,
MATRICE='ELASTIQUE',),)
38 - Code_Aster and Salome-Meca course material GNU FDL Licence
Non-linear in Code_Aster – Advanced controls
Convergence criterion : careful when change values !
Changing criterion convergence may produces WRONG results
Maximum number of Newton's iteration
Elastic matrix uses thousands of Newton's iterations
Default values in Code_Aster
RESUN = STAT_NON_LINE(...
CONVERGENCE=_F(
RESI_GLOB_MAXI=1.E-6,
RESI_GLOB_RELA=1.E-6,),)
RESUN = STAT_NON_LINE(
CONVERGENCE=_F(ITER_GLOB_MAXI=20,),)
RESUN = STAT_NON_LINE(...
CONVERGENCE=_F(
ITER_GLOB_MAXI=10,
RESI_GLOB_RELA=1.E-6,),)
!
!
39 - 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.