Arcane  v3.16.4.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ITimeLoop.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* ITimeLoop.h (C) 2000-2025 */
9/* */
10/* Interface d'une boucle en temps. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ITIMELOOP_H
13#define ARCANE_CORE_ITIMELOOP_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \ingroup Module
29 * \brief Interface d'une boucle en temps.
30 */
31class ARCANE_CORE_EXPORT ITimeLoop
32{
33 public:
34
35 /*! @name Point d'appel
36 Endroit ou est utilisé le point d'entrée.
37 */
38 //@{
39 //! appelé pendant la boucle de calcul
40 static const char* WComputeLoop;
41 //! appelé lors de la lecture du jeu de données
42 static const char* WBuild;
43 //! appelé pendant l'initialisation, l'initialisation d'une reprise ou d'un nouveau cas
44 static const char* WInit;
45 //! appelé pour restaurer les variables lors d'un retour arrière
46 static const char* WRestore;
47 //! appelé après un changement de maillage
48 static const char* WOnMeshChanged;
49 //! appelé après un raffinement de maillage
50 static const char* WOnMeshRefinement;
51 //! appelé lors de la terminaison du code.
52 static const char* WExit;
53 //@}
54
55 public:
56
57 virtual ~ITimeLoop() = default; //!< Libère les ressources.
58
59 public:
60
61 //! Construit la boucle en temps
62 virtual void build() = 0;
63
64 public:
65
66 //! Application
67 virtual IApplication* application() const = 0;
68
69 public:
70
71 //! Nom de la boucle en temps
72 virtual String name() const = 0;
73
74 //! Titre de la boucle en temps
75 virtual String title() const = 0;
76
77 //! Positionne le titre de la boucle en temps
78 virtual void setTitle(const String&) = 0;
79
80 //! Description de la boucle en temps
81 virtual String description() const = 0;
82
83 //! Positionne la description de la boucle en temps
84 virtual void setDescription(const String&) = 0;
85
86 //! Liste des noms des modules obligatoires.
88
89 //! Positionne la liste des des modules obligatoires.
90 virtual void setRequiredModulesName(const StringCollection&) = 0;
91
92 //! Liste des noms des modules facultatifs.
94
95 //! Positionne la liste des des modules facultatifs.
96 virtual void setOptionalModulesName(const StringCollection&) = 0;
97
98 //! Liste des noms des points d'entrée pour le point d'appel \a where.
99 virtual TimeLoopEntryPointInfoCollection entryPoints(const String& where) const = 0;
100
101 //! Positionne la liste des noms des points d'entrée pour le point d'appel \a where
102 virtual void setEntryPoints(const String& where, const TimeLoopEntryPointInfoCollection&) = 0;
103
104 //! Liste des classes utilisateurs associées à la boucle en temps.
105 virtual StringCollection userClasses() const = 0;
106
107 //! Retourne la liste des classes associées à la boucle en temps.
108 virtual void setUserClasses(const StringCollection&) = 0;
109
110 //! Liste services singletons
111 virtual TimeLoopSingletonServiceInfoCollection singletonServices() const = 0;
112
113 //! Positionne la liste des services singletons.
114 virtual void setSingletonServices(const TimeLoopSingletonServiceInfoCollection& c) = 0;
115
116 //! Options de configuration
118};
119
120/*---------------------------------------------------------------------------*/
121/*---------------------------------------------------------------------------*/
122
123} // namespace Arcane
124
125/*---------------------------------------------------------------------------*/
126/*---------------------------------------------------------------------------*/
127
128#endif
129
Déclarations des types généraux de Arcane.
Interface de l'application.
Interface d'une configuration.
Interface d'une boucle en temps.
Definition ITimeLoop.h:32
virtual void setUserClasses(const StringCollection &)=0
Retourne la liste des classes associées à la boucle en temps.
static const char * WRestore
appelé pour restaurer les variables lors d'un retour arrière
Definition ITimeLoop.h:46
virtual StringCollection optionalModulesName() const =0
Liste des noms des modules facultatifs.
virtual void setRequiredModulesName(const StringCollection &)=0
Positionne la liste des des modules obligatoires.
virtual String title() const =0
Titre de la boucle en temps.
virtual IApplication * application() const =0
Application.
virtual TimeLoopEntryPointInfoCollection entryPoints(const String &where) const =0
Liste des noms des points d'entrée pour le point d'appel where.
static const char * WOnMeshChanged
appelé après un changement de maillage
Definition ITimeLoop.h:48
virtual void setTitle(const String &)=0
Positionne le titre de la boucle en temps.
virtual void setSingletonServices(const TimeLoopSingletonServiceInfoCollection &c)=0
Positionne la liste des services singletons.
static const char * WExit
appelé lors de la terminaison du code.
Definition ITimeLoop.h:52
virtual void build()=0
Construit la boucle en temps.
virtual IConfiguration * configuration()=0
Options de configuration.
virtual StringCollection requiredModulesName() const =0
Liste des noms des modules obligatoires.
virtual TimeLoopSingletonServiceInfoCollection singletonServices() const =0
Liste services singletons.
virtual ~ITimeLoop()=default
Libère les ressources.
virtual String description() const =0
Description de la boucle en temps.
static const char * WOnMeshRefinement
appelé après un raffinement de maillage
Definition ITimeLoop.h:50
virtual void setDescription(const String &)=0
Positionne la description de la boucle en temps.
virtual void setOptionalModulesName(const StringCollection &)=0
Positionne la liste des des modules facultatifs.
static const char * WBuild
appelé lors de la lecture du jeu de données
Definition ITimeLoop.h:42
static const char * WComputeLoop
appelé pendant la boucle de calcul
Definition ITimeLoop.h:40
virtual void setEntryPoints(const String &where, const TimeLoopEntryPointInfoCollection &)=0
Positionne la liste des noms des points d'entrée pour le point d'appel where.
virtual StringCollection userClasses() const =0
Liste des classes utilisateurs associées à la boucle en temps.
static const char * WInit
appelé pendant l'initialisation, l'initialisation d'une reprise ou d'un nouveau cas
Definition ITimeLoop.h:44
virtual String name() const =0
Nom de la boucle en temps.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Collection< String > StringCollection
Collection de chaînes de caractères.
Definition UtilsTypes.h:593