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:33] – [LineSearch - Initial Balancing et IterationResolution] 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' |
+ | < | ||
+ | *** STEP 28: t= 2 - dt= 0.015238 - CPU= 1.72s/6.60s | ||
+ | |||
+ | mechanical iteration | ||
+ | cpuRatio = 4 reactualisation = 1 iterationIsRefused = 0 | ||
+ | - Line search : iteration | ||
+ | - Line search : iteration | ||
+ | mechanical iteration | ||
+ | </ | ||
On comprend directement l' | On comprend directement l' | ||
- | Le plus gros problème est qu'il faut garantir quelque soit le comportement des algorithmes | + | Le plus gros problème est qu'il faut garantir quelque soit le comportement des algorithmes |
+ | <note important> | ||
===== Fichiers ajoutés/ | ===== Fichiers ajoutés/ |
commit/2018/01_06.1515274415.txt.gz · Last modified: by wautelet