Accélération de Convergence
1 Accélération de convergence
1.1 Construction d’un sous-espace sécant
Le principe consiste à réduire l’opérateur tangent (inconnu et on ne souhaite pas le calculer) à un sous espace (Line Search Multidimension)
A chaque itération est associé un couple
{ ⃗ U
i, ⃗ R
i}
vérifiant l’équation suivante :⃗ F
ext( ⃗ U
i) − ⃗ F
int( ⃗ U
i) =⃗ R
iIl faut définir un produit scalaire auquel on associe la norme Euclidienne (le choix de la norme n’est pas unique) :
-
⃗u⋅⃗v=
∑
i=1 q
(
uivi)
-
‖⃗ v‖=⃗ v⋅⃗ v
Remarques :
1- La norme Euclidienne est choisie parce que la minimisation (dérivation) fait apparaitre un système linéaire (facile à résoudre).
2- On minimise
⃗ R ⋅⃗ R
mais on pourrait envisager de minimiser le travail associé à l’incrément de déplacement :⃗ ΔU⋅⃗ R
En sélectionnant
⃗ R
n l’un des résidus (au choix), aprèsm+ 1
itérations, on peut construire m vecteurs( ⃗ R
i≠n−⃗ R
n)
constituant un espace vectoriel (Ils ne sont pas nécessairement libres). Une base orthonormée{ ⃗ b
i}
constituée de p vecteurs (
p≤m
) est fabriquée à l’aide du procédé d’orthogonalisation de Gram-Schmidt :⃗b1=β1
(
⃗R1−⃗Rn)
⋮
⃗bi≠n=βi
[ (
⃗Ri−⃗Rn)
−k=1∑
i−1( (
pik−pnk)
⃗bk) ]
¿
{¿{¿ ¿ ¿
¿ Avec :
βi=‖(⃗Ri−⃗Rn)−
∑
k=1 i−1
(
(pik−pnk)⃗bk)
‖pjk=⃗Rj⋅⃗bk
¿
{¿ ¿ ¿
¿
Il est à présent possible d’écrire n’importe quel vecteur
⃗ R
dans le sous espace affine associé par la relation suivante :⃗R=⃗Rn+
∑
i=1 p
(
λi⃗bi)
1/3
1.2 Minimisation du résidu
L’opération suivante consiste à déterminer les
λ
ktel que la norme
‖⃗ R acc ‖
soit minimale.
∀ k ∈ [
1; p] ∂ ( ⃗ R
acc⋅⃗ R
acc)
∂ λ
k=2 ∂⃗ R
acc∂ λ
k⋅⃗ R
acc=0
⇒ ∀ k ∈ [
1; p ]
2∂ ⃗ R
acc∂ λ
k⋅⃗ R
acc=0
Calcul du terme
∂⃗ R
acc∂ λ
k∂⃗Racc
∂λk =
∂
(
⃗Rn+∑
i=1 p(
λi⃗bi) )
∂λk =
∂
( ∑
i=1 p(
λib⃗i) )
∂λk =
∑
i=1
p
(
∂∂(
λλi⃗bki) )
=∑
i=1 p(
∂∂λλki⃗bi
)
=∑
i=1 p(
δik⃗bi)
= ⃗bkCe qui donne, en l’introduisant dans la relation précédente et en développant :
∀ k ∈ [
1; p ] ⃗ R ⋅ ∂⃗ R
acc∂ λ
k=0
⇒ ( ⃗ R
n+ ∑
i=1 p( λ
i⃗ b
i) ) ⋅⃗ b
k=0
⇒⃗ R
n⋅⃗ b
k+ [ ∑
i=1p( λ
i⃗ b
i) ] ⋅⃗ b
k=0
⇒⃗ R
n⋅⃗ b
k+ [ ∑
i=1p( λ
i( ⃗ b
k⋅⃗ b
i) ) ] =0
⇒⃗ R
n⋅⃗ b
k+ [ ∑
i=1p( λ
iδ
ki) ] =0
⇒⃗ R
n⋅⃗ b
k+ λ
k=0
⇒ λ
k=−⃗ R
n⋅⃗ b
kPrécédemment on a déjà calculé
⃗ R
n⋅⃗ b
k lors de l’orthogonalisation :p
nk=⃗ R
n⋅⃗ b
k⇒ λ
k=− p
nkLes
λ
kminimisant
‖⃗ R‖
sont déjà déterminés durant la fabrication de la base orthonormée. Ainsi, le nouveau résidu projeté (corrigé) vaut :⃗Racc=⃗Rn−
∑
i=1 p
(
pni⃗bi)
2/3
Le nouvel incrément de déplacement
⃗ ΔU
accsera calculé à l’aide de l’opérateur
K
(raideur élastique par défaut dans Cast3M mais on pourrait choisir autre chose) et sera ajouté au déplacement⃗ U
n associé au résidu⃗ R
n deréférence :
⃗ ΔU
acc= K
−1⋅⃗ R
acc⇒⃗ U
i+1=⃗ U
n+⃗ ΔU
accLe comportement peut à nouveau être évalue par
⃗ F
ext( ⃗ U
i+1) − ⃗ F
int( ⃗ U
i+1) =⃗ R
i+1 et l’opération se poursuit à chaque itération.3/3