12#ifndef ARCANE_ITIMELOOPMNG_H
13#define ARCANE_ITIMELOOPMNG_H
17#include "arcane/ArcaneTypes.h"
28enum class eTimeLoopEventType
76 virtual void build() =0;
208 virtual void setBackwardMng(
IBackwardMng* backward_mng) = 0;
Interface d'un point d'entrée d'un module.
Interface d'un partitionneur de maillage.
Interface d'un observable.
Interface du gestionnaire d'un sous-domaine.
Interface du gestionnaire de la boucle en temps.
virtual EntryPointCollection loopEntryPoints()=0
Retourne la liste des points d'entrée de type 'ComputeLoop' de la boucle en temps.
virtual Integer nbLoop() const =0
Nombre de boucles de calcul (ComputeLoop) effectuées.
virtual void timeLoopsName(StringCollection &names) const =0
Retourne dans names la liste des noms des boucles en temps.
virtual void timeLoops(TimeLoopCollection &time_loops) const =0
Retourne dans time_loops la liste des boucles en temps.
virtual ITimeLoop * createTimeLoop(const String &name)=0
Crée une boucle en temps de nom name.
virtual int doComputeLoop(Integer max_loop=0)=0
Exécute la boucle de calcul.
virtual void execBuildEntryPoints()=0
Exécute les points d'entrée de construction.
virtual IEntryPoint * currentEntryPoint()=0
Retourne le point d'entrée en cours d'exécution ou 0 s'il n'y en a pas.
virtual EntryPointCollection usedTimeLoopEntryPoints()=0
Liste de tous les points d'entrée pour la boucle en temps actuelle.
virtual void goBackward()=0
Effectue un retour arrière.
virtual eTimeLoopStopReason stopReason() const =0
Raison pour laquelle on arrête le code.
virtual void setVerificationActive(bool is_active)=0
Positionne l'état du mode de vérification.
virtual void doVerification(const String &name)=0
Effectue une vérification.
virtual ITimeLoop * usedTimeLoop() const =0
Retourne la boucle en temps utilisée.
virtual IEntryPoint * nextEntryPoint()=0
Retourne le prochain point d'entrée à exécuter ou 0 s'il n'y en a pas.
virtual void execOnMeshRefinementEntryPoints()=0
Exécute les points d'entrée après raffinement.
virtual bool isDoingBackward()=0
Vrai si on est actuellement dans un retour-arrière.
virtual void execInitEntryPoints(bool is_continue)=0
Exécute les points d'entrée d'initialisation.
virtual void stopComputeLoop(bool is_final_time, bool has_error=false)=0
Indique que la boucle de calcul doit s'interrompre.
virtual void setStopReason(eTimeLoopStopReason reason)=0
Positionne la raison pour laquelle on arrête le code.
virtual void registerTimeLoop(ITimeLoop *time_loop)=0
Enregistrement et choix de la boucle en temps.
virtual void setBackwardSavePeriod(Integer n)=0
Positionne la période entre deux sauvegarde pour le retour arrière. Si cette valeur est nulle,...
virtual Real cpuTimeUsed() const =0
Retourne le temps CPU utilisé en secondes.
virtual IObservable * observable(eTimeLoopEventType type)=0
Observable sur l'instance.
virtual void setUsedTimeLoop(const String &name)=0
Positionne la boucle en temps à exécuter. Sélectionne la boucle en temps de nom name comme celle qui ...
virtual ~ITimeLoopMng()
Libère les ressources.
virtual void registerActionMeshPartition(IMeshPartitionerBase *mesh_partitioner)=0
Programme un repartitionnement du maillage avec l'outil de partition mesh_partitioner.
virtual int doOneIteration()=0
Lance l'exécution d'une itération de la boucle de calcul.
virtual void doExecNextEntryPoint(bool &is_last)=0
virtual void execOnMeshChangedEntryPoints()=0
Exécute les points d'entrée après rééquilibrage.
virtual bool finalTimeReached() const =0
Retourne true si le temps final est atteint.
virtual void execExitEntryPoints()=0
Exécute les points d'entrée de terminaison.
virtual ISubDomain * subDomain() const =0
< Retourne le gestionnaire du sous-domaine
Interface d'une boucle en temps.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eTimeLoopStopReason
Raison pour laquelle on arrête le code.
@ MaxIterationReached
Arrêt car nombre d'itération maximal spécifié atteint.
@ NoStop
Indique qu'on n'est pas encore en mode d'arrête du code.
@ FinalTimeReached
Arrêt car temps final atteint.
@ NoReason
Pas de raison spécifique.
@ Error
Arrêt sur une erreur.
Collection< ITimeLoop * > TimeLoopCollection
Collection de boucles en temps.
Collection< IEntryPoint * > EntryPointCollection
Collection de points d'entrées.