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: 2018/01/09 23:06 by wautelet