Gestionnaire de la boucle en temps. Plus de détails...
Classes | |
struct | ModuleState |
Types publics | |
enum | eVerifType { VerifNone , VerifWrite , VerifRead , VerifSync , VerifSameReplica } |
typedef std::map< String, ModuleState > | ModuleStateMap |
Liste des états des modules. | |
typedef std::map< String, ITimeLoop * > | TimeLoopMap |
Liste de boucles en temps. | |
typedef std::map< String, IModuleFactoryInfo * > | ModuleFactoryMap |
Liste des fabriques des modules indéxés par leur nom. | |
Fonctions membres publiques | |
TimeLoopMng (ISubDomain *sd) | |
void | build () override |
ISubDomain * | subDomain () const override |
< Retourne le gestionnaire du sous-domaine | |
void | execExitEntryPoints () override |
Exécute les points d'entrée de terminaison. | |
void | execBuildEntryPoints () override |
Exécute les points d'entrée de construction. | |
void | execInitEntryPoints (bool is_continue) override |
Exécute les points d'entrée d'initialisation. | |
void | stopComputeLoop (bool is_final_time, bool has_error) override |
Indique que la boucle de calcul doit s'interrompre. | |
bool | finalTimeReached () const override |
Retourne true si le temps final est atteint. | |
Real | cpuTimeUsed () const override |
Retourne le temps CPU utilisé en secondes. | |
EntryPointCollection | loopEntryPoints () override |
Retourne la liste des points d'entrée de type 'ComputeLoop' de la boucle en temps. | |
EntryPointCollection | usedTimeLoopEntryPoints () override |
Liste de tous les points d'entrée pour la boucle en temps actuelle. | |
void | registerTimeLoop (ITimeLoop *timeloop) override |
Enregistrement et choix de la boucle en temps. | |
void | setUsedTimeLoop (const String &name) override |
Positionne la boucle en temps à exécuter. Sélectionne la boucle en temps de nom name comme celle qui sera exécutée. Cette méthode effectue les opérations suivantes: | |
ITimeLoop * | usedTimeLoop () const override |
Retourne la boucle en temps utilisée. | |
void | doExecNextEntryPoint (bool &is_last) override |
IEntryPoint * | nextEntryPoint () override |
Retourne la fonction suivante à appeler. | |
IEntryPoint * | currentEntryPoint () override |
Retourne le point d'entrée en cours d'exécution ou 0 s'il n'y en a pas. | |
int | doOneIteration () override |
Lance l'exécution d'une itération de la boucle de calcul. | |
void | setBackwardMng (IBackwardMng *backward_mng) override |
IBackwardMng * | getBackwardMng () const override |
void | goBackward () override |
Effectue un retour arrière. | |
bool | isDoingBackward () override |
Vrai si on est actuellement dans un retour-arrière. | |
void | setBackwardSavePeriod (Integer n) override |
Positionne la période entre deux sauvegarde pour le retour arrière. Si cette valeur est nulle, le retour arrière est désactivé. | |
void | setVerificationActive (bool is_active) override |
Positionne l'état du mode de vérification. | |
void | doVerification (const String &name) override |
Effectue une vérification. | |
void | registerActionMeshPartition (IMeshPartitionerBase *mesh_partitioner) override |
Programme un repartitionnement du maillage avec l'outil de partition mesh_partitioner. | |
void | timeLoopsName (StringCollection &names) const override |
Retourne dans names la liste des noms des boucles en temps. | |
void | timeLoops (TimeLoopCollection &time_loops) const override |
Retourne dans time_loops la liste des boucles en temps. | |
ITimeLoop * | createTimeLoop (const String &name) override |
Crée une boucle en temps de nom name. | |
int | doComputeLoop (Integer max_loop) override |
Exécute la boucle de calcul. | |
Integer | nbLoop () const override |
Nombre de boucles de calcul (ComputeLoop) effectuées. | |
void | setStopReason (eTimeLoopStopReason reason) override |
Positionne la raison pour laquelle on arrête le code. | |
eTimeLoopStopReason | stopReason () const override |
Raison pour laquelle on arrête le code. | |
void | execRestoreEntryPoints () |
void | execOnMeshChangedEntryPoints () override |
Exécute les points d'entrée après rééquilibrage. | |
void | execOnMeshRefinementEntryPoints () override |
Exécute les points d'entrée après raffinement. | |
ITraceMng * | traceMng () |
IObservable * | observable (eTimeLoopEventType type) override |
Observable sur l'instance. | |
Fonctions membres publiques hérités de Arccore::TraceAccessor | |
TraceAccessor (ITraceMng *m) | |
Construit un accesseur via le gestionnaire de trace m. | |
TraceAccessor (const TraceAccessor &rhs) | |
Constructeur par recopie. | |
TraceAccessor & | operator= (const TraceAccessor &rhs) |
Opérateur de recopie. | |
virtual | ~TraceAccessor () |
Libère les ressources. | |
ITraceMng * | traceMng () const |
Gestionnaire de trace. | |
TraceMessage | info () const |
Flot pour un message d'information. | |
TraceMessage | pinfo () const |
Flot pour un message d'information en parallèle. | |
TraceMessage | info (char category) const |
Flot pour un message d'information d'une catégorie donnée. | |
TraceMessage | pinfo (char category) const |
Flot pour un message d'information parallèle d'une catégorie donnée. | |
TraceMessage | info (bool v) const |
Flot pour un message d'information. | |
TraceMessage | warning () const |
Flot pour un message d'avertissement. | |
TraceMessage | pwarning () const |
TraceMessage | error () const |
Flot pour un message d'erreur. | |
TraceMessage | perror () const |
TraceMessage | log () const |
Flot pour un message de log. | |
TraceMessage | plog () const |
Flot pour un message de log. | |
TraceMessage | logdate () const |
Flot pour un message de log précédé de la date. | |
TraceMessage | fatal () const |
Flot pour un message d'erreur fatale. | |
TraceMessage | pfatal () const |
Flot pour un message d'erreur fatale en parallèle. | |
TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
Flot pour un message de debug. | |
Trace::eDebugLevel | configDbgLevel () const |
Niveau debug du fichier de configuration. | |
TraceMessage | info (Int32 verbose_level) const |
Flot pour un message d'information d'un niveau donné | |
TraceMessage | linfo () const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
TraceMessage | linfo (Int32 relative_level) const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
void | fatalMessage (const StandaloneTraceMessage &o) const |
Fonctions membres publiques hérités de Arcane::ITimeLoopMng | |
virtual | ~ITimeLoopMng () |
Libère les ressources. | |
Fonctions membres protégées | |
void | _addExecuteEntryPoint (IEntryPoint *) |
Ajoute un point d'entrée à exécuter. | |
bool | _createModule (const String &module_name) |
Crée un module à partir de son nom. | |
void | _processEntryPoints (EntryPointList &entry_points, const TimeLoopEntryPointInfoCollection &entry_points_info, const char *where) |
Ajoute à la liste entry_points les points d'entrée proposés dans entry_points_info. | |
void | _fillModuleStateMap (ITimeLoop *time_loop) |
Fonctions membres protégées hérités de Arccore::TraceAccessor | |
void | _setLocalVerboseLevel (Int32 v) |
Int32 | _localVerboseLevel () const |
Fonctions membres protégées statiques | |
static void | _extractModuleAndEntryPointName (const String &timeloop_call_name, String &module_name, String &entry_point_name) |
Fonctions membres privées | |
void | _execOneEntryPoint (IEntryPoint *ic, Integer index_value=0, bool do_verif=false) |
void | _dumpTimeInfos (JSONWriter &json_writer) |
void | _resetTimer () const |
void | _checkVerif (const String &entry_point_name, Integer index, bool do_verif) |
void | _checkVerifSameOnAllReplica (const String &entry_point_name) |
void | _createOwnDefaultBackwardMng () |
void | _doMeshPartition () |
Effectue un repartitionnement des maillages. | |
void | _fillModuleFactoryMap () |
Remplit m_module_factory_map avec la liste des fabriques disponibles. | |
void | _createSingletonServices (IServiceLoader *service_loader) |
void | _callSpecificEntryPoint () |
Attributs privés | |
ISubDomain * | m_sub_domain |
Gestionnaire du sous-domaine. | |
IEntryPointMng * | m_entry_point_mng |
Gestionnaire de points d'entrée. | |
ModuleList | m_list_execute_module |
Liste des modules à éxécuter. | |
EntryPointList | m_build_entry_points |
Liste des points d'entrée à exécuter lors de la construction. | |
EntryPointList | m_loop_entry_points |
Liste des points d'entrée à exécuter. | |
EntryPointList | m_init_entry_points |
Liste des points d'entrée à exécuter à l'initialisation. | |
EntryPointList | m_exit_entry_points |
Liste des points d'entrée à exécuter à la terminaison. | |
EntryPointList | m_restore_entry_points |
Liste des points d'entrée à exécuter lors d'un retour arrière. | |
EntryPointList | m_on_mesh_changed_entry_points |
Liste des points d'entrée à exécuter après un changement de maillage. | |
EntryPointList | m_on_mesh_refinement_entry_points |
Liste des points d'entrée à exécuter après un raffinement. | |
EntryPointList | m_used_time_loop_entry_points |
Liste de tous les points d'entrée de la boucle en temps utilisée. | |
TimeLoopMap | m_time_loop_list |
Liste des boucles en temps. | |
ITimeLoop * | m_default_time_loop |
Boucle en temps par défaut. | |
ITimeLoop * | m_used_time_loop |
Boucle en temps utilisée. | |
IEntryPoint * | m_current_entry_point_ptr |
Point d'entrée en cours d'exécution. | |
bool | m_stop_time_loop |
bool | m_stop_has_error |
bool | m_final_time_reached |
Integer | m_current_entry_point |
Prochain point d'entrée à exécuter. | |
eVerifType | m_verif_type |
Type de vérifications. | |
bool | m_verif_same_parallel |
String | m_verif_path |
Répertoire de sauvegarde/lecture des verifs. | |
bool | m_verification_active |
bool | m_verification_at_entry_point |
Si vrai, effectue vérifications à chaque point d'entrée, sinon uniquement en fin d'itération. | |
bool | m_verification_only_at_exit = false |
IBackwardMng * | m_backward_mng |
Gestionnaire du retour-arrière;. | |
bool | m_my_own_backward_mng |
ModuleStateMap | m_module_state_list |
ModuleFactoryMap | m_module_factory_map |
Etat de tous les modules référencés. | |
ModuleFactoryMap | m_lang_module_factory_map |
Liste des fabriques des modules. | |
Ref< IVerifierService > | m_verifier_service |
Liste des fabriques des modules dans la langue du JDD. | |
UniqueArray< IMeshPartitionerBase * > | m_mesh_partitioner |
String | m_message_class_name |
Integer | m_alarm_timer_value |
Integer | m_nb_loop |
ObservablePool< eTimeLoopEventType > | m_observables |
eTimeLoopStopReason | m_stop_reason |
Ref< IMessagePassingProfilingService > | m_msg_pass_prof_srv |
String | m_specific_entry_point_name |
Pour test, point d'entrée spécifique à appeler. | |
Gestionnaire de la boucle en temps.
Définition à la ligne 96 du fichier TimeLoopMng.cc.
Liste des fabriques des modules indéxés par leur nom.
Définition à la ligne 125 du fichier TimeLoopMng.cc.
Liste des états des modules.
Définition à la ligne 121 du fichier TimeLoopMng.cc.
typedef std::map<String,ITimeLoop*> Arcane::TimeLoopMng::TimeLoopMap |
Liste de boucles en temps.
Définition à la ligne 123 du fichier TimeLoopMng.cc.
Définition à la ligne 111 du fichier TimeLoopMng.cc.
|
explicit |
Définition à la ligne 334 du fichier TimeLoopMng.cc.
|
override |
Définition à la ligne 382 du fichier TimeLoopMng.cc.
|
protected |
Ajoute un point d'entrée à exécuter.
Ajoute le point d'entrée s à la liste des points d'entrée.
Définition à la ligne 1441 du fichier TimeLoopMng.cc.
Références Arcane::CollectionBase::count(), Arccore::TraceAccessor::debug(), Arccore::TraceAccessor::log(), m_build_entry_points, m_current_entry_point, m_exit_entry_points, m_init_entry_points, m_list_execute_module, m_loop_entry_points, m_on_mesh_changed_entry_points, m_on_mesh_refinement_entry_points, m_restore_entry_points, m_used_time_loop_entry_points, Arcane::IEntryPoint::WBuild, Arcane::IEntryPoint::WComputeLoop, Arcane::IEntryPoint::WContinueInit, Arcane::IEntryPoint::WInit, Arcane::IEntryPoint::WOnMeshChanged, Arcane::IEntryPoint::WOnMeshRefinement, Arcane::IEntryPoint::WRestore, et Arcane::IEntryPoint::WStartInit.
Référencé par setUsedTimeLoop().
|
private |
Définition à la ligne 1035 du fichier TimeLoopMng.cc.
|
private |
Définition à la ligne 657 du fichier TimeLoopMng.cc.
Définition à la ligne 761 du fichier TimeLoopMng.cc.
Crée un module à partir de son nom.
Définition à la ligne 1420 du fichier TimeLoopMng.cc.
Références Arccore::TraceAccessor::info(), et m_module_factory_map.
Référencé par setUsedTimeLoop().
|
private |
Définition à la ligne 488 du fichier TimeLoopMng.cc.
|
private |
Définition à la ligne 1184 du fichier TimeLoopMng.cc.
|
private |
Effectue un repartitionnement des maillages.
Définition à la ligne 980 du fichier TimeLoopMng.cc.
Références Arcane::IMeshBase::cellFamily(), Arcane::IBackwardMng::clear(), Arcane::ISubDomain::commonVariables(), execOnMeshChangedEntryPoints(), Arccore::TraceAccessor::info(), m_backward_mng, Arcane::IMeshBase::name(), Arccore::TraceAccessor::plog(), subDomain(), Arcane::Timer::TimerReal, et Arcane::IMesh::utilities().
Référencé par doOneIteration().
|
private |
Définition à la ligne 1485 du fichier TimeLoopMng.cc.
|
private |
Définition à la ligne 633 du fichier TimeLoopMng.cc.
|
staticprotected |
Retourne le nom du module et le nom du point d'entrée à partir du nom référencé dans la boucle en temps, de type ModuleName.EntryPointName.
Définition à la ligne 1360 du fichier TimeLoopMng.cc.
Références ARCANE_FATAL.
Référencé par _processEntryPoints().
|
private |
Remplit m_module_factory_map avec la liste des fabriques disponibles.
Définition à la ligne 1382 du fichier TimeLoopMng.cc.
Références ARCANE_FATAL, Arcane::ISubDomain::caseMng(), Arccore::TraceAccessor::info(), m_lang_module_factory_map, m_module_factory_map, m_sub_domain, subDomain(), et Arccore::TraceAccessor::warning().
Référencé par setUsedTimeLoop().
Renseigne la liste d'état des modules en fonction des informations contenues dans les éléments <modules> de la boucle en temps et du fichier de données.
Définition à la ligne 1281 du fichier TimeLoopMng.cc.
Références ARCANE_FATAL, Arcane::ISubDomain::caseMng(), m_lang_module_factory_map, m_sub_domain, et Arccore::TraceAccessor::pwarning().
Référencé par setUsedTimeLoop().
|
protected |
Ajoute à la liste entry_points les points d'entrée proposés dans entry_points_info.
Controle que ceux ci sont bien associé à where
Définition à la ligne 1223 du fichier TimeLoopMng.cc.
Références _extractModuleAndEntryPointName(), ARCANE_FATAL, Arcane::IEntryPointMng::findEntryPoint(), Arccore::TraceAccessor::log(), m_entry_point_mng, Arcane::IEntryPoint::WComputeLoop, Arcane::ITimeLoop::WComputeLoop, Arcane::IEntryPoint::WContinueInit, Arcane::ITimeLoop::WExit, Arcane::IEntryPoint::WInit, Arcane::ITimeLoop::WInit, Arcane::IEntryPoint::WRestore, Arcane::ITimeLoop::WRestore, et Arcane::IEntryPoint::WStartInit.
Référencé par setUsedTimeLoop().
|
private |
Définition à la ligne 1910 du fichier TimeLoopMng.cc.
|
overridevirtual |
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 397 du fichier TimeLoopMng.cc.
|
overridevirtual |
Retourne le temps CPU utilisé en secondes.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 1657 du fichier TimeLoopMng.cc.
Références Arcane::IEntryPointMng::entryPoints(), et m_entry_point_mng.
Crée une boucle en temps de nom name.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 1718 du fichier TimeLoopMng.cc.
Références Arcane::ISubDomain::application(), et m_sub_domain.
|
inlineoverridevirtual |
Retourne le point d'entrée en cours d'exécution ou 0 s'il n'y en a pas.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 156 du fichier TimeLoopMng.cc.
Références m_current_entry_point_ptr.
|
overridevirtual |
Exécute la boucle de calcul.
La boucle de calcul est exécutée jusqu'à l'appel à la méthode stopComputeLoop() ou que le nombre de boucles effectuées est égal à max_loop si max_loop est différent de 0.
1 | si le code s'arrête normalement suite au temps final atteint |
2 | si le code s'arrête normalement suite à max_loop atteint |
<0 | si le calcul s'arrête suite à une erreur. |
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 1773 du fichier TimeLoopMng.cc.
Références Arcane::ISubDomain::commonVariables(), Arcane::IParallelMng::commRank(), doOneIteration(), doVerification(), Arccore::ITraceMng::flush(), Arcane::platform::getProfilingService(), Arccore::TraceAccessor::info(), m_backward_mng, m_specific_entry_point_name, Arcane::MaxIterationReached, Arccore::String::null(), Arcane::ISubDomain::parallelMng(), Arccore::TraceAccessor::pinfo(), stopComputeLoop(), subDomain(), et Arcane::ISubDomain::variableMng().
Execute le point d'entrée suivant dans la liste.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 804 du fichier TimeLoopMng.cc.
Références ARCANE_FATAL, m_current_entry_point, m_loop_entry_points, et m_used_time_loop.
|
overridevirtual |
Lance l'exécution d'une itération de la boucle de calcul.
0 | si le code doit continuer. |
>0 | si le calcul s'arrête normalement. |
<0 | si le calcul s'arrête suite à une erreur. |
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 845 du fichier TimeLoopMng.cc.
Références _doMeshPartition(), ARCANE_FATAL, Arcane::IBackwardMng::beginAction(), Arcane::IBackwardMng::checkAndApplyRestore(), Arcane::IBackwardMng::checkAndApplySave(), Arcane::IBackwardMng::endAction(), Arcane::IBackwardMng::goBackward(), Arccore::TraceAccessor::info(), Arcane::IBackwardMng::isBackwardEnabled(), m_backward_mng, m_loop_entry_points, m_used_time_loop, m_verif_type, m_verification_at_entry_point, subDomain(), Arcane::ICaseFunction::value(), et VerifWrite.
Référencé par doComputeLoop().
Effectue une vérification.
Cette opération est collective.
Cette opération permet d'effectuer manuellement une opération de vérification, dont le nom est name. Ce nom name doit être unique pour une itération donnée.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 648 du fichier TimeLoopMng.cc.
Référencé par doComputeLoop().
|
overridevirtual |
Exécute les points d'entrée de construction.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 536 du fichier TimeLoopMng.cc.
Références Arccore::TraceAccessor::info(), m_build_entry_points, m_sub_domain, et Arcane::IEntryPoint::WBuild.
|
overridevirtual |
Exécute les points d'entrée de terminaison.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 599 du fichier TimeLoopMng.cc.
Références Arccore::ITraceMng::flush(), Arccore::TraceAccessor::info(), m_exit_entry_points, m_sub_domain, Arccore::ITraceMng::plog(), et subDomain().
Exécute les points d'entrée d'initialisation.
is_continue | est vrai si on est en reprise |
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 518 du fichier TimeLoopMng.cc.
Références Arccore::TraceAccessor::info(), m_init_entry_points, m_sub_domain, Arcane::IEntryPoint::WContinueInit, Arcane::IEntryPoint::WInit, et Arcane::IEntryPoint::WStartInit.
|
overridevirtual |
Exécute les points d'entrée après rééquilibrage.
Exécute les points d'entrée après rééquilibrage
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 567 du fichier TimeLoopMng.cc.
Références Arccore::TraceAccessor::info(), m_on_mesh_changed_entry_points, et m_sub_domain.
Référencé par _doMeshPartition().
|
overridevirtual |
Exécute les points d'entrée après raffinement.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 583 du fichier TimeLoopMng.cc.
Références Arccore::TraceAccessor::info(), m_on_mesh_refinement_entry_points, et m_sub_domain.
void Arcane::TimeLoopMng::execRestoreEntryPoints | ( | ) |
Définition à la ligne 552 du fichier TimeLoopMng.cc.
|
inlineoverridevirtual |
Retourne true si le temps final est atteint.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 142 du fichier TimeLoopMng.cc.
|
inlineoverridevirtual |
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 162 du fichier TimeLoopMng.cc.
|
overridevirtual |
Effectue un retour arrière.
Cette méthode positionne juste un marqueur. Le retour arrière a effectivement lieu lorsque le point d'entrée actuellement en cours d'exécution se termine.
Après retour-arrière, les points d'entrée de retour-arrière sont appelés.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 1683 du fichier TimeLoopMng.cc.
Références Arcane::IBackwardMng::goBackward(), et m_backward_mng.
|
overridevirtual |
Vrai si on est actuellement dans un retour-arrière.
Un retour arrière est actif tant que le temps physique est inférieur au temps physique atteint avant le déclechement du retout-arrière.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 1672 du fichier TimeLoopMng.cc.
Références Arcane::IBackwardMng::isLocked(), et m_backward_mng.
|
inlineoverridevirtual |
Retourne la liste des points d'entrée de type 'ComputeLoop' de la boucle en temps.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 145 du fichier TimeLoopMng.cc.
Références m_loop_entry_points.
|
inlineoverridevirtual |
Nombre de boucles de calcul (ComputeLoop) effectuées.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 183 du fichier TimeLoopMng.cc.
|
overridevirtual |
Retourne la fonction suivante à appeler.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 832 du fichier TimeLoopMng.cc.
Références m_current_entry_point, et m_loop_entry_points.
|
inlineoverridevirtual |
Observable sur l'instance.
Le type de l'observable est donné par type
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 196 du fichier TimeLoopMng.cc.
|
overridevirtual |
Programme un repartitionnement du maillage avec l'outil de partition mesh_partitioner.
Cette méthode positionne juste un marqueur. Le repartitionnement a effectivement lieu lorsque le dernier point d'entrée de la boucle de calcul est terminé (fin d'une itération).
Après partitionnement, les points d'entrée de changement de maillage sont appelés.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 1757 du fichier TimeLoopMng.cc.
Références Arccore::TraceAccessor::info(), Arcane::IBackwardMng::isBackwardEnabled(), Arcane::IBackwardMng::isLocked(), et m_backward_mng.
Enregistrement et choix de la boucle en temps.
Enregistre une boucle en temps. Enregistre la boucle en temps time_loop.
Si une boucle en temps de même nom que time_loop est déjà référencée, la nouvelle remplace l'ancienne.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 1048 du fichier TimeLoopMng.cc.
Références ARCANE_FATAL, Arccore::TraceAccessor::log(), m_time_loop_list, et Arcane::ITimeLoop::name().
|
overridevirtual |
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 499 du fichier TimeLoopMng.cc.
|
inlineoverridevirtual |
Positionne la période entre deux sauvegarde pour le retour arrière. Si cette valeur est nulle, le retour arrière est désactivé.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 166 du fichier TimeLoopMng.cc.
Références m_backward_mng.
|
overridevirtual |
Positionne la raison pour laquelle on arrête le code.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 1728 du fichier TimeLoopMng.cc.
Positionne la boucle en temps à exécuter. Sélectionne la boucle en temps de nom name comme celle qui sera exécutée. Cette méthode effectue les opérations suivantes:
L'opération est un échec et provoque une erreur fatal dans l'un des cas suivants:
Si name est nulle, la boucle en temps utilisée est la boucle par défaut qui ne contient aucune point d'entrée explicite. Elle contient uniquement les points d'entrée automatiquement enregistrés.
true | en cas d'erreur, |
false | sinon. |
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 1068 du fichier TimeLoopMng.cc.
Références _addExecuteEntryPoint(), _createModule(), _fillModuleFactoryMap(), _fillModuleStateMap(), _processEntryPoints(), ARCANE_FATAL, Arcane::CollectionBase::clear(), Arcane::ITimeLoop::configuration(), Arcane::IEntryPointMng::entryPoints(), Arcane::ITimeLoop::entryPoints(), Arccore::TraceAccessor::info(), Arccore::TraceAccessor::logdate(), m_default_time_loop, m_entry_point_mng, m_sub_domain, m_time_loop_list, m_used_time_loop, m_used_time_loop_entry_points, Arcane::IEntryPoint::PAutoLoadBegin, Arcane::IEntryPoint::PAutoLoadEnd, Arcane::ITimeLoop::WBuild, Arcane::ITimeLoop::WComputeLoop, Arcane::ITimeLoop::WExit, Arcane::ITimeLoop::WInit, Arcane::ITimeLoop::WOnMeshChanged, Arcane::ITimeLoop::WOnMeshRefinement, et Arcane::ITimeLoop::WRestore.
Positionne l'état du mode de vérification.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 173 du fichier TimeLoopMng.cc.
Indique que la boucle de calcul doit s'interrompre.
Si is_final_time est vrai, cela indique que le temps final est atteint. Si has_error est vrai, cela indique que le calcul est arrété suite à une erreur. Dans ce cas, le code de retour de l'application sera différent de 0.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 1737 du fichier TimeLoopMng.cc.
Références Arcane::Error, Arcane::FinalTimeReached, Arcane::NoReason, et Arcane::NoStop.
Référencé par doComputeLoop().
|
inlineoverridevirtual |
Raison pour laquelle on arrête le code.
Si la valeur est eTimeLoopStopReason::NoStop, alors le code n'est pas en arrêt.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 186 du fichier TimeLoopMng.cc.
|
inlineoverridevirtual |
< Retourne le gestionnaire du sous-domaine
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 136 du fichier TimeLoopMng.cc.
Références m_sub_domain.
Référencé par _doMeshPartition(), _fillModuleFactoryMap(), doComputeLoop(), doOneIteration(), et execExitEntryPoints().
|
overridevirtual |
Retourne dans time_loops la liste des boucles en temps.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 1708 du fichier TimeLoopMng.cc.
Références m_time_loop_list.
|
overridevirtual |
Retourne dans names la liste des noms des boucles en temps.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 1698 du fichier TimeLoopMng.cc.
Références m_time_loop_list.
|
inline |
Définition à la ligne 194 du fichier TimeLoopMng.cc.
|
inlineoverridevirtual |
Retourne la boucle en temps utilisée.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 151 du fichier TimeLoopMng.cc.
Références m_used_time_loop.
|
inlineoverridevirtual |
Liste de tous les points d'entrée pour la boucle en temps actuelle.
Implémente Arcane::ITimeLoopMng.
Définition à la ligne 146 du fichier TimeLoopMng.cc.
Références m_used_time_loop_entry_points.
|
private |
Définition à la ligne 294 du fichier TimeLoopMng.cc.
|
private |
Gestionnaire du retour-arrière;.
Définition à la ligne 283 du fichier TimeLoopMng.cc.
Référencé par _doMeshPartition(), doComputeLoop(), doOneIteration(), goBackward(), isDoingBackward(), registerActionMeshPartition(), et setBackwardSavePeriod().
|
private |
Liste des points d'entrée à exécuter lors de la construction.
Définition à la ligne 237 du fichier TimeLoopMng.cc.
Référencé par _addExecuteEntryPoint(), et execBuildEntryPoints().
|
private |
Prochain point d'entrée à exécuter.
Définition à la ligne 273 du fichier TimeLoopMng.cc.
Référencé par _addExecuteEntryPoint(), doExecNextEntryPoint(), et nextEntryPoint().
|
private |
Point d'entrée en cours d'exécution.
Définition à la ligne 267 du fichier TimeLoopMng.cc.
Référencé par currentEntryPoint().
|
private |
Boucle en temps par défaut.
Définition à la ligne 263 du fichier TimeLoopMng.cc.
Référencé par setUsedTimeLoop().
|
private |
Gestionnaire de points d'entrée.
Définition à la ligne 231 du fichier TimeLoopMng.cc.
Référencé par _processEntryPoints(), cpuTimeUsed(), et setUsedTimeLoop().
|
private |
Liste des points d'entrée à exécuter à la terminaison.
Définition à la ligne 246 du fichier TimeLoopMng.cc.
Référencé par _addExecuteEntryPoint(), et execExitEntryPoints().
|
private |
Définition à la ligne 271 du fichier TimeLoopMng.cc.
|
private |
Liste des points d'entrée à exécuter à l'initialisation.
Définition à la ligne 243 du fichier TimeLoopMng.cc.
Référencé par _addExecuteEntryPoint(), et execInitEntryPoints().
|
private |
Liste des fabriques des modules.
Définition à la ligne 289 du fichier TimeLoopMng.cc.
Référencé par _fillModuleFactoryMap(), et _fillModuleStateMap().
|
private |
Liste des modules à éxécuter.
Définition à la ligne 234 du fichier TimeLoopMng.cc.
Référencé par _addExecuteEntryPoint().
|
private |
Liste des points d'entrée à exécuter.
Définition à la ligne 240 du fichier TimeLoopMng.cc.
Référencé par _addExecuteEntryPoint(), doExecNextEntryPoint(), doOneIteration(), loopEntryPoints(), et nextEntryPoint().
|
private |
Définition à la ligne 292 du fichier TimeLoopMng.cc.
|
private |
Définition à la ligne 293 du fichier TimeLoopMng.cc.
|
private |
Etat de tous les modules référencés.
Définition à la ligne 288 du fichier TimeLoopMng.cc.
Référencé par _createModule(), et _fillModuleFactoryMap().
|
private |
Définition à la ligne 286 du fichier TimeLoopMng.cc.
|
private |
Définition à la ligne 302 du fichier TimeLoopMng.cc.
|
private |
Définition à la ligne 284 du fichier TimeLoopMng.cc.
|
private |
Définition à la ligne 295 du fichier TimeLoopMng.cc.
|
private |
Définition à la ligne 297 du fichier TimeLoopMng.cc.
|
private |
Liste des points d'entrée à exécuter après un changement de maillage.
Définition à la ligne 252 du fichier TimeLoopMng.cc.
Référencé par _addExecuteEntryPoint(), et execOnMeshChangedEntryPoints().
|
private |
Liste des points d'entrée à exécuter après un raffinement.
Définition à la ligne 255 du fichier TimeLoopMng.cc.
Référencé par _addExecuteEntryPoint(), et execOnMeshRefinementEntryPoints().
|
private |
Liste des points d'entrée à exécuter lors d'un retour arrière.
Définition à la ligne 249 du fichier TimeLoopMng.cc.
Référencé par _addExecuteEntryPoint().
|
private |
Pour test, point d'entrée spécifique à appeler.
Définition à la ligne 305 du fichier TimeLoopMng.cc.
Référencé par doComputeLoop().
|
private |
Définition à la ligne 270 du fichier TimeLoopMng.cc.
|
private |
Définition à la ligne 299 du fichier TimeLoopMng.cc.
|
private |
Définition à la ligne 269 du fichier TimeLoopMng.cc.
|
private |
Gestionnaire du sous-domaine.
Définition à la ligne 228 du fichier TimeLoopMng.cc.
Référencé par _fillModuleFactoryMap(), _fillModuleStateMap(), createTimeLoop(), execBuildEntryPoints(), execExitEntryPoints(), execInitEntryPoints(), execOnMeshChangedEntryPoints(), execOnMeshRefinementEntryPoints(), setUsedTimeLoop(), et subDomain().
|
private |
Liste des boucles en temps.
Définition à la ligne 261 du fichier TimeLoopMng.cc.
Référencé par registerTimeLoop(), setUsedTimeLoop(), timeLoops(), et timeLoopsName().
|
private |
Boucle en temps utilisée.
Définition à la ligne 265 du fichier TimeLoopMng.cc.
Référencé par doExecNextEntryPoint(), doOneIteration(), setUsedTimeLoop(), et usedTimeLoop().
|
private |
Liste de tous les points d'entrée de la boucle en temps utilisée.
Définition à la ligne 258 du fichier TimeLoopMng.cc.
Référencé par _addExecuteEntryPoint(), setUsedTimeLoop(), et usedTimeLoopEntryPoints().
|
private |
Répertoire de sauvegarde/lecture des verifs.
Définition à la ligne 277 du fichier TimeLoopMng.cc.
|
private |
Définition à la ligne 276 du fichier TimeLoopMng.cc.
|
private |
Type de vérifications.
Définition à la ligne 275 du fichier TimeLoopMng.cc.
Référencé par doOneIteration().
|
private |
Définition à la ligne 278 du fichier TimeLoopMng.cc.
|
private |
Si vrai, effectue vérifications à chaque point d'entrée, sinon uniquement en fin d'itération.
Définition à la ligne 280 du fichier TimeLoopMng.cc.
Référencé par doOneIteration().
Définition à la ligne 281 du fichier TimeLoopMng.cc.
|
private |
Liste des fabriques des modules dans la langue du JDD.
Définition à la ligne 291 du fichier TimeLoopMng.cc.