Table of Contents

Commit 2016-01-06

GPMx_d => MechanicalVolumeIntegrationMethod

Depuis la mise en place des méthodes d'intégration mécaniques , il était prévu que celles-ci contiennent leurs données propres d'intégration. C'est maintenant chose faite pour les éléments volumiques / AEJ et XFEM (pas les coques qui n'ont pas été écrite dans ce schéma):

AEJ :

XFEM :

Divers

Modification mesure temps CPU (Yves)

Suppression de l'opérateur bool de la classe Times.

operator bool() const;

Celui-ci était utilisé lors du “if(tStart)” lors de l'appel à la fonction read() renvoyant la mesure du temps.

Times
Timer::read() const
{
    if(tStart)
        return tElaps + Times().read() - tStart;
    else
        return tElaps;
}

L'appel au if(tStart) renvoyait un static_cast<bool>(user): user étant le temps écoulé dans l'espace utilisateur depuis le début du process. Cette valeur pouvait être nulle dans le cas où la phase de prépro précédent le démarrage du timer est très courte comme dans MetaLub2.0. Dans ce cas, le if(tStart) renvoyait 0, la fonction read() renvoyait tElaps initialisé à 0 et les différentes composantes du temps (kernel, user et real) étaient nulles bien que le temps CPU ait été différent de 0.

Pour corriger ça, j'ai introduit un booléen isOn dans la fonction read(), isOn étant mis à true lors du démarrage du timer.

Times
Timer::read() const
{
    if (isOn)
        return tElaps + Times().read() - tStart;
    else
        return tElaps;
}

tests

Fichiers ajoutés/supprimés

Added : 
Renamed : 
Deleted : oo_meta\mtElements\aej\AejElement.inl

Tests ajoutés/supprimés

Added : 
Renamed : 
Deleted :

Luc Papeleux 2016/01/06