commit:2018:01_05
Table of Contents
Commit 2018-01-05
Ce commit est pour un petit nettoyage de la routine IterationResolution.
IterationResolution
1) J'ai fait entrer la ligne de code im.incrementIterationNo() dans le “if/else im.getMaxNbOfIterationsReached()”, ce qui est beaucoup plus cohérent !
void
TimeIntegration::iterationResolution(IterationManager &im,
Field const *dofType, bool &rester)
{
if(im.getMaxNbOfIterationsReached())
{
GW : Error during Step => division du pas de temps et recalcul du step à nouveau.
}
else
{
GW : Calcul de l'inverse de la matrice jacobienne + correction dX + lineSearch éventuellement.
}
im.incrementIterationNo(); // devrait etre dans le "else" du "if(im.getMaxNbOfIterationsReached())"
Ceci rentre dans le "else".
}
De fait, suite à cette correction, le nombre d'itérations mécaniques et thermiques totales de nombreux cas tests a été modifié (1,161 cas tests impactés sur gaston). Mais les nombres de step restent inchangés, excepté les cas-tests instables connus !
2) J'ai commentarisé la ligne de commande “this→metafor.getDomain().getEqualityDofConstraintsSet().impose();” car ceci est fait plus bas suite à la routine dofsCorrections(). En effet, tant que les valeurs des dofs n'ont pas été changées, il n'est pas nécessaire de faire cette opération !
Line Search - Affichage du résidu
J'ai formalisé la sortie du Line Search comme les itérations mécaniques : notations scientifiques sous forme exponentielle.
Fichiers ajoutés/supprimés
[a]: [r]:
Cas tests ajoutés/supprimés
[a]: [r]:
— gaëtan 2017/01/05 20:00
commit/2018/01_05.txt · Last modified: by wautelet
