Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ISubDomain.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* ISubDomain.h (C) 2000-2021 */
9/* */
10/* Interface d'un sous-domaine. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_ISUBDOMAIN_H
13#define ARCANE_ISUBDOMAIN_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19#include "arcane/IBase.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30class IVariableMng;
31class IModuleMng;
32class IServiceMng;
33class IEntryPointMng;
34class IModule;
35class IMeshIOService;
36class IMesh;
37class IMeshMng;
38class ApplicationInfo;
39class IIOMng;
40class ITimeLoopMng;
41class CaseOptionsMain;
42class IParallelMng;
43class IThreadMng;
44class IDirectory;
45class ITimeHistoryMng;
46class ICaseMng;
47class IInterfaceMng;
48class ITimerMng;
49class ITimeStats;
50class IRessourceMng;
51class CommonVariables;
52class IMainFactory;
53class ICaseDocument;
54class XmlNode;
55class IMemoryInfo;
56class IObservable;
57class IInitialPartitioner;
58class IDirectExecution;
59class IPhysicalUnitSystem;
60class ILoadBalanceMng;
61class IModuleMaster;
62class ICheckpointMng;
63class IPropertyMng;
64class IConfiguration;
65class MeshHandle;
66
67/*---------------------------------------------------------------------------*/
68/*---------------------------------------------------------------------------*/
72class ARCANE_CORE_EXPORT ISubDomain
73: public IBase
74{
75 protected:
76
77 virtual ~ISubDomain() {}
78
79 public:
80
81 virtual void destroy() =0;
82
83 public:
84
87
89 virtual ISession* session() const =0;
90
93
96
98 virtual IModuleMng* moduleMng() =0;
99
102
105
115
117 virtual IThreadMng* threadMng() =0;
118
121
124
126 virtual IIOMng* ioMng() =0;
127
129 virtual ICaseMng* caseMng() =0;
130
132 virtual ITimerMng* timerMng() const =0;
133
135 virtual ICheckpointMng* checkpointMng() const =0;
136
138 virtual IPropertyMng* propertyMng() const =0;
139
141 virtual ITimeStats* timeStats() const =0;
142
144 virtual IMemoryInfo* memoryInfo() const =0;
145
148
151
153 virtual IMeshMng* meshMng() const =0;
154
156 virtual IModuleMaster* moduleMaster() const =0;
157
159 virtual const IConfiguration* configuration() const =0;
160
163
166
167 public:
168
170 virtual Int32 subDomainId() const =0;
171
173 virtual Int32 nbSubDomain() const =0;
174
176 virtual void readCaseMeshes() =0;
177
185 virtual void setIsContinue() =0;
186
188 virtual bool isContinue() const =0;
189
198 virtual void allocateMeshes() =0;
199
208 virtual void readOrReloadMeshes() =0;
209
216
221 virtual void doInitMeshPartition() =0;
222
224 ARCCORE_DEPRECATED_2020("Use meshMng()->meshFactoryMng() to create and add mesh")
225 virtual void addMesh(IMesh* mesh) =0;
226
228 virtual ConstArrayView<IMesh*> meshes() const =0;
229
235 virtual ARCANE_DEPRECATED_2018 void doInitModules() =0;
236
238 virtual void doExitModules() =0;
239
241 virtual void dumpInfo(std::ostream&) =0;
242
250 virtual IMesh* defaultMesh() =0;
251
258 virtual const MeshHandle& defaultMeshHandle() =0;
259
260 virtual ARCANE_DEPRECATED IMesh* mesh() =0;
261
268 ARCCORE_DEPRECATED_2019("Use meshMng()->findMeshHandle() instead")
269 virtual IMesh* findMesh(const String& name,bool throw_exception=true) =0;
270
272 virtual bool isInitialized() const =0;
273
278 virtual void setIsInitialized() =0;
279
281 virtual const ApplicationInfo& applicationInfo() const =0;
282
284 virtual ICaseDocument* caseDocument() =0;
285
291 virtual void checkId(const String& where,const String& id) =0;
292
294 virtual const String& caseFullFileName() const =0;
295
297 virtual const String& caseName() const =0;
298
300 virtual void fillCaseBytes(ByteArray& bytes) const =0;
301
306 virtual void setCaseName(const String& name) =0;
307
320 virtual void setInitialPartitioner(IInitialPartitioner* partitioner) =0;
321
323 virtual const CaseOptionsMain* caseOptionsMain() const =0;
324
326 virtual const IDirectory& exportDirectory() const =0;
327
334 virtual void setExportDirectory(const IDirectory& dir) =0;
335
337 virtual const IDirectory& storageDirectory() const =0;
338
346 virtual void setStorageDirectory(const IDirectory& dir) =0;
347
349 virtual const IDirectory& listingDirectory() const =0;
350
357 virtual void setListingDirectory(const IDirectory& dir) =0;
358
360 virtual const CommonVariables& commonVariables() const =0;
361
368 virtual void dumpInternalInfos(XmlNode& elem) =0;
369
374 virtual Integer ARCANE_DEPRECATED meshDimension() const =0;
375
379 virtual IObservable* onDestroyObservable() =0;
380
382 virtual IDirectExecution* directExecution() const =0;
383
390 virtual void setDirectExecution(IDirectExecution* v) =0;
391};
392
393/*---------------------------------------------------------------------------*/
394/*---------------------------------------------------------------------------*/
395
396} // End namespace Arcane
397
398/*---------------------------------------------------------------------------*/
399/*---------------------------------------------------------------------------*/
400
401#endif
402
Interface du gestionnaire des accélérateurs.
Informations sur une application.
Tableau d'items de types quelconques.
Variables communes d'un cas.
Interface de l'application.
Interface de la classe de base des objets principaux arcane.
Definition IBase.h:38
Interface d'une classe gérant un document XML du jeu de données.
Interface du gestionnaire de cas.
Definition ICaseMng.h:56
Interface du gestionnaire des informations des protections.
Interface d'une configuration.
Interface d'un service d'exécution direct.
Interface d'une classe gérant un répertoire.
Definition IDirectory.h:31
Interface du gestionnaire de point d'entrée.
Interface du gestionnaire des entrées sorties.
Definition IIOMng.h:42
Interface d'un partitionneur initial.
Interface d'enregistrement des variables pour l'equilibrage de charge.
Manufacture des classes d'Arcane.
Interface d'un collecteur d'informations sur l'usage mémoire.
Definition IMemoryInfo.h:60
Interface du gestionnaire des maillages.
Definition IMeshMng.h:40
Interface du module principal.
Interface du gestionnaire de modules.
Definition IModuleMng.h:39
Interface d'un observable.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Interface d'un système d'unité.
Interface du gestionnaire des propriétés.
Interface d'une session d'exécution d'un cas.
Definition ISession.h:44
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
virtual IModuleMng * moduleMng()=0
Retourne le gestionnaire de modules.
ARCCORE_DEPRECATED_2020("Use meshMng()->meshFactoryMng() to create and add mesh") virtual void addMesh(IMesh *mesh)=0
Ajoute un maillage au sous-domaine.
virtual IThreadMng * threadMng()=0
Retourne le gestionnaire de thread.
virtual Int32 subDomainId() const =0
Numéro du sous-domaine associé à ce gestionnaire.
virtual IIOMng * ioMng()=0
Retourne le gestionnaire des entrées/sorties.
virtual void doInitMeshPartition()=0
Applique le partitionnement de maillage de l'initialisation.
virtual IMemoryInfo * memoryInfo() const =0
Gestionnaire d'informations mémoire.
virtual ICheckpointMng * checkpointMng() const =0
Gestionnaire de protections.
virtual ITimeStats * timeStats() const =0
Statistiques des temps d'exécution.
virtual ~ISubDomain()
Libère les ressources.
Definition ISubDomain.h:77
virtual IApplication * application()=0
Application.
virtual IConfiguration * configuration()=0
Configuration associée.
virtual IPropertyMng * propertyMng() const =0
Gestionnaire de propriétés.
virtual IParallelMng * parallelMng()=0
Retourne le gestionnaire de parallélisme.
virtual const IConfiguration * configuration() const =0
Configuration associée.
virtual IMeshMng * meshMng() const =0
Retourne le gestionnaire de maillage.
virtual ISession * session() const =0
Session.
virtual bool isContinue() const =0
Vrai si on effectue une reprise, faux sinon.
virtual ITimeLoopMng * timeLoopMng()=0
Retourne le gestionnaire de la boucle en temps.
virtual void initializeMeshVariablesFromCaseFile()=0
Initialise les variables dont les valeurs sont spécifiées dans le jeu de données.
virtual ITimeHistoryMng * timeHistoryMng()=0
Retourne le gestionnaire d'historique.
virtual Int32 nbSubDomain() const =0
Nombre total de sous-domaines.
virtual IModuleMaster * moduleMaster() const =0
Interface du module maître.
virtual IVariableMng * variableMng()=0
Retourne le gestionnaire de variables.
virtual ITimerMng * timerMng() const =0
Retourne le gestionnaire de timers.
virtual void readOrReloadMeshes()=0
Lit ou relit les maillages.
virtual void readCaseMeshes()=0
Lit les informations de maillage du jeu de données.
virtual IMainFactory * mainFactory()=0
Manufacture principale.
virtual void allocateMeshes()=0
Alloue les instances.
virtual IEntryPointMng * entryPointMng()=0
Retourne le gestionnaire de points d'entrée.
virtual IPhysicalUnitSystem * physicalUnitSystem()=0
Système d'unité du sous-domaine.
virtual ICaseMng * caseMng()=0
Retourne le gestionnaire du jeu de données.
virtual void setIsContinue()=0
Positionne un flag indiquant qu'on effectue une reprise.
virtual IParallelMng * allReplicaParallelMng() const =0
Retourne le gestionnaire de parallélisme pour tous les réplicats.
virtual ILoadBalanceMng * loadBalanceMng()=0
Retourne le gestionnaire d'équilibrage de charge.
virtual IAcceleratorMng * acceleratorMng()=0
Gestionnaire de l'accélérateur associé
Interface d'un gestionnaire de thread.
Definition IThreadMng.h:30
Classe gérant un historique de valeurs.
Interface du gestionnaire de la boucle en temps.
Interface gérant les statistiques sur les temps d'exécution.
Definition ITimeStats.h:48
Interface d'un gestionnaire de timer.
Definition ITimerMng.h:53
Interface du gestionnaire de variables.
Vue typée sur une liste d'entités d'une connectivité.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Handle sur un maillage.
Definition MeshHandle.h:47
Noeud d'un arbre DOM.
Definition XmlNode.h:51
Vue constante d'un tableau de type T.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-