commit:2018:01_06
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
commit:2018:01_06 [2018/01/06 22:37] – [Nettoyage du flag forcesAreComputed de IterationManager] wautelet | commit:2018:01_06 [2018/01/09 22:53] (current) – wautelet | ||
---|---|---|---|
Line 2: | Line 2: | ||
Ce commit est pour un petit nettoyage de la routine IterationResolution. | Ce commit est pour un petit nettoyage de la routine IterationResolution. | ||
- | |||
- | ==== IterationResolution ==== | ||
- | |||
- | J'ai fait entré la ligne de code im.incrementIterationNo() dans le " | ||
- | |||
- | J'ai commentarisé la ligne de commande | ||
- | |||
- | J'ai formalisé la sortie du Line Search comme les itérations mécaniques : notations scientifiques sous forme exponentielle. | ||
==== LineSearch - Initial Balancing et IterationResolution ==== | ==== LineSearch - Initial Balancing et IterationResolution ==== | ||
- | Si on désire utiliser l' | + | Si on désire utiliser l' |
Le résidu du line search est une fonction de la taille du pas α le long de la direction de recherche Δx(i) obtenue par la méthode de Newton-Raphson à l' | Le résidu du line search est une fonction de la taille du pas α le long de la direction de recherche Δx(i) obtenue par la méthode de Newton-Raphson à l' | ||
Line 23: | Line 15: | ||
resLS(0)=FOOB(x(i)).Δx(i) | resLS(0)=FOOB(x(i)).Δx(i) | ||
- | Puisque la direction de recherche \mathbf{\Delta x^{(i)} respecte la relation suivante : | + | Puisque la direction de recherche $\mathbf{\Delta x}^{(i)}$ respecte la relation suivante : |
- | + | ||
- | \mathbf{K}_{T}^(i) \mathbf{\Delta x^{(i)} = - \mathbf{F}^{{OOB}^{(i)}} | + | |
- | + | ||
- | Ainsi, nous avons que le résidu du line search est négatif si la matrice de raideur tangente est définie positive. | + | |
+ | K(i)T.Δx(i)=−FOOB(i) | ||
+ | Ainsi, nous avons que le résidu du line search est négatif en α=0 si la matrice de raideur tangente est définie positive : | ||
+ | resLS(0)=− Δx(i).K(i)T.Δx(i) | ||
+ | <note important> | ||
+ | < | ||
+ | if (res_k > 0.0) // test Lpx (pas logique mais snecmaRupt + DSS pivot nul => res > 0 ...) | ||
+ | { | ||
+ | rester_ls = false; | ||
+ | WARNING_MESSAGE(" | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
==== Nettoyage du flag forcesAreComputed de IterationManager ==== | ==== Nettoyage du flag forcesAreComputed de IterationManager ==== | ||
- | Ce flag est utilisée principalement pour éviter de calculer deux fois d' | + | Ce flag est utilisée principalement pour éviter de calculer deux fois d' |
< | < | ||
Line 50: | Line 50: | ||
Le plus gros problème est qu'il faut garantir quelque soit le comportement des algorithmes utilisés pour la résolution d'un pas de temps, que ce flag soit dans un état cohérent, ce qui est loin d' | Le plus gros problème est qu'il faut garantir quelque soit le comportement des algorithmes utilisés pour la résolution d'un pas de temps, que ce flag soit dans un état cohérent, ce qui est loin d' | ||
+ | <note important> | ||
===== Fichiers ajoutés/ | ===== Fichiers ajoutés/ |
commit/2018/01_06.1515274623.txt.gz · Last modified: by wautelet