14#include "arcane/impl/MainFactory.h"
16#include "arcane/utils/Iostream.h"
17#include "arcane/utils/PlatformUtils.h"
18#include "arcane/utils/ITraceMng.h"
19#include "arcane/utils/ScopedPtr.h"
21#include "arcane/IArcaneMain.h"
22#include "arcane/ISubDomain.h"
23#include "arcane/IModuleMng.h"
24#include "arcane/IModule.h"
25#include "arcane/IModuleMaster.h"
26#include "arcane/ServiceUtils.h"
27#include "arcane/IFactoryService.h"
28#include "arcane/IMeshFactory.h"
29#include "arcane/IPrimaryMesh.h"
30#include "arcane/IApplication.h"
31#include "arcane/ItemGroup.h"
32#include "arcane/ServiceBuilder.h"
33#include "arcane/IMeshMng.h"
34#include "arcane/MeshHandle.h"
35#include "arcane/MeshBuildInfo.h"
37#include "arcane/impl/internal/MeshFactoryMng.h"
48extern "C++" ARCANE_IMPL_EXPORT IArcaneMain*
49createArcaneMainBatch(
const ApplicationInfo& app_info,IMainFactory* main_factory);
50extern "C++" IApplication* arcaneCreateApplication(IArcaneMain*);
51extern "C++" IVariableMng* arcaneCreateVariableMng(ISubDomain*);
52extern "C++" IModuleMng* arcaneCreateModuleMng(ISubDomain*);
53extern "C++" IEntryPointMng* arcaneCreateEntryPointMng(ISubDomain*);
54extern "C++" ARCANE_IMPL_EXPORT ITimeHistoryMng* arcaneCreateTimeHistoryMng2(ISubDomain*);
55extern "C++" ICaseMng* arcaneCreateCaseMng(ISubDomain*);
56extern "C++" ICaseDocument* arcaneCreateCaseDocument(ITraceMng*,
const String& lang);
57extern "C++" ICaseDocument* arcaneCreateCaseDocument(ITraceMng*,IXmlDocumentHolder* doc);
58extern "C++" ITimeStats* arcaneCreateTimeStats(ITimerMng* timer_mng,ITraceMng* trm,
const String& name);
59extern "C++" ITimeLoopMng* arcaneCreateTimeLoopMng(ISubDomain*);
60extern "C++" IServiceLoader* arcaneCreateServiceLoader();
61extern "C++" IServiceMng* arcaneCreateServiceMng(IBase*);
62extern "C++" ICheckpointMng* arcaneCreateCheckpointMng(ISubDomain*);
63extern "C++" IPropertyMng* arcaneCreatePropertyMng(ITraceMng*);
64extern "C++" Ref<IPropertyMng> arcaneCreatePropertyMngReference(ITraceMng*);
65extern "C++" IDataFactory* arcaneCreateDataFactory(IApplication*);
66extern "C++" Ref<IDataFactoryMng> arcaneCreateDataFactoryMngRef(IApplication*);
67extern "C++" ITraceMng* arcaneCreateTraceMng();
68extern "C++" ITraceMngPolicy* arcaneCreateTraceMngPolicy(IApplication*);
69extern "C++" ILoadBalanceMng* arcaneCreateLoadBalanceMng(ISubDomain*);
71extern "C++" ARCANE_CORE_EXPORT IModuleMaster*
72arcaneCreateModuleMaster(ISubDomain*);
74extern "C++" ARCANE_CORE_EXPORT ITimeLoop*
75arcaneCreateTimeLoop(IApplication* sm,
const String& name);
77extern "C++" ARCANE_IMPL_EXPORT IIOMng*
78arcaneCreateIOMng(IParallelSuperMng*);
80extern "C++" ARCANE_IMPL_EXPORT IIOMng*
81arcaneCreateIOMng(IParallelMng*);
85extern "C++" ARCANE_IMPORT Ref<IAcceleratorMng>
86arcaneCreateAcceleratorMngRef(ITraceMng* tm);
95String _getMeshFactoryName(
bool is_amr)
98 return String(
"ArcaneDynamicAMRMeshFactory");
99 return String(
"ArcaneDynamicMeshFactory");
125 return createArcaneMainBatch(
app_info,
this);
134 return arcaneCreateApplication(
am);
143 return arcaneCreateVariableMng(
sd);
152 return arcaneCreateModuleMng(
sd);
161 return arcaneCreateEntryPointMng(
sd);
171 thm = arcaneCreateTimeHistoryMng2(
sd);
181 return arcaneCreateCaseMng(
sd);
191 String name = String::format(
"Rank{0}",
sd->subDomainId());
201 return arcaneCreateTimeStats(
tim,
trm,name);
210 return arcaneCreateTimeLoopMng(
sd);
219 return arcaneCreateTimeLoop(
sm,name);
228 return arcaneCreateIOMng(
app->parallelSuperMng());
237 return arcaneCreateIOMng(pm);
246 return arcaneCreateServiceLoader();
255 return arcaneCreateServiceMng(base);
264 return arcaneCreateCheckpointMng(
sd);
273 return arcaneCreatePropertyMng(
sd->
traceMng());
282 return arcaneCreatePropertyMngReference(
sd->
traceMng());
327 return createMesh(
sd,
sd->parallelMng(),name, (
is_amr ? eMeshAMRKind::Cell : eMeshAMRKind::None));
396 return arcaneCreateDataFactory(
sm);
405 return arcaneCreateDataFactoryMngRef(
app);
414 return Accelerator::arcaneCreateAcceleratorMngRef(
tm);
423 return arcaneCreateTraceMng();
432 return arcaneCreateTraceMngPolicy(
app);
444 ARCANE_FATAL(
"module is not a derived class of 'IModule'");
445 sd->moduleMng()->addModule(makeRef(m));
455 return arcaneCreateLoadBalanceMng(
sd);
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Informations sur une application.
Interface de l'application.
Interface de la classe de gestion du code.
Interface de la classe de base des objets principaux arcane.
Interface d'une classe gérant un document XML du jeu de données.
Interface du gestionnaire de cas.
Interface du gestionnaire des informations des protections.
Interface d'une fabrique d'une donnée.
Interface du gestionnaire de point d'entrée.
Interface du gestionnaire des entrées sorties.
Interface d'enregistrement des variables pour l'equilibrage de charge.
Interface du gestionnaire de fabriques de maillages.
virtual IMeshMng * meshMng() const =0
Gestionnaire de maillage associé
Interface du module principal.
Interface du gestionnaire de modules.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Interface du gestionnaire des propriétés.
Interface de chargement des services.
Interface du gestionnaire de services.
Interface du gestionnaire d'un sous-domaine.
Classe gérant un historique de valeurs.
Interface du gestionnaire de la boucle en temps.
Interface d'une boucle en temps.
Interface gérant les statistiques sur les temps d'exécution.
Interface d'un gestionnaire de timer.
Interface du gestionnaire de configuration d'un gestionnnaire de trace.
Interface du gestionnaire de variables.
Gestionnaire d'un document DOM.
Groupe d'entités de maillage.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
IMesh * createSubMesh(IMesh *mesh, const ItemGroup &group, const String &name) override
Créé un sous-maillage pour le maillage mesh, de nom name.
IVariableMng * createVariableMng(ISubDomain *) override
Crée une instance du gestionnaire de variable.
ITraceMng * createTraceMng() override
Créé un gestionnaire de trace.
Ref< IPropertyMng > createPropertyMngReference(ISubDomain *) override
Crée une instance du gestionnaire de propriétés.
ITraceMngPolicy * createTraceMngPolicy(IApplication *app) override
Créé un gestionnaire de configuration pour un gestion de trace.
IIOMng * createIOMng(IApplication *) override
Crée une instance du gestionnaire d'entrée/sortie.
ICaseMng * createCaseMng(ISubDomain *) override
Crée une instance du gestionnaire du jeu de données.
ITimeHistoryMng * createTimeHistoryMng(ISubDomain *) override
Crée une instance du gestionnaire d'historique en temps.
ICheckpointMng * createCheckpointMng(ISubDomain *) override
Crée une instance du gestionnaire de protections.
IEntryPointMng * createEntryPointMng(ISubDomain *) override
Crée une instance du gestionnaire des points d'entrée.
ILoadBalanceMng * createLoadBalanceMng(ISubDomain *sd) override
Cree un gestionnaire de description pour l'equilibrage.
IPropertyMng * createPropertyMng(ISubDomain *) override
Crée une instance du gestionnaire de propriétés.
IServiceMng * createServiceMng(IBase *) override
Crée une instance du gestionnaire de services.
IApplication * createApplication(IArcaneMain *) override
Crée une instance d'un superviseur.
IArcaneMain * createArcaneMain(const ApplicationInfo &app_info) override
Crée une instance de IArcaneMain.
ICaseDocument * createCaseDocument(IApplication *) override
Crée une instance d'un document du jeu de données.
IPrimaryMesh * createMesh(ISubDomain *sub_domain, const String &name) override
Créé ou récupère un maillage.
Ref< IAcceleratorMng > createAcceleratorMngRef(ITraceMng *tm) override
Créé un gestionnaire pour les accélérateurs.
IDataFactory * createDataFactory(IApplication *) override
Créé une fabrique pour les données.
Ref< IDataFactoryMng > createDataFactoryMngRef(IApplication *) override
Créé un gestionnaire de fabrique pour les données.
IServiceLoader * createServiceLoader() override
Crée une instance du chargeur de services.
ITimeStats * createTimeStats(ISubDomain *) override
Crée une instance des statistiques de temps d'exécution.
IModuleMng * createModuleMng(ISubDomain *) override
Crée une instance du gestionnaire de module.
ITimeLoop * createTimeLoop(IApplication *sm, const String &name) override
Crée une boucle en temps de nom name.
IModuleMaster * createModuleMaster(ISubDomain *sd) override
Créé le module maitre pour le sous-domaine sd.
ITimeLoopMng * createTimeLoopMng(ISubDomain *) override
Crée une instance du gestionnaire de la boucle en temps.
Paramètres nécessaires à la construction d'un maillage.
Caractéristiques d'un maillage.
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
ITraceMng * traceMng() const
Gestionnaire de trace.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eMeshAMRKind
Type de maillage AMR.