Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::IBackwardMngabstract

Interface gérant les stratégies de retour-arrière. Plus de détails...

#include <arcane/core/IBackwardMng.h>

+ Graphe d'héritage de Arcane::IBackwardMng:
+ Graphe de collaboration de Arcane::IBackwardMng:

Types publics

enum  eAction { Save , Restore }
 

Fonctions membres publiques

virtual void init ()=0
 Initialisation du manager de retour en arrière.
 
virtual void beginAction ()=0
 Indique qu'on commence les actions de sauvegarde/restauration sont terminées.
 
virtual bool checkAndApplyRestore ()=0
 Vérifie et applique la restauration si nécessaire.
 
virtual bool checkAndApplySave (bool is_forced)=0
 Vérifie et applique la sauvegarde des variables si nécessaire. Si is_forced est vrai, force la sauvegarde.
 
virtual void endAction ()=0
 Indique que les actions de sauvegarde/restauration sont terminées.
 
virtual void setSavePeriod (Integer n)=0
 
virtual Integer savePeriod () const =0
 
virtual void goBackward ()=0
 Signale qu'on souhaite effectué un retour arrière.
 
virtual bool isLocked () const =0
 Indique si les sauvegardes de retour-arrière sont vérouillées.
 
virtual bool isBackwardEnabled () const =0
 Indique si un retour-arrière est programmé.
 
virtual void clear ()=0
 Supprime les ressources associées au retour-arrière.
 

Description détaillée

Interface gérant les stratégies de retour-arrière.

Cette interface est utilisée par le ITimeLoopMng pour gérer les retour-arrière. Le principe du retour-arrière est de sauvegarder à une itération donnée les valeurs des variables pour pouvoir revenir à cette itération, par exemple en cas de problème dans le calcul.

Il est possible de positionner une instance spécifique via ITimeLoopMng::setBackwardMng();

L'enchainement des opérations, effectué à la fin de chaque itération, est géré par l'instance de ITimeLoopMng. Il est comme suit:

bw->beginAction();
if (bw->checkAndApplyRestore()){
// Exécution des points d'entrée de restoration.
}
bw->checkAndApplySave();
bw->endAction();
Interface gérant les stratégies de retour-arrière.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120

Définition à la ligne 54 du fichier IBackwardMng.h.

Documentation des énumérations membres

◆ eAction

Valeurs énumérées
Save 

Sauvegarde.

Restore 

Restauration.

Définition à la ligne 59 du fichier IBackwardMng.h.

Documentation des constructeurs et destructeur

◆ ~IBackwardMng()

virtual Arcane::IBackwardMng::~IBackwardMng ( )
inlinevirtual

Définition à la ligne 69 du fichier IBackwardMng.h.

Documentation des fonctions membres

◆ beginAction()

virtual void Arcane::IBackwardMng::beginAction ( )
pure virtual

Indique qu'on commence les actions de sauvegarde/restauration sont terminées.

Implémenté dans Arcane::DefaultBackwardMng.

Référencé par Arcane::TimeLoopMng::doOneIteration().

◆ checkAndApplyRestore()

virtual bool Arcane::IBackwardMng::checkAndApplyRestore ( )
pure virtual

Vérifie et applique la restauration si nécessaire.

Valeurs retournées
truesi une restauration est effectuée.

Implémenté dans Arcane::DefaultBackwardMng.

Référencé par Arcane::TimeLoopMng::doOneIteration().

◆ checkAndApplySave()

virtual bool Arcane::IBackwardMng::checkAndApplySave ( bool  is_forced)
pure virtual

Vérifie et applique la sauvegarde des variables si nécessaire. Si is_forced est vrai, force la sauvegarde.

Valeurs retournées
truesi une sauvegarde est effectuée.

Implémenté dans Arcane::DefaultBackwardMng.

Référencé par Arcane::TimeLoopMng::doOneIteration().

◆ clear()

virtual void Arcane::IBackwardMng::clear ( )
pure virtual

Supprime les ressources associées au retour-arrière.

Cette méthode est appelé pour désallouer les ressources comme les sauvegardes des variables. Cette méthode est appelée entre autre avant un équilibrage de charge puisqu'il ne sera pas possible de faire un retour-arrière avant cet équilibrage.

Implémenté dans Arcane::DefaultBackwardMng.

Référencé par Arcane::TimeLoopMng::_doMeshPartition().

◆ endAction()

virtual void Arcane::IBackwardMng::endAction ( )
pure virtual

Indique que les actions de sauvegarde/restauration sont terminées.

Implémenté dans Arcane::DefaultBackwardMng.

Référencé par Arcane::TimeLoopMng::doOneIteration().

◆ goBackward()

virtual void Arcane::IBackwardMng::goBackward ( )
pure virtual

Signale qu'on souhaite effectué un retour arrière.

Le retour arrière aura lieu lors de l'appel à checkAndApplyRestore().

En général il ne faut pas appeler directement cette méthode mais plutôt ITimeLoopMng::goBackward().

Depuis l'appel à cette méthode jusqu'à l'action effective du retour-arrière lors de l'appel à checkAndApplyRestore(), isBackwardEnabled() retourne true.

Implémenté dans Arcane::DefaultBackwardMng.

Référencé par Arcane::TimeLoopMng::doOneIteration(), et Arcane::TimeLoopMng::goBackward().

◆ init()

virtual void Arcane::IBackwardMng::init ( )
pure virtual

Initialisation du manager de retour en arrière.

Implémenté dans Arcane::DefaultBackwardMng.

◆ isBackwardEnabled()

virtual bool Arcane::IBackwardMng::isBackwardEnabled ( ) const
pure virtual

Indique si un retour-arrière est programmé.

Voir également
goBackward().

Implémenté dans Arcane::DefaultBackwardMng.

Référencé par Arcane::TimeLoopMng::doOneIteration(), et Arcane::TimeLoopMng::registerActionMeshPartition().

◆ isLocked()

virtual bool Arcane::IBackwardMng::isLocked ( ) const
pure virtual

Indique si les sauvegardes de retour-arrière sont vérouillées.

isLocked() est vrai s'il n'est pas possible de faire une sauvegarde. C'est le cas par exemple lorsqu'on a effectué à l'itération M un retour arrière vers l'itération N et qu'on n'est pas encore revenu à l'itération M.

Implémenté dans Arcane::DefaultBackwardMng.

Référencé par Arcane::TimeLoopMng::isDoingBackward(), et Arcane::TimeLoopMng::registerActionMeshPartition().


La documentation de cette classe a été générée à partir du fichier suivant :