Arcane  v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
MainFactory.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2023 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/* MainFactory.h (C) 2000-2023 */
9/* */
10/* AbstractFactory de l'implémentation par défaut d'Arcane. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMPL_MAINFACTORY_H
13#define ARCANE_IMPL_MAINFACTORY_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/IMainFactory.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
51class ARCANE_IMPL_EXPORT MainFactory
52: public IMainFactory
53{
54 public:
55
56 MainFactory();
57 ~MainFactory() override;
58
59 public:
60
61 public:
62
64 IArcaneMain* createArcaneMain(const ApplicationInfo& app_info) override;
65
66 public:
67
78 ITimeStats* createTimeStats(ITimerMng* tim,ITraceMng* trm,const String& name) override;
80 ITimeLoop* createTimeLoop(IApplication* sm,const String& name) override;
82 IIOMng* createIOMng(IParallelMng* pm) override;
88 IPrimaryMesh* createMesh(ISubDomain* sub_domain,const String& name) override;
89 IPrimaryMesh* createMesh(ISubDomain* sub_domain,IParallelMng* pm,const String& name) override;
90 IPrimaryMesh* createMesh(ISubDomain* sub_domain,const String& name, bool is_amr) override;
91 IPrimaryMesh* createMesh(ISubDomain* sub_domain,const String& name, eMeshAMRKind amr_type) override;
92 IPrimaryMesh* createMesh(ISubDomain* sub_domain,IParallelMng* pm,const String& name, bool is_amr) override;
93 IPrimaryMesh* createMesh(ISubDomain* sub_domain,IParallelMng* pm,const String& name, eMeshAMRKind amr_type) override;
94 IMesh* createSubMesh(IMesh* mesh, const ItemGroup& group, const String& name) override;
98 ITraceMng* createTraceMng() override;
102};
103
104/*---------------------------------------------------------------------------*/
105/*---------------------------------------------------------------------------*/
106
107} // End namespace Arcane
108
109/*---------------------------------------------------------------------------*/
110/*---------------------------------------------------------------------------*/
111
112#endif
113
Informations sur une application.
Interface de l'application.
Interface de la classe de gestion du code.
Definition IArcaneMain.h:54
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 fabrique d'une donnée.
Interface du gestionnaire de point d'entrée.
Interface du gestionnaire des entrées sorties.
Definition IIOMng.h:42
Interface d'enregistrement des variables pour l'equilibrage de charge.
Manufacture des classes d'Arcane.
Interface du module principal.
Interface du gestionnaire de modules.
Definition IModuleMng.h:39
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.
Definition IServiceMng.h:31
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Classe gérant un historique de valeurs.
Interface du gestionnaire de la boucle en temps.
Interface d'une boucle en temps.
Definition ITimeLoop.h:41
Interface gérant les statistiques sur les temps d'exécution.
Definition ITimeStats.h:43
Interface d'un gestionnaire de timer.
Definition ITimerMng.h:53
Interface du gestionnaire de configuration d'un gestionnnaire de trace.
Interface du gestionnaire de traces.
Interface du gestionnaire de variables.
Gestionnaire d'un document DOM.
Groupe d'entités de maillage.
Definition ItemGroup.h:49
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.
Référence à une instance.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eMeshAMRKind
Type de maillage AMR.
Definition MeshKind.h:41