Code_Aster ®
Version
5.0
Titre :
Méthodes de pilotage du chargement
Date :
21/05/01
Auteur(s) :
E. LORENTZ
Clé :
R5.03.80-A
Page :
1/12
Organisme(s) : EDF/MTI/MMN
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
Document : R5.03.80
Méthodes de pilotage du chargement
Résumé :
Ce document décrit les méthodes de pilotage du chargement disponibles dans le Code_Aster (par un degré de
liberté, par longueur d'arc, par incrément de déformation et par prédiction élastique). Elles introduisent une
inconnue supplémentaire, l'intensité de la part pilotable du chargement, et une équation supplémentaire, la
contrainte de pilotage. Ces méthodes permettent en particulier de calculer la réponse d'une structure qui
présenterait des instabilités, aussi bien d'origines géométrique (flambement) que matériau (adoucissement).
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HI-75/01/001/A
Code_Aster ®
Version
5.0
Titre :
Méthodes de pilotage du chargement
Date :
21/05/01
Auteur(s) :
E. LORENTZ
Clé :
R5.03.80-A
Page :
2/12
1
Principe des méthodes de pilotage du chargement
De manière générale, les fonctionnalités de pilotage disponibles dans le Code_Aster permettent de
déterminer l'intensité d'une partie du chargement pour satisfaire une contrainte portant sur les
déplacements. Leur emploi est limité à des simulations pour lesquelles le temps ne joue pas de rôle
physique, ce qui exclut a priori les problèmes dynamiques ou visqueux. On peut distinguer trois
gammes d'utilisation auxquelles répondent autant de méthodes de pilotage (mot clé facteur
PILOTAGE) :
· contrôle physique des forces par le déplacement d'un point de la structure (par exemple pour
ajuster l'intensité de la force exercée sur un câble de sorte que sa flèche atteigne une valeur
donnée) : pilotage par degré de liberté imposé (TYPE : 'DDL_IMPO') ;
· suivi d'instabilités géométriques (flambement), la réponse de la structure pouvant exhiber des
snap-back « doux » : pilotage par longueur d'arc (TYPE : 'LONG_ARC') ;
· suivi d'instabilités matériau (en présence de lois de comportement adoucissantes), la réponse
de la structure pouvant exhiber des snap-back « brutaux » : pilotage par la prédiction élastique
ou plus généralement par l'incrément de déformation (TYPE : 'PRED_ELAS).
Plus précisément, les méthodes de pilotage disponibles dans le Code_Aster reposent sur les deux
idées suivantes. D'une part, on considère que le chargement (forces extérieures et déplacements
imposés) se décompose additivement en deux termes, l'un connu et l'autre dont seule la direction est
connue, son intensité devenant une nouvelle inconnue du problème :
F
cst
pilo
ext = Fext + Fext
éq 1-1
U
cst
pilo
imp = U imp +
U
imp
D'autre part, afin de pouvoir résoudre le problème, on lui associe une nouvelle équation qui porte sur
les déplacements et qui dépend de l'incrément de temps : c'est la contrainte de pilotage, qui s'exprime
par :
(
P U) =
avec P(0) = 0
éq 1-2
où est indirectement une donnée utilisateur qui s'exprime via le pas de temps courant t et un
coefficient de pilotage (COEF_MULT) par = t COEF_ MULT . La condition (
P 0) = 0 est requise
afin d'obtenir un incrément de déplacement d'autant plus petit que le pas de temps est petit.
Finalement, les inconnues du problème deviennent l'incrément des déplacements U = U - U - , les
multiplicateurs de Lagrange associés aux conditions aux limites et l'intensité du chargement piloté
, baptisée ETA_PILOTAGE. Le système non linéaire à résoudre s'écrit dorénavant :
F
T
cst
pilo
int( U
; ) B
F
! +
=
ext + Fext
B U = Ucst
pilo
imp + U imp
éq 1-3
P( U
) =
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HI-75/01/001/A
Code_Aster ®
Version
5.0
Titre :
Méthodes de pilotage du chargement
Date :
21/05/01
Auteur(s) :
E. LORENTZ
Clé :
R5.03.80-A
Page :
3/12
Remarque 1 :
A l'heure actuelle, les chargements suiveurs (i.e. qui dépendent des déplacements) et les
conditions de Dirichlet de type `DIDI' ne sont pas pilotables. Rien ne s'oppose à ce qu'ils le
deviennent dans une version ultérieure du code.
Remarque 2 :
Le chargement ne dépend plus directement du temps mais résulte de la résolution de tout le
système non linéaire [éq 1.3]. Cela implique que la part pilotée du chargement ne doit pas
dépendre du temps physique, contrairement à un chargement thermique, par exemple, mais
correspond à un effort que l'on ajuste pour satisfaire une contrainte cinématique
supplémentaire.
2
Résolution du système global
L'introduction d'une nouvelle équation ne perturbe pas outre mesure la méthode de résolution du
système non linéaire. En effet, on procède comme en [R5.03.01] par une linéarisation des équations de
[éq 1.3] portant sur les forces intérieures et les conditions de Dirichlet :
Fint
(
cst
n
T
n
pilo
U
n)
T
B
U
Fext - Fint( U
)- B
Fext
U
=
+
éq 2-1
cst
pilo
n
B
0
Uimp - B U
Uimp
"$$ #
$
%
$$$
"$$$ #
$
%
$$$$
"#%
pilo
K
R cst
R
T
On peut maintenant exprimer les corrections de déplacements U et de multiplicateurs de Lagrange
en fonction de moyennant la résolution du système linéaire [éq 2-1] par rapport à chacun des
deux seconds membres :
U
Ucst
Upilo
Ucst
Upilo
=
où
K -1 cst
-1
pilo
T
R
et
KT R
+
=
=
éq 2-2
cst
pilo
cst
pilo
On peut maintenant substituer la correction de déplacement U en fonction de son expression
[éq 2-2] dans l'équation de contrôle du pilotage du système [éq 1.3] ; il en résulte une équation scalaire
en :
~(
P )
=
(PUn +Ucst + Upilo) =
éq 2-3
déf.
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HI-75/01/001/A
Code_Aster ®
Version
5.0
Titre :
Méthodes de pilotage du chargement
Date :
21/05/01
Auteur(s) :
E. LORENTZ
Clé :
R5.03.80-A
Page :
4/12
La méthode de résolution de cette équation dépend de la nature du contrôle de pilotage adopté cf. [§3].
Finalement, il ne reste plus qu'à réactualiser les inconnues déplacements et multiplicateurs de
Lagrange :
Un+1 = Un + Ucst
+ Upilo
éq 2-4
n+1
n
cst
pilo
= + +
Remarque 3 :
Au cours des itérations de Newton, il peut arriver que l'équation [éq 2-3] n'admette pas de
solution, sans pour autant qu'il y ait une erreur d'utilisation. Dans ce cas, on décide alors de
~
~
déterminer comme la valeur qui minimise P , à condition que l'on vérifie (
P )
> ;
comme l'incrément de déplacement est d'autant plus petit que est petit, une telle condition
impose grossièrement que l'incrément de déplacement est au moins aussi grand (sans entrer
dans des définitions mathématiques précises) que celui prescrit par l'équation de pilotage
~(
P )
= . De plus, on impose a minima une itération de Newton supplémentaire, afin de
vérifier, à convergence, non seulement les équations d'équilibre et les conditions de Dirichlet,
mais aussi l'équation de pilotage.
Remarque 4 :
Il n'y a pas de linéarisation par rapport à la variable de pilotage . De la sorte, on préserve
toute la méthodologie de réactualisation de l'opérateur tangent déjà mise en oeuvre pour les
calculs sans pilotage. De plus, la structure « bande » de la matrice tangente est conservée.
Remarque 5 :
Ce mécanisme de résolution est incompatible avec l'emploi de la recherche linéaire. En fait, ce
serait possible en présence d'une fonction de pilotage P linéaire, voir Shi and Crisfield [bib4],
mais ce n'est plus vrai dans le cas général. C'est pourquoi l'emploi simultané de la recherche
linéaire et du pilotage est interdit.
3
Equation de contrôle du pilotage
3.1
Pilotage par contrôle d'un degré de liberté des déplacements :
DDL_IMPO
Pour ce premier type de pilotage, la fonction P se borne à extraire un degré de liberté de l'incrément de
déplacement. En particulier, il s'agit donc d'une fonction linéaire :
(
P U) = L U
avec L = 0
0
1
0
0
!
!
éq 3.1-1
noeud n, ddl i
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HI-75/01/001/A
Code_Aster ®
Version
5.0
Titre :
Méthodes de pilotage du chargement
Date :
21/05/01
Auteur(s) :
E. LORENTZ
Clé :
R5.03.80-A
Page :
5/12
où le vecteur nodal L est nul partout excepté pour le degré de liberté à extraire où il vaut 1. L'équation
[éq 2-3] se réduit alors également à une équation linéaire qui conduit à :
- L Un - L Ucst
=
éq 3.1-2
L Upilo
On notera qu'il n'y a pas de solution lorsque la correction de déplacement piloté Upilo ne permet pas
d'ajuster le degré de liberté requis, ce qui peut arriver si, par erreur, on bloque le degré de liberté en
question.
3.2
Pilotage par longueur d'arc : LONG_ARC
Une autre forme de pilotage très largement utilisée consiste à contrôler la norme de l'incrément de
déplacement (par rapport à certains noeuds et certaines composantes) : on parle alors de pilotage par
longueur d'arc, voir Bonnet and Wood [bib1]. Plus précisément, la fonction P s'exprime par :
(
P U) = U = U L U
éq 3.2-1
L
où, à nouveau, le vecteur nodal L permet de sélectionner les degrés de liberté employés pour le calcul
de la norme (il vaut 1 pour les ddl sélectionnés, 0 ailleurs). Dans ce cas, l'équation de pilotage se réduit
à une équation du second degré :
[Upilo LUpilo] 2 +2 ([ U
n + Ucst )L Upilo]
éq 3.2-2
+ ([ U
n + Ucst )L( U
n + Ucst )- 2
]= 0
Cette équation peut ne pas admettre de solution. Dans ce cas, on choisit la valeur qui minimise le
~
polynôme [éq 3.2-2]. On vérifie alors bien (
P )
> . Dans le cas contraire, elle admet deux racines
(ou une racine double). On choisit celle des deux qui minimise l'angle formé par Uavant et Un+1
(où Uavant est l'incrément de déplacement solution du pas de temps précédant), c'est-à-dire celle qui
maximise le cosinus de cet angle dont l'expression est :
(
Un + Ucst
+ Upilo
Uavant
Uavant Un+1) (
)
cos
,
=
éq 3.2-3
Un + Ucst
+ Upilo
Uavant
3.3
Pilotage par l'incrément de déformation : PRED_ELAS
Les deux derniers modes de pilotage, contrôle par incrément de déformation et contrôle par prédiction
élastique, cf. Lorentz et Badel [bib3], sont activés par le même mot clé PRED_ELAS. En fait, le second
dépend explicitement de la loi de comportement et n'est implanté que pour certaines lois (ENDO_LOCAL
et BETON_ENDO_LOCAL) ; lorsqu'il est disponible, il est employé. Pour les autres lois, c'est le pilotage
par incrément de déformation qui est activé. Il est probable que ce mécanisme évolue dans le cadre de
la version 6 du Code_Aster et que ces deux modes de pilotage soient activables indépendamment l'un
de l'autre.
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HI-75/01/001/A
Code_Aster ®
Version
5.0
Titre :
Méthodes de pilotage du chargement
Date :
21/05/01
Auteur(s) :
E. LORENTZ
Clé :
R5.03.80-A
Page :
6/12
Le pilotage par incrément de déformation consiste à exiger que l'incrément de déformation du pas
courant reste proche en direction de la déformation au début du pas de temps, et ce pour au moins un
point de Gauss de la structure. On requiert ainsi qualitativement qu'a minima un point de la structure
conserve le mode de déformation qu'il avait au préalable (par exemple, traction dans une direction
donnée). Mathématiquement, on peut rendre compte de cette exigence moyennant le choix de la
fonction de pilotage suivante :
-
(
P U) = Max g
-
g
avec g = Bg U- et g = Bg U
éq 3.3-1
-
g
g
où l'indice g balaie les points de Gauss de la structure et où la déformation en un point de Gauss se
déduit du vecteur nodal des déplacements via l'emploi des matrices « partie symétrique du gradient
des fonctions de forme » B g (à ne pas confondre avec la matrice des conditions de Dirichlet). Le
contrôle du pilotage en fonction de s'écrit alors :
-
(0)
g
n
cst
g
A
=
B U
U
-
g (
+
)
~(
0
1
P )
= max ( ( )
( )
g
g
A + g
A ) =
avec
-
éq 3.3-2
g
"$ #
$
%
$$
( )
1
g
pilo
L
B
U
g ()
g
A =
g
-
g
Une telle fonction est convexe et linéaire par morceaux. Elle admet généralement aucune, une ou deux
solutions, cf. [Figure 3.3-a]. Lorsqu'elle n'admet pas de solutions, on choisit comme précédemment la
~
~
valeur qui minimise P( )
; elle remplit la condition min P( )
> . Lorsqu'elle admet deux
~
solutions, on choisit celle qui conduit au U( )
le plus proche de U- .
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HI-75/01/001/A
Code_Aster ®
Version
5.0
Titre :
Méthodes de pilotage du chargement
Date :
21/05/01
Auteur(s) :
E. LORENTZ
Clé :
R5.03.80-A
Page :
7/12
Remarque 6 :
En présence de grandes déformations, on peut généraliser la fonction de pilotage [éq 3.3-1] en
employant des déformations de Green - Lagrange (mesure lagrangienne des déformations dans la
configuration initiale) :
-
(
e
1
P U) = Max g eg
avec e =
-
-
( T
F F - I )
d
F = Id + u
e = e - e
g
e
2
g
éq 3.3-3
Toutefois, on n'aboutirait plus comme précédemment à une fonction affine par morceaux. Pour y
remédier, on décide de procéder à une linéarisation de e g par rapport à U . P a alors une
expression similaire à [éq 3.3-2] avec :
-
e
A
g
(0)
T
n
cst
g
=
sym F
U
U
-
[ gg( + )]
e g
-
éq 3.3-4
e
A
g
( )
1
T
pilo
g
=
sym
F
U
-
[ g
]
eg
où U désigne le gradient (non symétrisé) des déplacements U évalué au point de Gauss d'indice
g
g .
~
~
~
P( )
P( )
P( )
Figure 3.3-a : Les différents cas de figure pour l'équation [éq 3.3-2] : deux, une ou aucune solutions
Pour résoudre l'équation [éq 3.3-2], on propose l'algorithme présenté dans la table [An1-1], [§5]. Il est
basé sur la construction d'intervalles emboîtés : les bornes du dernier d'entre eux sont les solutions de
~
l'équation et, comme annoncé précédemment, on choisit celle qui conduit au U( )
le plus proche de
U- . Cet algorithme, rapide, s'appuie sur la résolution de G équations scalaires linéaire, où G désigne
le nombre total de points de Gauss. L'algorithme peut prendre fin prématurément lorsque l'un des
intervalles est vide, ce qui signifie que l'équation [éq 3.3-2] n'admet pas de solutions.
Lorsqu'il n'existe pas de solutions à l'équation [éq 3.3-2], il s'agit alors, conformément à la remarque 3,
~
de minimiser P( )
, problème qui peut encore s'exprimer comme la minimisation d'une fonction
linéaire à deux variables sous G contraintes linéaires inégalités :
min max Lg ( )
min
y
avec lg ( ,
y) = Lg( )
- y
éq 3.3-5
g
, y
g lg (, y)0
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HI-75/01/001/A
Code_Aster ®
Version
5.0
Titre :
Méthodes de pilotage du chargement
Date :
21/05/01
Auteur(s) :
E. LORENTZ
Clé :
R5.03.80-A
Page :
8/12
On emploie ici l'algorithme du simplexe, cf. Bonnans et al. [bib2], dont l'application à notre problème est
présentée dans la table [An1-2], [§5].
3.4
Pilotage par la prédiction élastique : PRED_ELAS
Si le pilotage par l'incrément de déformation s'avère suffisant pour suivre des solutions dissipatives
dans la plupart des instabilités matériaux, l'existence de solutions n'est néanmoins pas prouvée. On lui
préfère alors une méthode de pilotage fondée sur la prédiction élastique pour laquelle l'existence de
solutions est démontrée mais qui, en revanche, est spécifique à chaque loi de comportement
(implantée uniquement pour les lois ENDO_LOCAL et BETON_ENDO_LOCAL). Plus précisément, lorsque
la loi de comportement est gouvernée par un seuil, on définit P comme le maximum sur tous les points
de Gauss de la valeur de la fonction seuil dans le cas d'un essai élastique (réponse incrémentale
élastique du matériau).
Ainsi, considérons que l'état du matériau est décrit par la déformation et un ensemble de variables
internes a. Appelons respectivement (,a) et (
A ,a) les contraintes et les forces
thermodynamiques associées à a . Supposons en outre que les lois d'évolution de a soient
gouvernées par un seuil f( ,
A ,a) et une fonction d'écoulement G( ,
A ,a) de la manière suivante :
&a = G( ,
A ,a)
avec 0 f
( ,
A ,a) 0 f( ,
A ,a) = 0
éq 3.4-1
Une telle formulation englobe la plupart des modèles de comportement dissipatifs et indépendants de
la vitesse de chargement. La fonction seuil vaut alors pour un essai élastique :
f el() = f(A(, - ), , -
a
a )
éq 3.4-2
On simplifie le problème en linéarisant f el par rapport à au voisinage d'un point qu'on définira
plus tard :
A
f
f
f el
el
=
+
+
-
éq 3.4-3
L ( )
f ( )
(
)
def
A
Finalement, la fonction de contrôle du pilotage est définie comme le maximum de f el par rapport à
L
tous les points de Gauss g, fonction qui ne dépend que de U :
(
P U) = Max f el
-
L ( + B g U)
avec g = BgU
éq 3.4-4
g
Il reste à définir , point au voisinage duquel on effectue la linéarisation. Il est choisi comme le point
le plus proche de - qui réalise :
~(
) avec ~( )
B ( -
U
Un
Ucst Upilo
el
g
)
=
=
+
+
+
et =
~
arg min fL ( )
éq 3.4-5
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HI-75/01/001/A
Code_Aster ®
Version
5.0
Titre :
Méthodes de pilotage du chargement
Date :
21/05/01
Auteur(s) :
E. LORENTZ
Clé :
R5.03.80-A
Page :
9/12
Une interprétation graphique de ce choix est donnée sur la [Figure 3.4-a]. Finalement, l'équation de
contrôle du pilotage s'écrit :
0
A
( )
f
f
A = f el( )+
+
(
-
n
cst
Bg (U
U
U ) )
A
+
+
-
max
1
0
g
A + g
A
=
éq 3.4-6
g
[ ( )
( ) ]
"$ #
$
%
$$
f A
f
( )
1
pilo
f el
A =
+
B U
L ( )
( g
)
A
On est ainsi ramené à un problème identique à celui du pilotage par l'incrément de la déformation. On
emploie bien entendu les mêmes algorithmes de résolution que ceux présentés au [§5].
~( )
~
2
2
( )
-
-
f el () = 0
f el() = 0
1
1
Figure 3.4-a : Définition de en fonction des positions relatives de la surface seuil f el
et des déformations ~
4 Bibliographie
[1]
Bonnet J. and Wood R. D. [1997]. Nonlinear continuum mechanics for finite element analysis.
Cambridge university press.
[2]
Bonnans J. F., Gilbert J.-C., Lemaréchal C. et Sagastizabal C. [1997]. Optimisation
numérique : aspects théoriques et pratiques. Mathématiques et Applications, 27, ed. Springer.
[3]
Lorentz E. and Badel P. [2001]. A load control method for damage finite element simulations.
Note interne EDF R&D, à paraître.
[4]
Shi J. and Crisfield M. A. [1995]. Combining arc-length control and line searches in path
following. Comm. Num. Meth. Eng. 11, pp. 793-803.
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HI-75/01/001/A
Code_Aster ®
Version
5.0
Titre :
Méthodes de pilotage du chargement
Date :
21/05/01
Auteur(s) :
E. LORENTZ
Clé :
R5.03.80-A
Page :
10/12
Annexe 1 : Algorithmes de résolution
(1)
Initialisation de l'intervalle
I0 = ]- + [
(2)
Boucle sur les points de Gauss g
(2.1)
Racine de la fonction linéaire active
g tq Lg (g ) =
(2.2)
Construction de l'intervalle suivant
(2.2.1)
Si la fonction linéaire active est croissante
A(1)
g
> 0 I g = I g-1 ]- g ]
(2.2.2)
Si la fonction linéaire active est décroissante
A(1)
g
< 0 I g = I g-1 [g + [
(2.3)
Arrêter si l'intervalle est vide
(3)
Les solutions sont les bornes de l'intervalle
Fr(IG ) max Lg ( )
=
g
Table An1-1 : Algorithme de résolution de l'équation affine par morceaux
(1)
Initialisation avec 0 donné
(1.1)
Gradient de la fonction à minimiser
G = (0, - )
1
(1.2)
Sommet initial
S0 = ( 0
, 0
y )
avec
0
y = max Lg( 0
)
g
(1.3)
Contrainte activée
g0
tq
y0 = Lg
0 (
0 )
(2)
Exploration des sommets successifs : boucle sur s
(2.1)
Définition d'une direction de descente
G N
D
s
(1)
s = G -
N s
avec N = - A , 1
N
s
gs
s N
(
)
s
(2.2)
Minimum trouvé si D s G = 0 (fond plat)
(2.3)
Avancée admissible g pour chaque contrainte g g g =
max
lg (Ss +Ds )0
(2.4)
Avancée effective s
s = min g
g
(2.5)
Minimum trouvé si s = 0
(2.5)
Sommet suivant
Ss+1 = Ss + s
Ds
(2.6)
Contrainte activée suivante gs+1
gs+1 tq s = gs+1
Table An1-2 : Algorithme de minimisation de la fonction affine par morceaux
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HI-75/01/001/A
Code_Aster ®
Version
5.0
Titre :
Méthodes de pilotage du chargement
Date :
21/05/01
Auteur(s) :
E. LORENTZ
Clé :
R5.03.80-A
Page :
11/12
~
P( )
G
L
1( )
S0
D0
L
4 ( )
S1
D
S
1
2
L
3 ( )
L
2 ( )
2
1
0
Figure An1-a : Illustration graphique de l'algorithme de minimisation
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HI-75/01/001/A
Code_Aster ®
Version
5.0
Titre :
Méthodes de pilotage du chargement
Date :
21/05/01
Auteur(s) :
E. LORENTZ
Clé :
R5.03.80-A
Page :
12/12
Page laissée intentionnellement blanche.
Manuel de Référence
Fascicule R5.03 : Mécanique non linéaire
HI-75/01/001/A
Document Outline