Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 1/28
Organisme(s) : EDF-R&D/AMA
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
Document : R5.03.01
Algorithme non linéaire quasi-statique
(opérateur STAT_NON_LINE)
Résumé :
L'opérateur STAT_NON_LINE [U4.51.03] du Code_Aster permet dans le cas d'une sollicitation quasi-statique
d'intégrer divers types de non-linéarités provenant du comportement du matériau ou de grandes
transformations géométriques. On décrit ici l'algorithme de résolution global employé. L'intégration des relations
de comportement proprement dites est décrite dans d'autres documents, comme [R5.03.02] pour l'élasto-
plasticité, auquel on pourra se reporter pour des exemples. Pour les calculs en grandes transformations
géométriques, on pourra consulter par exemple le document [R5.03.20] sur l'élasticité non linéaire en grands
déplacements, ou le document [R5.03.21] sur la thermoélastoplasticité à écrouissage isotrope.
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 2/28
Table
des
matières
1 Présentation...........................................................................................................................................3
1.1 Généralités sur les relations de comportement...............................................................................3
1.2 Position du problème quasi-statique non linéaire............................................................................4
2 Méthode de résolution ...........................................................................................................................6
2.1 Principe de la méthode de NEWTON..............................................................................................6
2.2 Adaptation de la méthode de NEWTON au problème posé ...........................................................7
2.2.1 Résolution sans conditions aux limites dualisées ..................................................................7
2.2.2 Résolution avec des conditions aux limites dualisées ...........................................................9
2.2.2.1 Phase de prédiction ...................................................................................................9
2.2.2.2 Boucle sur les itérations de NEWTON.....................................................................11
2.2.2.3 RIGI_MECA_TANG et FULL_MECA ..........................................................................16
2.2.3 Cas des chargements suiveurs............................................................................................16
2.3 Recherche linéaire.........................................................................................................................17
2.3.1 Principe.................................................................................................................................17
2.3.2 Minimisation d'une fonctionnelle ..........................................................................................18
2.3.3 Méthode de minimisation .....................................................................................................18
2.3.4 Application à la minimisation de l'énergie ............................................................................20
2.3.5 Détermination du pas d'avancement....................................................................................21
2.4 Algorithme de STAT_NON_LINE ...................................................................................................23
3 Pilotage ................................................................................................................................................24
4 Grandes déformations .........................................................................................................................24
4.1 Objectif...........................................................................................................................................24
4.2 Grandes déformations plastiques..................................................................................................25
4.3 Fonctionnalité PETIT_REAC..........................................................................................................26
5 Bibliographie ........................................................................................................................................28
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 3/28
1 Présentation
1.1
Généralités sur les relations de comportement
STAT_NON_LINE est l'opérateur du Code_Aster permettant d'effectuer des calculs mécaniques non
linéaires lorsque les effets d'inertie sont négligés.
Le calcul ne porte a priori que sur les variables mécaniques (déplacements, contraintes, variables
internes) en excluant tout couplage avec d'autres phénomènes physiques (thermique, ...). Par
conséquent, les champs associés influant sur le comportement mécanique (champs thermiques,
métallurgiques) sont calculés au préalable par d'autres opérateurs (THER_LINEAIRE [U4.33.01],
THER_NON_LINE [U4.33.02]), voire par d'autres codes (SYRTHES, SATURNE, ...).
Cette hypothèse souffre une exception en ce qui concerne la modélisation
thermo-hydro-mécanique (modélisation dite 'THM') pour laquelle STAT_NON_LINE traite
l'ensemble du problème couplé des équations de diffusion de la thermique, de la pression du
fluide et de l'équilibre mécanique [R7.01.10].
Dans STAT_NON_LINE, deux familles de comportements sont disponibles :
·
celle qui correspond au mot-clé facteur COMP_ELAS (COMPortement ELAStique) conduit au
travers de l'équation d'équilibre à un système non linéaire dépendant explicitement du champ
de déplacements u par rapport à la configuration de référence, et paramétré par l'instant de
calcul (à travers entre autres l'évolution thermique). Pour plus de détails, on pourra se
reporter, par exemple, au document [R5.03.20] concernant l'élasticité en grandes
transformations (hyper-élasticité), ou le document [R5.03.21] sur la thermoélastoplasticité à
écrouissage isotrope,
·
l'autre famille, qui correspond au mot-clé facteur COMP_INCR (COMPortement INCRémental),
est associée à des relations de comportement exprimées par une équation différentielle
implicite (par exemple l'élasto-plasticité, la visco-plasticité, l'hypo-élasticité). Dans ce cas, la
relation de comportement est intégrée comme présentée par exemple en [R5.03.02] : en
reliant un incrément de déplacement u calculé à partir d'un état mécanique donné (l'état
mécanique étant représenté par un champ de déplacements u , un champ de contraintes
et un champ de variables internes ) au champ de contraintes à l'instant t du calcul.
L'équation d'équilibre conduit donc à un système non linéaire en u , mais qui est également
paramétré par l'instant de calcul à travers les données du problème (variation du chargement
mécanique et évolution thermique par exemple).
Dans les deux cas, on calcule la solution de proche en proche. Ce n'est théoriquement pas
indispensable dans le cas élastique non linéaire, mais il se peut que la non linéarité de la solution
recherchée soit trop forte pour l'algorithme de résolution utilisé, et qu'il soit indispensable, pour des
raisons numériques, d'opérer pas à pas.
Il faut néanmoins avoir à l'esprit la différence fondamentale entre les deux approches. Le cas élastique
suppose l'existence d'un état de référence par rapport auquel la déformation élastique est écrite : cet
état correspond à un état sans déformation ni contrainte. C'est la valeur "absolue" du chargement qui
crée la déformation. Le cas incrémental s'appuie sur l'état précédemment calculé et "oublie" toute
référence aux états antérieurs hormis celle donnée par les variables internes. Dans ce cas, c'est la
variation du chargement qui modifie l'état du système : en particulier, il faut une variation du champ de
température pour créer des déformations thermiques.
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 4/28
1.2
Position du problème quasi-statique non linéaire
En conséquence du [§1.1], on voit qu'il est légitime de considérer que le problème non linéaire que l'on
traite a comme inconnue un déplacement et est paramétré par le temps. Soit donc le problème non
linéaire quasi-statique suivant :
vTR(u,t) = vTL(t)
v tel que Bv = 0
Bu = ud (t)
où :
·
t représente la variable d'instant,
·
u le champ de déplacement pris à partir d'une configuration de référence,
·
L le chargement mécanique auquel est soumis la structure (pression, force imposée, ...),
·
la relation Bu = ud (t) correspond aux conditions aux limites imposées en déplacements
(déplacements imposés, liaisons entre degrés de liberté, ...) : B est un opérateur linéaire de
l'espace des champs de déplacements sur un espace de fonctions définies sur une partie du
bord de la structure, ud est une fonction donnée sur cette partie,
·
R représente les forces internes du problème de mécanique quasi-statique non linéaire
(dans le cas linéaire, on a R(u,t) = Ku , où K est la matrice de rigidité de la structure).
La notation R(u,t) est un raccourci que l'on utilisera dans la suite.
En fait, plus précisément, R(u,t) est relié au champ de contraintes par l'opérateur du
travail des déformations virtuelles QT [§ 2.2.1] suivant la relation :
R(u,t) QT
=
(u):
éq
1.2-1
En petits déplacements, QT est indépendant des déplacements ; pour les grands
déplacements, se reporter à [R5.03.20]. Dans toute la suite, on se placera dans l'hypothèse
des petits déplacements et petites déformations.
Le champ de contraintes i à l'instant ti s'écrit (u ,T ,t ,H )
i
i i
i-1 , si l'on note Ti le champ de
températures et Hi-1 l'histoire passée de la structure. Pour les comportements élastiques, l'histoire
n'intervient pas : l'ensemble Hi-1 est donc vide. Pour les comportements incrémentaux, l'histoire est
l'ensemble des états (champs de déplacements, contraintes et variables internes) à l'instant
précédent : H
=
1
{u
i
i 1, i 1, i
,t
-
-
-
-1 i- }
1 .
Dans le cas général, la dépendance de l'opérateur R est, comme nous l'avons vu dans le [§1.1],
implicite par rapport au temps : elle résulte de l'intégration de la relation de comportement dans le
temps (pour les problèmes d'élasto-plasticité par exemple). La dépendance explicite par rapport au
temps est très rare : elle apparaît notamment dans le cas de relations de comportement prenant en
compte un phénomène d'écrouissage par le temps dit time-hardening.
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 5/28
La dualisation des conditions aux limites de Dirichlet Bu = ud (t) conduit au problème
suivant [R3.03.01] :
R
(u,t) + BT = L(t)
éq
1.2-2
Bu = ud (t)
Les inconnues sont à présent à tout instant t le couple (u,) , où représente les "multiplicateurs
de Lagrange" des conditions aux limites de Dirichlet [R3.03.01]. Le vecteur BT s'interprète comme
l'opposé des réactions d'appui aux noeuds correspondants.
La formulation du problème quasi-statique consiste à exprimer l'équilibre de la structure (forces
internes = forces externes) pour une suite d'instants de calcul { ti }
qui paramètrent le
1i I
chargement :
R
(u ,t ) + BT
= L(t )
i i
i
i
éq
1.2-3
Bu
= ud (t )
i
i
ce qui revient à annuler en (u , ,t )
i
i i le vecteur F(u, , t) défini par :
R(u,t) + BT - L(t)
F(u,,t) =
Bu - ud (t)
L'état de la structure en t0 est supposé connu. On effectue I incréments (ou pas) de charge définis
comme suit :
pas de
charge n°
1
2
I
instant
t0 t1 t2
. . .
tI-1 tI
Les inconnues sont calculées de façon incrémentale par l'algorithme de résolution global (même pour
les comportements élastiques). À partir de (ui-1,i-1) , solution satisfaisant l'équilibre en ti-1 , on
détermine ui et i , qui permettront d'obtenir la solution en ti :
u
= u
+ u
i
i
-1
i
i = i +
-1
i
Les incréments ui et i sont d'abord estimés en linéarisant le problème par rapport au temps
autour de (ui , ,t
-1
i-1 i-1) (phase dite de prédiction ou d'Euler [bib 3]). Puis on utilise une méthode
de NEWTON ou une de ses variantes pour résoudre l'équation [éq 1.2-3] de manière itérative (on
calcule une suite (un , n
i
i ) ).
Pour les relations de comportement incrémentales, on a besoin de connaître en ti-1 le
champ de contraintes i-1 et le champ de variables internes i-1 (Cf. [R5.03.02] pour un
exemple).
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 6/28
2
Méthode de résolution
2.1
Principe de la méthode de NEWTON
La méthode de NEWTON est une méthode classique de résolution des équations du type :
F(x) = 0
où F est une fonction vectorielle (non linéaire) du vecteur x .
Elle consiste à construire une suite de vecteurs { xn } convergeant vers la solution x . Pour trouver
n
le nouvel itéré xn+1 , on approche F(xn+1) par un développement limité à l'ordre 1 autour de xn , et
on exprime que F(xn+1) doit être nul :
0
n 1
+
n
' n
n 1
= (
) ( ) +
+
F x
F x
F (x )(x
- xn) ,
soit :
-1
F ' xn xn+1 - xn
= - F xn
ou encore xn+1 = xn - [F '
( )(
)
( )
(xn )] F(xn)
Rappel :
F '(xn ) est l'application linéaire tangente associée à la fonction F . La dérivée au point x
dans la direction h est définie comme :
'
F(x + h) - F(x)
F (x) h = lim
.
0
La matrice de F '(x) dans les bases choisies pour les espaces vectoriels concernés
s'appelle la matrice jacobienne de F au point x .
Lorsque F est une fonction d'un espace vectoriel euclidien à valeurs réelles, F '(x) est une
forme linéaire, et on peut montrer qu'il existe un vecteur (unique), noté F(x) et appelé le
gradient de F , tel que :
F '(x) h = hT F
(x) (produit scalaire de h et du gradient).
Lorsque l'on est proche de la solution, la convergence de la méthode de NEWTON est quadratique (le
nombre de 0 après la virgule dans l'erreur double à chaque itération : 0.19 - 0.036 - 0.0013 -
0.0000017 par exemple). Mais cette méthode (utilisant la vraie tangente) a plusieurs inconvénients :
·
elle nécessite le calcul de la tangente à chaque itération, ce qui est coûteux (surtout dans le
cas où on utilise un solveur direct),
·
si l'incrément est grand, la tangente (dite cohérente ou consistante) peut conduire à des
divergences de l'algorithme,
·
elle peut ne pas être symétrique, ce qui oblige à utiliser des solveurs particuliers.
C'est pour cette raison que l'on peut utiliser d'autres matrices à la place de la matrice tangente : la
matrice élastique, une matrice tangente obtenue antérieurement, la matrice tangente symétrisée, ...
[§2.2.1].
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 7/28
2.2
Adaptation de la méthode de NEWTON au problème posé
2.2.1 Résolution sans conditions aux limites dualisées
Si l'on oublie dans un premier temps les conditions aux limites de Dirichlet, on doit résoudre un
système de la forme :
R(u ,t ) = Lméca
i i
i
,
où Lméca
i
désigne le chargement mécanique à l'instant ti .
En utilisant les notations du [§ 2.1], cela revient à annuler la fonction vectorielle F définie par :
F(u ,t ) = R(u ,t ) - Lméca
i i
i i
i
Les forces nodales R peuvent symboliquement être notées QT , où QT est la matrice associée à
l'opérateur divergence (expression du travail du champ de déformations virtuelles), avec
(u ,T ,t ,H ) . On a :
i
i
i
i-1
(QT) =
(u) :(w ) d
k
k
(L ) =
f w d +
t w d
i k
i
k
i
k
où
·
wk désigne la fonction de base associée au kième degré de liberté de la structure,
·
f désigne les forces volumiques s'appliquant à l'instant t sur ,
i
i
·
t désigne les forces surfaciques s'appliquant à l'instant t sur la frontière de .
i
i
La matrice Q dépend des déplacements u en grands déplacements [R5.03.20].
L'application de la méthode de NEWTON conduit à résoudre une suite de problèmes linéaire du type
( n est le numéro de l'itération de NEWTON, i celui de la variable d'instant) :
Kn un+1 = Lméca - Rn
i
i
i
i ,
où l'on note un+1
un+
=
1 - un
i
i
i l'incrément de déplacement entre deux itérations de NEWTON
successives. La matrice K n
n
n
i est la matrice de rigidité tangente en ui et le vecteur Ri représente les
forces internes à la nième itération de NEWTON du i ème pas de charge. La quantité Lméca - R n
i
i
représente les forces non équilibrées, que l'on peut aussi appeler le "résidu".
La matrice K ni est la matrice de l'application linéaire tangente de la fonction F , elle vaut donc :
F
R
Lméca
Kn
i
i =
=
-
.
u
n
u
n
u
(u t, )
(u t
n
i i
i , i )
(u t
i , i )
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 8/28
En l'absence de forces suiveuses [§2.2.3], le second terme est nul. La matrice K ni est donc la dérivée
au point uni des forces nodales (ou internes) par rapport aux déplacements :
R
Kni =
u (un t
i , i )
Une petite erreur dans l'évaluation du résidu peut avoir des conséquences graves, car c'est son calcul
exact qui garantit, si l'on converge, que ce sera vers la solution cherchée. Par contre, il n'est pas
toujours nécessaire d'utiliser la vraie matrice tangente, dont le calcul et la factorisation sont coûteux.
Par exemple, une variante de la méthode utilise la matrice élastique K 0 .
La méthode utilisant la vraie matrice tangente K ni (dite aussi matrice cohérente ou consistante)
s'appelle la méthode de NEWTON ; les méthodes utilisant d'autres matrices (comme par exemple la
matrice élastique K 0 ) sont appelées méthodes de NEWTON modifiées. Le choix entre une matrice
tangente (la dernière obtenue ou une matrice précédente) est effectué dans le Code_Aster par
l'intermédiaire du mot-clé MATRICE: 'TANGENTE' ou 'ELASTIQUE' du mot-clé facteur NEWTON. De plus,
il est possible d'utiliser une matrice de décharge, c'est-à-dire d'une matrice à variables internes
constantes (l'évolution des non linéarités n'est donc pas prise en compte dans cette matrice), en
dessous d'un certain pas de temps, pour certaines lois de comportement. On se reportera à la
documentation [U4.51.03] pour l'utilisation de cette fonctionnalité.
La méthode de NEWTON à matrice tangente consistante peut s'illustrer simplement à l'aide du
schéma de la figure [Figure 2.2.1-a].
R
Li
L-R2
2
R L-R1
1
R
R0
0
1
u
u
2
u
u
i
i
i
i
u
1
u
2
u
i
i
Figure 2.2.1-a
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 9/28
2.2.2 Résolution avec des conditions aux limites dualisées
Lorsque l'on prend en compte les conditions de déplacements imposés, le système à résoudre s'écrit :
R
(u ,t ) + BT
= Lméca
i i
i
i
Bu
= ud
i
i
On utilisera le symbole pour noter les incréments depuis l'équilibre précédent (en ti-1 ) des
déplacements, des paramètres de Lagrange, du chargement et des déplacements imposés :
u = u - u
i
i
i-1
= -
i
i
i-1
Lméca = Lméca - Lméca
i
i
i-1
ud = ud - ud
i
i
i-1
Connaissant (u
, )
i-1
1
i-
, le couple (u , )
i
i sera déterminé par la résolution du système :
R
(u
+ u
, t ) + BT (
+ ) = Lméca + Lméca
i-1
i
i
i-1
i
i-1
i
éq
2.2.2-1
B (u
+ u
) = ud + ud
i-1
i
i-1
i
On va utiliser une méthode de NEWTON pour résoudre ce système. Cependant, l'expérience montre
que la convergence de la méthode de NEWTON est fortement dépendante d'un choix judicieux de
l'estimation initiale : "plus l'estimation initiale est proche de la solution, plus l'algorithme converge vite".
Pour amorcer le processus itératif de la méthode, il est donc utile de déterminer un "bon" incrément
initial (u0, 0)
i
i . Pour cela, on linéarise par rapport au temps le problème continu : c'est ce qu'on
appelle la phase de prédiction (ou d'initialisation). On enchaîne avec la boucle des itérations de
NEWTON qui permet, à la convergence, d'obtenir les valeurs de (u , )
i
i , et donc celles de
(u
)
i , i .
2.2.2.1 Phase de prédiction
On linéarise le système [éq 2.2.2-1] par rapport au temps autour de (u
, )
i-1
1
i-
; en tenant compte de
l'équilibre obtenu à l'instant ti-1 , on obtient les équations permettant de calculer des valeurs
prédictives (u0, 0)
i
i :
R
R
u0 BT0
+
= Lméca -
t
u
i
i
i
i
t
u
i
t
-1
i-1
Bu = ud
i
i
R
= ( ):(t T(t))
désigne la différentielle totale de R
Q u
,
par rapport à t. Cette notation
t ti-1
T
particulière a pour but d'attirer l'attention sur le fait que
=
+
comme on le voit dans la
t
t
T t
suite.
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 10/28
Donc, en utilisant [éq 1.2-1] et la dépendance de par rapport au temps et par rapport à la
température :
T
T
Q
0
0
Q :
+
: u + BT
= Lméca - QT :
T
- QT :
t
u
u
i
i
i
i
i
T
t
ui-1
u
t
t
i
i
i
-
-
-
1
1
1
B
u
= ud
i
i
Si les contraintes dépendent d'autres variables, comme par exemple des proportions z des
différentes phases en métallurgie i.e. (t, T(t ), z(t )) , on voit apparaître au second membre
le terme correspondant : QT :
z
. On suppose par la suite que les effets
i
z ti-1
métallurgiques [R4.04.02] sont intégrés au second membre représentatif des effets
thermiques. De plus, on ne tient pas compte actuellement pour la phase de prédiction de la
dépendance explicite des contraintes par rapport au temps. Enfin, la dépendance de la
matrice QT par rapport aux déplacements est négligée dans l'hypothèse des petits
QT
déplacements : le terme
, dit terme de rigidité géométrique, disparaît donc de
u ui-1
l'équation précédente.
Avec des notations évidentes, le système d'équations obtenu s'écrit également :
K
u0
+ BT
0
= Lméca + Lther
i-1
i
i
i
i
éq
2.2.2.1-1
B u0
=
ud
i
i
Notons que l'on peut remplacer formellement la matrice Ki-1 , dérivée de R par rapport à u en ui-1
par la matrice élastique K 0 .
Pour les développeurs, précisons que le calcul de la matrice tangente lors de la phase de prédiction
est effectué via l'option de calcul RIGI_MECA_TANG [§ 2.2.2.3].
L'incrément effectif de chargement Li apparaissant au second membre comprend deux termes :
·
l'incrément de chargement mécanique Lméca
i
, composé des charges mortes
(indépendantes de la géométrie, comme la pesanteur) et des charges suiveuses (dépendant
de la géométrie, comme la pression suiveuse [R3.03.04]). En réalité, il existe des cas (le
premier incrément de charge, par exemple) où méca
L
est inconnu : de ce fait Lméca est
i 1
-
i
plutôt calculé par la relation
méca
L
= méca
L
- T
Q
- T
B , ce qui revient exactement au
i
i
i 1
-
i 1
-
même, dans le cas courant, en tenant compte de l'équilibre à l'incrément (i-1). On
remarquera alors que l'expression fait intervenir les multiplicateurs de Lagrange à l'incrément
(i-1), qui sont parfois inconnus (au premier incrément de charge, par exemple). Mais linéarité
des conditions aux limites en déplacements imposés, qui se traduit par le fait que la matrice
B est constante, permet dans ce cas un abus de langage : on pose = 0 et
i
0
vrai
0 vrai
=
+
i
i 1
-
(l'exposant vrai correspond aux variables apparaissant effectivement
i
dans le système d'équations ci-dessus) et on résout :
0
T
0
K u + B = méca
L
+
ther
L
- T
Q
i 1
-
i
i
i
i
i 1
- ,
0
Bu = d
u - u
B
i
i
i 1
-
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 11/28
·
l'incrément de chargement dit "thermique" (et métallurgique [R4.04.02]) Lther
i
, issu de la
dérivation des forces nodales par rapport à la température et qui est une estimation de l'effet
d'une variation de température. En effet, si l'on note K le module de compression
hydrostatique et le coefficient de dilatation thermique, l'incrément de chargement
"thermique" s'écrit (puisque R = QT et ther = - 3K T
I où I est la matrice
i d
d
identité) :
Lther = - QT:
T = QT:3 K T
I ,
i
i
i
T
d
ti-1
Dans le cas élastique, ce sont les forces nodales associées à une dilatation thermique (ce
n'est pas à proprement parler un chargement, cela s'assimile plutôt à l'effet d'une déformation
initiale). Cette estimation est utilisée dans la phase de prédiction et dans le critère d'arrêt. Si
les dilatations thermiques font sortir la structure du domaine élastique (plasticité par
exemple), cette estimation sera corrigée lors des itérations de NEWTON.
Remarque :
Un cas particulier concerne l'utilisation d'une excitation de type TYPE_CHARGE: 'DIDI' signifiant
Dirichlet différentiel, c'est-à-dire par rapport à l'état initial. Cela consiste, pour les conditions aux
d
limites de type blocages, à imposer, non pas B u = u , mais B (u - u ) = ud
0
. Dans ce cas, le
système à résoudre dans la phase de prédiction pour le nouvel incrément de charge est :
K u0 + T
B 0 = méca
L
+
ther
L
- T
Q
i-1
i
i
i
i
i-1
Bu0 = d
u
i
i
2.2.2.2 Boucle sur les itérations de NEWTON
On doit trouver les valeurs (u , )
i
i des incréments de déplacements et paramètres de Lagrange
depuis les valeurs (u
, )
i-1
1
i-
obtenues à l'équilibre précédent (instant ti-1 ). On prend comme
valeurs initiales (u0, 0)
i
i obtenues à l'issue de la phase de prédiction, avant de commencer les
itérations de la méthode de NEWTON.
À chaque itération, on doit résoudre un système permettant de déterminer (un+1 n+1
,
) , incréments
i
i
des déplacements et des paramètres de Lagrange depuis le résultat (un
n
, )
i
i de l'itération
précédente :
Kn
un+1 + BT
n
+1 = Lméca - R(un) - BT n
i
i
i
i
i
i
éq
2.2.2.2-1
B un+
1
i
= 0
avec R(un ) = QT n
n
n
i
i , les contraintes i étant calculées à partir des déplacements ui par
l'intermédiaire de la relation de comportement du matériau [§1.1]. En fait, dans le cas des
comportements incrémentaux, ni est calculé à partir de ( i-1 , i-1) et de l'incrément de
déformation (un+1) induit par l'incrément de déplacement un+1 = un + un+1 - u
i
i
i
i
i-1 .
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 12/28
Matrice "tangente"
Comme dans la phase de prédiction, on n'est pas obligé d'utiliser la vraie matrice tangente K ni . En
particulier, l'opérateur STAT_NON_LINE autorise l'utilisation de la matrice élastique K 0 , ou la
réactualisation de la matrice tangente tous les i0 pas de temps (mot-clé REAC_INCR) ou toutes les n0
itérations de NEWTON (mot-clé
n
REAC_ITER). Ainsi, la matrice K i peut-être remplacée par une
matrice K
m
j , avec j i , ou une matrice Ki , avec m n .
Attention : une matrice trop "raide" ne pose pas de problèmes de stabilité mais peut produire
une convergence très lente ; une matrice trop "souple" peut conduire à divergence, il est
conseillé dans ce cas de faire de la recherche linéaire [§ 2.3].
Il est difficile de donner une règle permettant de savoir quand on doit réactualiser la matrice tangente :
cela dépend fortement du degré de non linéarité du problème et de la taille des incréments de charge.
En décharge, il est recommandé soit d'utiliser la matrice élastique pour la phase de prédiction
et de résolution, soit d'utiliser la matrice élastique pour la phase de prédiction puis la matrice
tangente pour la résolution.
Les figures ci-après illustrent les diverses possibilités de réactualisation de la matrice tangente :
matrice élastique K 0 utilisée à chaque itération [Figure 2.2.2.2-a], matrice tangente réactualisée à
chaque itération et à chaque pas de temps [Figure 2.2.2.2-b], matrice tangente réactualisée tous les
i0 pas de temps (i0 =1 ici) [Figure 2.2.2.2-c], et matrice tangente réactualisée toutes les n0 itérations
de NEWTON ( n0 =2 ici) [Figure 2.2.2.2-d].
R
Li
u
Figure 2.2.2.2-a : utilisation de la matrice élastique
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 13/28
R
Li
u
Figure 2.2.2.2-b : utilisation de la vraie matrice tangente réévaluée
à chaque itération
R
Li+1
L i
u
Figure 2.2.2.2-c : utilisation de la matrice tangente
réévaluée à chaque pas de temps
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 14/28
R
L i
u
Figure 2.2.2.2-d : utilisation de la matrice tangente réévaluée
toutes les 2 itérations de NEWTON
La méthode de NEWTON modifiée (utilisant une autre matrice que la matrice tangente consistante)
converge moins vite que la méthode de NEWTON classique, mais est moins coûteuse. Elle est
d'autant plus économique que le nombre de degrés de liberté du système est élevé. C'est pourquoi on
peut conseiller, lorsque le système est de grande taille, de garder la même matrice tangente pendant
quelques itérations. Enfin, n'oublions pas de signaler que dans certains cas, c'est le calcul avec la
matrice élastique qui est le plus rapide en termes de temps de calcul, même si le nombre d'itérations
effectuées est beaucoup plus important (ce sont des itérations bon marché puisque la matrice n'est
calculée et factorisée qu'une seule fois) ; de plus, c'est la matrice élastique qu'il est recommandé
d'utiliser lors des décharges.
Comme le montre l'équation [éq 2.2.2.2-1], il faut effectuer à chaque itération de NEWTON le calcul
éventuel de la nouvelle matrice tangente K n
n
T n
i et des "forces nodales" R + B
i
i : pour les
développeurs, précisons que ces opérations sont effectuées par l'option de calcul FULL_MECA
(RAPH_MECA si la matrice tangente n'est pas recalculée).
La matrice tangente obtenue par l'option RIGI_MECA_TANG et la matrice tangente obtenue
par l'option FULL_MECA sont en général calculées différemment [§ 2.2.2.3].
Actualisation des inconnues
L'actualisation des déplacements et de leurs incréments se fait comme suit, celle des paramètres de
Lagrange est effectuée de manière identique :
un+
1
= un + un+1
i
i
i
un+1
= un + un+
1
i
i
i
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 15/28
Critères de convergence
Il existe trois critères de convergence.
Le critère RESI_GLOB_MAXI consiste à vérifier que la norme infinie du résidu
T
n
Q + T n
B - méca
L
, est inférieur à la valeur spécifiée par l'utilisateur. Il n'est pas conseillé
i
i
i
d'utiliser ce critère seul, car on ne peut pas facilement avoir une idée des ordres de grandeurs absolus
admissibles.
Le critère de convergence choisi par défaut revient à vérifier que le résidu est suffisamment petit,
comme précédemment, et ceci relativement à une quantité représentative du chargement (c'est le
critère RESI_GLOB_RELA) :
QT n
+ BT n
- Lméca
i
i
i
,
éq
2.2.2.2-2
Lméca + Lther - BT n
i
i
i
étant la précision relative souhaitée donnée par l'utilisateur (ou la valeur par défaut de 10-6) et
la norme du maximum.
On peut remarquer que, dans le cas d'utilisation de RESI_GLOB_RELA, le critère peut devenir
singulier si le chargement extérieur Lméca
Lther
BT n
+
-
devient nul. Ceci peut arriver en
i
i
i
cas de décharge totale de la structure. Si un tel cas de figure se présente (i.e. chargement
10-6 fois plus petit que le plus petit chargement observé jusqu'au présent incrément), le code
utilise alors le critère RESI_GLOB_MAXI avec comme valeur celle observée à la convergence
de l'incrément précédent. Lorsque le chargement redevient non nul, on revient au critère
initial.
Le troisième critère est le critère RESI_REFE_RELA : l'idée de ce critère est de construire une force
nodale de référence, qui servira à estimer terme à terme, la nullité (approchée) du résidu :
j
{
}
ddls
( T n T n méca
Q + B -L
F
i
i
i
)
ref
j
j
Plus précisément, la force nodale de référence est construite à partir de la donnée d'une amplitude de
contrainte de référence (en mécanique ; dans le cas de la THM, il est nécessaire de donner une
référence à chaque phénomène physique entrant dans la contrainte généralisée)
ref
. A partir de
cette amplitude de contrainte de référence, on définit le tenseur test
: il est nul pour toutes ces
j
composantes, sauf la j-ième qui vaut ref
. On définit alors, pour chaque noeud de chaque élément la
force nodale suivante (le but étant de donner une idée de l'importance d'une composante en un point
de Gauss de la contrainte sur la force nodale) :
N
M
~
1
e
R =
B
i
test
i, j
j
N =1 j=1
avec N le nombre de points de Gauss de l'élément, M le nombre de composantes du tenseur de
contrainte ; l'exposant servant à noter l'évalutation de quantité au point de Gauss , sont les
poids des points de Gauss.
La force nodale de reference est alors définie par :
ref
~e
F
= min R
i
i
e
i
où est l'ensemble des elements connectés au noeud i .
i
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 16/28
La convergence est décrétée réalisée lorsque tous les critères spécifiés par l'utilisateur sont vérifiés
simultanément. Par défaut, on fait un test sur le résidu global relatif (RESI_GLOB_RELA) et le nombre
maximum d'itérations de NEWTON (ITER_GLOB_MAXI).
2.2.2.3 RIGI_MECA_TANG et FULL_MECA
Il est important de souligner que la matrice tangente issue de l'option RIGI_MECA_TANG et la matrice
tangente issue de l'option FULL_MECA ne sont en général pas identiques.
Supposons que l'on a atteint la convergence pour l'instant ti-1 et que l'on cherche maintenant à
obtenir l'équilibre pour l'instant suivant ti . La matrice issue de RI GI _MECA_TANG provient d'une
linéarisation des équations d'équilibre par rapport au temps autour de (u
, )
i-1
1
i-
i.e. autour de
l'équilibre à l'instant ti-1 . C'est donc la matrice tangente du système à convergence à l'instant ti-1 .
Par contre, la matrice issue de FULL_MECA provient d'une linéarisation des équations d'équilibre par
rapport au déplacement autour de (un
n
, ) i.e. autour de l'équilibre à l'instant t .
i
i
i
En outre, on peut interpréter les différences entre RIGI_MECA_TANG et FULL_MECA en d'autres
termes. On peut ainsi montrer que la matrice issue de RIGI_MECA_TANG correspond à l'opérateur
tangent du problème continu en temps, dit aussi problème en vitesse (et relie la vitesse de contrainte
à la vitesse de déformation), alors que la matrice issue de FULL_MECA correspond à l'opérateur
tangent du problème discrétisé en temps [bib1]. Le document [R5.03.02] donne l'expression dans
chacun des deux cas pour la relation d'élasto-plasticité de VON MISES à écrouissage isotrope.
On rappelle que le traitement d'une relation de comportement [R5.03.02 § 5] consiste à :
·
calculer les contraintes n
n
i et les variables internes i à partir de l'état initial (
, )
i-1
i-1
et de l'incrément de déplacement uni ,
·
calculer les forces nodales R n = QT n
n
i
i et les réactions d'appui BTi ,
·
calculer (éventuellement) la matrice tangente (option RIGI_MECA_TANG pour la phase de
prédiction, option FULL_MECA pour les itérations de NEWTON).
2.2.3 Cas des chargements suiveurs
Un chargement suiveur (en mécanique) est un chargement qui dépend de la géométrie de la structure,
comme par exemple la pression qui s'exerce dans la direction opposée à la normale (ou les forces
d'inertie dans un repère non galiléen). Ainsi, lorsque la structure se déforme avec l'évolution de la
charge, le chargement, exprimé dans un repère absolu, est transformé. Les charges qui ne dépendent
pas de la géométrie de la structure sont appelées des charges mortes ou fixes (par exemple, la
pesanteur). Pour indiquer qu'une charge doit être traitée comme une charge suiveuse dans
STAT_NON_LINE, on indique TYPE_CHARGE: 'SUIV' sous le mot-clé EXCIT.
Un chargement mécanique Lméca (t) comportant des charges suiveuses s'écrit Lfixe ( ) + Lsuiv
t
(u,t)
(l'exposant fixe désigne ici les charges mortes, et suiv les charges suiveuses). Le système d'équations
à résoudre devient alors :
R
(u ,t ) + BT
= Lfixe(t ) + Lsuiv (u ,t )
i i
i
i
i i
Bu
= ud
i
i
Les opérations de dérivation permettant d'écrire la phase de prédiction et les itérations de la méthode
de NEWTON font donc intervenir les dérivées de Lsuiv par rapport aux déplacements u .
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 17/28
La phase de prédiction devient :
Lsuiv
(
K
) u0
BT
0
Lfixe Lsuiv Lther
i- -
+
=
+
+
1
u
i
i
i
i
i
u
i
-1
B
u0
=
ud
i
i
et les itérations de NEWTON consistent à résoudre le système :
Lsuiv
(
Kn -
) un+1 + BT
n+
1 = Lfixe + Lsuiv (un) - R(un) - BT n
i
u
i
i
i
i
i
i
un
i
B
un+
1
i
= 0
Ainsi, au début de chaque pas de charge (prédiction) et à chaque itération de NEWTON, on doit
calculer une matrice de "rigidité" (- Lsuiv / u) et un vecteur Lsuiv un
(
) liés aux chargements
un
i
i
suiveurs.
Les seules charges qui peuvent être traitées comme des charges suiveuses dans l'état actuel de
l'opérateur STAT_NON_LINE sont :
·
la pression pour les modélisations 3D, 3D_SI, D_PLAN, D_PLAN_SI, AXIS, AXIS_SI,
C_PLAN, C_PLAN_SI [R3.03.04],
·
le chargement de pesanteur pour les éléments CABLE_POULIE [R3.08.05], éléments à trois
noeuds comportant une poulie et deux brins de câbles : la force de pesanteur s'exerçant sur
l'élément dépend des longueurs respectives des deux brins,
·
la force centrifuge en grands déplacements, qui pour une vitesse de rotation est donné
par :
[ OM]
d
=
[ (OM +
)
;
0
d
u ]
·
le chargement de pesanteur pour toutes les modélisations THM des milieux poreux non
saturés [R7.01.10] : en effet, la masse volumique dépend des variables nodales u, p et T
pour tenir compte des relations de comportement des géomatériaux.
2.3 Recherche
linéaire
La recherche linéaire exposé ici concerne la recherche linéaire en l'absence de pilotage. Pour la
description de la recherche linéaire en présence de pilotage, on se reportera à la documentation
[R5.03.80].
2.3.1 Principe
L'introduction de la recherche linéaire dans l'opérateur STAT_NON_LINE résulte d'un constat : la
méthode de NEWTON avec matrice consistante ne converge pas dans tous les cas de figure,
notamment lorsque l'on part trop loin de la solution. D'autre part, l'utilisation de matrices autres que la
matrice tangente consistante peut, lorsqu'elles sont trop "souples", conduire à divergence. La
recherche linéaire permet de se prémunir contre de telles divergences.
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 18/28
Elle consiste à considérer (un+1, n+1
i
i
) , non plus comme l'incrément des déplacements et des
paramètres de Lagrange, mais comme une direction de recherche dans laquelle on va chercher à
minimiser une fonctionnelle (l'énergie de la structure). On trouvera un pas d'avancement dans cette
direction, et l'actualisation des inconnues consistera à faire :
un+1 = un + un+1
i
i
i
n+1 = n + n+
1
i
i
i
En l'absence de recherche linéaire (par défaut) le scalaire est bien sûr égal à 1.
2.3.2 Minimisation d'une fonctionnelle
Afin de mieux se convaincre du bien fondé de la recherche linéaire, on peut interpréter la méthode de
NEWTON comme une méthode de minimisation d'une fonctionnelle (dans le cas où les matrices
tangentes sont symétriques). Nous insistons sur le fait que les équations obtenues sont
rigoureusement celles de la méthode de NEWTON exposée dans le [§2.2] et que seule la façon d'y
parvenir est différente.
"Oublions" pour simplifier l'exposé la dualisation des conditions aux limites de Dirichlet et plaçons-nous
dans l'hypothèse des petites déformations. On considère la fonctionnelle :
J : V
IR
u J(u) = w((u)) d- f .u d- t.u d
où la densité d'énergie libre w permet de relier le tenseur des contraintes au tenseur des
w
déformations linéarisées par la relation = .
La fonctionnelle J étant convexe, trouver le minimum de J est équivalent à annuler son gradient, soit :
J(u) .v = 0 v V ,
ce qui est exactement le Principe des Travaux Virtuels puisque :
J(u) .v = (u):(v) d - f .v d- t.v d
Ainsi, résoudre les équations issues du Principe des Travaux Virtuels (base du problème formulé dans
le [§1.2]) est équivalent à minimiser la fonctionnelle J qui représente l'énergie de la structure (énergie
interne diminuée du travail des forces extérieures f et t ).
2.3.3 Méthode de minimisation
La minimisation se fait de façon itérative, classiquement en deux temps à chaque itération :
·
calcul d'une direction de recherche le long de laquelle on va chercher l'itéré suivant,
·
calcul du "meilleur" pas d'avancement dans cette direction : un+1 = un + .
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 19/28
Dans un problème de minimisation, l'idée naturelle est d'avancer dans la direction opposée au gradient
de la fonctionnelle, qui est localement la meilleure direction de descente puisque cette direction est
normale aux lignes d'isovaleurs et dirigée dans le sens des valeurs décroissantes [Figure 2.3.3-a].
u n
-J( u n )
J ( u ) = cste
Figure 2.3.3-a
Cependant, il est possible d'améliorer le choix de la direction de descente en utilisant cette méthode
de gradient dans une nouvelle métrique. C'est ce qui va nous permettre de retrouver les équations
classiques de la méthode de NEWTON [§2.3.4].
Prenons l'exemple simple d'un problème à deux variables x et y pour lequel la fonctionnelle a la forme
d'une ellipse dont le minimum est en ( /a, /b) :
1
1
J(x, y) =
ax2 + by2 - x - y
2
2
En choisissant comme direction de descente l'inverse du gradient de J, on passe d'un itéré au suivant
(raisonnons sur x seulement) par :
xn+1 = xn - (axn - ) ,
qui ne pointe pas vers la solution puisque la normale en un point d'une ellipse ne passe en général
pas par le centre de l'ellipse [Figure 2.3.3-b].
y
b
x
a
Figure 2.3.3-b
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 20/28
Par contre, si l'on effectue un changement de variables pour que les isovaleurs de J deviennent des
cercles [Figure 2.3.3-c] :
x = a x
y = b y
1
x y =
x 2 + y2 -
x -
y
J( , )
(
)
2
a
b
y
b
x
a
Figure 2.3.3-c
L'utilisation de la direction inverse du gradient de J permet alors d'obtenir la solution en une
itération :
x n+1
x n
x n
xn+
=
-
-
=
1
(
)
=
a
a
a
Ainsi, l'utilisation de la méthode de gradient dans la nouvelle métrique permet une convergence
immédiate. Dans un cas plus compliqué (fonctionnelle convexe mais différente d'une ellipse), la
convergence n'est pas instantanée mais le changement de variables permet de réduire sensiblement
le nombre d'itérations nécessaires.
2.3.4 Application à la minimisation de l'énergie
Pour simplifier, on va se placer dans le cas linéaire discrétisé où la fonctionnelle J vaut :
1
J(u) =
uTK u - uTL
2
o l'on note K la matrice de rigidité de la structure, et L le vecteur des chargements imposés.
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 21/28
Pour minimiser J, nous allons utiliser la même méthode de descente que précédemment en faisant au
préalable un changement de variables tout à fait similaire. La matrice K étant symétrique définie
positive, ses valeurs propres sont réelles positives : on peut donc définir la "racine carrée" de K que
l'on notera K (également symétrique). On pose u =
K u , la minimisation de J est alors
équivalente à celle de :
1
J (u) =
u u - u
K -1
T
T
L
2
En prenant comme direction de descente la direction inverse du gradient de J , on obtient :
un+1
un
un
K -
=
-
-
1
(
L)
Soit, en revenant aux variables initiales :
un+1
un
K -
=
-
1 (K un - L)
Ou encore :
K (un+1 - un ) =
L - K un
On retrouve les équations de la méthode de NEWTON : la matrice K est la Hessienne de la
fonctionnelle J (matrice de la dérivée seconde) et le second membre est la différence du chargement
et des forces nodales, appelé aussi résidu.
Ainsi la méthode de NEWTON peut-être interprétée comme résultant de la minimisation de l'énergie
de la structure via une méthode de gradient appliquée après un changement de métrique.
2.3.5 Détermination du pas d'avancement
Revenons au problème réel, celui de la résolution de R(u ,t ) = L
i i
i . Ce problème peut être interprété
comme la minimisation de :
W
T
(ui ) - ui Li ,
où W(ui ) correspond à la discrétisation, sur la base des fonctions de forme, de l'énergie interne de la
structure
((u))
w d .
On a calculé par la méthode de NEWTON un incrément de déplacement un+1
i
qui, dans le problème
de minimisation, s'interprète comme une direction de recherche. On va calculer le pas d'avancement
dans cette direction permettant de minimiser la valeur de la fonctionnelle :
Min { W n
(u +
n+
u 1) -
n
L (u +
n+1
i
i
i
i
ui ) }
R
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 22/28
Pour trouver le minimum de cette fonction scalaire de que l'on notera f () , on cherche le point où
sa dérivée s'annule (cela revient à rendre orthogonaux le résidu final et la direction de recherche) :
f ' () = [ n T
+1
T
n
n+
u
1
i
] [ Q (ui +ui ) - Li ] = 0
( f ' () est la projection du résidu sur la direction de recherche)
Avec les notations du [§2.2.2] et en prenant en compte les réactions d'appui, l'équation scalaire à
résoudre pour déterminer le pas d'avancement , s'écrit :
[ T
un+1] [ QT(un un+1) BT (n n+
+
+
+
1) - Lméca
i
i
i
i
i
i
] = 0
Afin que la détermination de ne soit pas trop coûteuse, on utilise une méthode de sécante dont le
nombre maximum d'itérations est fixé par l'utilisateur. La méthode de sécante peut s'interpréter comme
une méthode de NEWTON où la dérivée au point courant est approchée par la direction joignant le
point courant et le point précédent :
p - p-1
p-1 p
g - p p
g -1
p+1 = p
p
-
g
=
p
p-1
p
p
g - g
g - g -1
,
où l'on a noté g p
f
p
= ' ( ) .
On part de 0 = 0 et 1 = 1. La méthode de sécante a un ordre de convergence de l'ordre de 1.6
[bib2]. Elle se représente schématiquement sur la figure [Figure 2.3.5-a].
1
g = f ' ()
4
0
1
3
2
0
Figure 2.3.5-a
À la fin de la recherche linéaire, on actualise les déplacements et paramètres de Lagrange par :
un+1 = un + un+1
i
i
i
n+1 = n + n+
1
i
i
i
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 23/28
Le test de convergence porte :
·
sur le nombre maximum d'itérations de recherche linéaire indiqué par l'utilisateur sous le
mot-clé ITER_LINE_MAXI du mot-clé facteur NEWTON (la valeur par défaut 0 inhibe la
recherche linéaire, et vaut alors 1),
·
sur le critère RESI_LINE_RELA donné par f () . f ( )
0 , où vaut par défaut 0.1.
La recherche linéaire est en quelque sorte une "police d'assurance" permettant de se
prémunir contre des divergences graves de la méthode de NEWTON. Lorsque la direction de
recherche (un+1, n+1
i
i
) est "mauvaise" (si la matrice tangente est trop souple, par
exemple), l'algorithme de recherche linéaire aboutit à une faible valeur de , ce qui évite
d'aller "dans le décor". Il n'est pas nécessaire de faire beaucoup d'itérations dans la méthode
de sécante (2 ou 3 suffisent pour éviter les catastrophes) car chacune coûte assez cher (il
faut recalculer les forces internes) et on n'a pas l'ambition de trouver à chaque itération de
NEWTON le vraiment optimal.
2.4 Algorithme
de
STAT_NON_LINE
On utilisera comme précédemment l'indice i (comme "instant") pour noter le numéro d'un incrément de
charge et l'exposant n (comme "newton") pour noter le numéro de l'itération de NEWTON en cours.
L'algorithme utilisé dans l'opérateur STAT_NON_LINE peut alors s'écrire schématiquement de la façon
suivante :
(u0,0) et 0 connus
Boucle sur des instants ti (ou incréments de charge) : chargement L = L
i
(ti)
·
(ui-1,i-1) connus
·
Prédiction : calcul de u0
0
i et i
·
Boucle sur des itérations de NEWTON : calcul d'une suite (un,n
i
i )
-
(un n
n
n
i , i ) et (u ,
i
i ) connus
-
Calcul des matrices et vecteurs associés aux charges suiveuses
-
Expression de la relation de comportement
-
calcul des contraintes n
n
i et des variables internes i à partir des valeurs
i-1 et i-1 à l'équilibre précédent (ti-1) et de l'incrément de déplacement
un = un - u
i
i
i-1 depuis cet équilibre
-
calcul des "forces nodales" : Qn + BT n
i
i
-
calcul éventuel de la matrice de raideur tangente : K n = K(un
i
i )
-
Calcul de la direction de recherche (un+1, n+1
i
i
) par résolution d'un système
linéaire
-
Itérations de recherche linéaire :
-
Actualisation des variables et de leurs incréments :
un+
1 = un + un+1
un+1
= un + un+1
i
i
i
i
i
i
et
n+1
n
n+1
n+1
n
n+
1
i
= i + i
i
= i + i
-
Test de convergence
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 24/28
·
Archivage des résultats à l'instant ti
u
= u
+ u
i
i-1
i
i = i +
-1
i
i
i
On remarque qu'il y a trois niveaux d'itérations imbriqués : une boucle extérieure sur les pas de temps,
une boucle d'itérations (dites globales) de NEWTON et des sous-boucles éventuelles pour la
recherche linéaire (si elle est demandée par l'utilisateur) et certaines relations de comportement
nécessitant des itérations (dites internes), par exemple pour l'élasto-plasticité en contraintes planes.
3 Pilotage
On se reportera à la documentation [R5.03.80].
4 Grandes
déformations
4.1 Objectif
Jusqu'à maintenant, nous avons fait l'hypothèse que déplacements et déformations restaient modérés
de manière à respecter l'hypothèse des petites perturbations. Cette hypothèse devient caduque dans
de nombreux cas et la méthode de résolution du problème doit alors intégrer l'évolution de la
géométrie du problème, manipuler une cinématique particulière et utiliser une formulation adéquate de
la loi de comportement.
En pratique, l'hypothèse des petites déformations peut être appliquée tant que le carré du
module de la déformation reste inférieur à la précision des calculs envisagés. De même,
l'hypothèse des petites rotations peut être appliquée tant que le produit entre le carré de
l'angle de rotation et le module de la déformation reste inférieur à la précision des calculs
envisagés.
Diverses alternatives existent au sein du Code_Aster ; notre objectif n'est pas ici d'en faire une
présentation détaillée et nous renvoyons aux différents documents traitant spécifiquement chaque
problématique :
·
Relation de comportement élastique non linéaire en grands déplacements : [R5.03.20],
·
Poutres en grands déplacements : [R5.03.40],
·
Eléments de coques volumiques en non linéaire géométrique : [R5.07.05],
·
Elasto(visco)plasticité, métallurgie et grandes déformations : [R4.04.03],
·
Modélisation élastoplastique avec écrouissage isotrope en grandes déformations : [R5.03.21].
L'objectif est ici de présenter une fonctionnalité générale du code qui permet un traitement simple de
problématiques grandes déformations : l'argument PETIT_REAC du mot clé DEFORMATION sous le
mot clé facteur COMP_INCR.
Dans la suite, nous nous limiterons au cas des grandes déformations plastiques, qui permet de bien
comprendre la problématique PETIT_REAC. Nous nous basons pour cela sur [bib4] et sur la
documentation [R5.03.21].
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 25/28
4.2
Grandes déformations plastiques
Rappelons dans un premier temps les exigences d'une modélisation grandes déformations plastique
en mécaniques des milieux continus en terme d'équations d'équilibre, de description cinématique et de
relation de comportement de manière à bien cerner les limitations de la modélisation PETIT_REAC.
Equations d'équilibre
Si l'on fait le choix d'écrire les équations d'équilibre sur la configuration actuelle et d'utiliser le
tenseur de contraintes de Cauchy , elles se résument à :
: v
d = f .v
d +
.
t v
d
v
Vad
éq
4.2-1
L'équation précédente peut être écrite sur la configuration de référence ; c'est d'ailleurs ce qui est fait
pour l'élasticité non linéaire en grandes déformations [R5.03.20]. Dans le cas de lois de comportement
de nature incrémentale i.e. dont l'évolution est gouvernée par l'état actuel, cette écriture perd de son
intérêt. On préfère alors l'écriture [éq 4.2-1], bien que la configuration actuelle soit une inconnue du
problème.
Description cinématique
Pour les lois de comportement plastique, on utilise communément comme mesure de la déformation le
taux de déformation D :
1
D = ( u
T
& + u
2
& )
En outre, on définit aussi le taux de rotation W :
1
W = ( u
T
& - u
2
& )
Soulignons que dans les expressions précédentes, l'opérateur gradient est défini sur la configuration
actuelle.
Relation de comportement élastoplastique
Avant d'écrire les relations de comportement, nous allons faire trois hypothèses simplificatrices :
·
les déformations élastiques sont petites devant les déformations plastiques (ce qui se vérifie
généralement bien dans le cas des métaux). Ceci permet de décomposer le taux de
déformation de manière additive en une partie plastique et une partie élastique :
D = De + Dp
·
la déformation plastique est isochore. Ceci permet d'écrire que les tenseurs de contraintes de
Kirchhoff (mesure de contrainte adéquat aux grandes déformations) et de Cauchy
(intervenant dans les équations d'équilibre) sont identiques au premier ordre.
·
le comportement est isotrope.
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 26/28
Sous ces hypothèses, les lois de comportement en grandes déformations peuvent s'écrire sous une
forme proche des petites transformations. Ainsi pour la plasticité de Von-Mises à écrouissage isotrope
obtient-on :
j =
e
p
A:(D - D )
f(, p) = - R(p)
éq 4.2-2
eq
3
~
Dp = p
&
2
eq
où
·
~
est le déviateur de ,
·
A est le tenseur d'élasticité,
·
j désigne la dérivé de Jaumann de , qui tient compte de termes de transport définis à
l'aide du taux de rotation W et qui est donnée par :
j = & - W. + . W
4.3 Fonctionnalité
PETIT_REAC
Le principe de la modélisation PETIT_REAC consiste simplement à réactualiser la géométrie du
problème au cours des itérations de Newton (et non à la fin de chaque pas de temps). Ceci signifie
que toutes les quantités intervenant dans les équations du problème sont évaluées sur la configuration
actuelle. Rien d'autre n'est modifié par rapport au cas petites perturbations.
Nous venons de voir quels ingrédients sont nécessaires à une intégration « propre » d'une loi de
comportement élastoplastique en grandes déformations, moyennant trois hypothèses simplificatrices.
Détaillons maintenant les différences qu'implique la résolution par PETIT_REAC.
Equations d'équilibre
Compte tenu de la réactualisation géométrique, les efforts intérieurs, premier terme de [éq 4.2-1], sont
estimés de manière exacte, moyennant l'approximation par éléments finis. Le calcul des efforts
extérieurs est lui indépendant de la résolution par PETIT_REAC : les charges mortes sont calculées
sur la configuration de référence et les charges suiveuses sur la configuration actuelle. Les équations
d'équilibre sont donc traitées de manière exacte.
Description cinématique
La description cinématique est la même que celle des petites perturbations. Ceci signifie qu'un
incrément de déformation est calculé par :
1
= ( (u) + T (u) )
2
La déformation totale est ensuite la somme de chacun de ces incréments de déformation linéarisée,
calculés sur des configurations différentes. Il est donc délicat de lui donner un sens physique et mieux
vaut l'utiliser comme un indicateur du niveau de déformation atteint.
Relation de comportement élastoplastique
La différence entre la formulation [eq 4.2-2] et la formulation petites perturbations réside dans le
remplacement de la dérivée de Jaumann par la simple dérivée en temps. L'inconvénient de cette
dernière tient au fait qu'elle n'est pas incrémentalement objective i.e. pas invariante par rotation rigide
de la structure (pour plus de détails, voir la documentation [R5.03.21]).
L'emploi de PETIT_REAC n'est donc pas approprié aux grandes rotations mais il l'est aux grandes
déformations.
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 27/28
Intégration au sein du Code_Aster
En terme d'éléments finis, la résolution par PETIT_REAC implique à chaque pas de charge la
résolution du même système non linéaire que précédemment :
R
(u ,t ) + BT
= L(t )
i i
i
i
Bu
= ud (t )
i
i
A la différence près que les forces internes sont formellement calculées par :
R(u ,t )
T
= Q (u ):
i
i
i
où l'opérateur Q dépend des déplacements.
Dans ce cadre, le calcul de la matrice tangente mène formellement à :
R
Q(u)
K n =
= Q(u):
+
:
i
u
n
u
n
u
(u ,t )
(u ,t )
(un ,t
i
i
i
i
i
i )
Le premier terme est la contribution du comportement, similaire à ce qui a été présenté en petites
transformations, à la différence que cette contribution est ici évaluée en configuration actuelle. Le
second terme est la contribution de la géométrie qui n'est pas présente en petites transformations.
Dans le cadre de la résolution PETIT_REAC, ce terme n'est pas présent dans le calcul de la matrice
tangente. On a donc :
K n = Q(u):
i
u (un,tii)
On peut signaler que l'absence de la contribution géométrique dans la matrice tangente peut parfois
rendre la convergence difficile. En outre, la présence de déformations plastiques importantes peut
rendre le problème quasi-incompressible, du fait de la nature isochore de ces déformations. Des
problèmes de blocage numérique peuvent alors apparaître qui peuvent être contournés par l'emploi
d'éléments sous intégrés
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Code_Aster ®
Version
7.4
Titre :
Algorithme non linéaire quasi-statique
Date :
06/07/05
Auteur(s) :
P. BADEL, J. LAVERNE, N. TARDIEU Clé
:
R5.03.01-D Page
: 28/28
5 Bibliographie
[1]
P. MIALON : Eléments d'analyse et de résolution numérique des relations de l'élastoplasticité.
EDF - Bulletin de la Direction des Etudes et Recherches - Série C - N° 3 1986, p. 57 - 89.
[2]
J.F. MAITRE : Analyse numérique, cours polycopié de l'ENTPE.
[3]
J. SHI & M. A. CRISFIELD : "Combining arc-length control and line searches in path
following", Communications in Numerical Methods in Engineering, Vol. 11, 793-803 (1995).
[4]
E. LORENTZ : Grandes déformations plastiques, modélisation dans Aster par PETIT_REAC,
EDF - CR MMN 1536/07.
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HT-66/05/002/A
Document Outline