Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2018:01_05

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki