Interface of the subdomain manager. More...
#include <arcane/core/ISubDomain.h>
Public Member Functions | |
| virtual void | destroy ()=0 |
| virtual IMainFactory * | mainFactory ()=0 |
| Main factory. | |
| virtual ISession * | session () const =0 |
| Session. | |
| virtual IApplication * | application ()=0 |
| Application. | |
| virtual IVariableMng * | variableMng ()=0 |
| Returns the variable manager. | |
| virtual IModuleMng * | moduleMng ()=0 |
| Returns the module manager. | |
| virtual IEntryPointMng * | entryPointMng ()=0 |
| Returns the entry point manager. | |
| virtual IParallelMng * | parallelMng ()=0 |
| Returns the parallelism manager. | |
| virtual IParallelMng * | allReplicaParallelMng () const =0 |
| Returns the parallelism manager for all replicas. | |
| virtual IThreadMng * | threadMng ()=0 |
| Returns the thread manager. | |
| virtual ITimeHistoryMng * | timeHistoryMng ()=0 |
| Returns the history manager. | |
| virtual ITimeLoopMng * | timeLoopMng ()=0 |
| Returns the time loop manager. | |
| virtual IIOMng * | ioMng ()=0 |
| Returns the I/O manager. | |
| virtual ICaseMng * | caseMng ()=0 |
| Returns the dataset manager. | |
| virtual ITimerMng * | timerMng () const =0 |
| Returns the timer manager. | |
| virtual ICheckpointMng * | checkpointMng () const =0 |
| Protection manager. | |
| virtual IPropertyMng * | propertyMng () const =0 |
| Property manager. | |
| virtual ITimeStats * | timeStats () const =0 |
| Execution time statistics. | |
| virtual IMemoryInfo * | memoryInfo () const =0 |
| Memory information manager. | |
| virtual IPhysicalUnitSystem * | physicalUnitSystem ()=0 |
| Subdomain unit system. | |
| virtual ILoadBalanceMng * | loadBalanceMng ()=0 |
| Returns the load balancing manager. | |
| virtual IMeshMng * | meshMng () const =0 |
| Returns the mesh manager. | |
| virtual IModuleMaster * | moduleMaster () const =0 |
| Module master interface. | |
| virtual const IConfiguration * | configuration () const =0 |
| Associated configuration. | |
| virtual IConfiguration * | configuration ()=0 |
| Associated configuration. | |
| virtual IAcceleratorMng * | acceleratorMng ()=0 |
| Associated accelerator manager. | |
| virtual Int32 | subDomainId () const =0 |
| Subdomain ID associated with this manager. | |
| virtual Int32 | nbSubDomain () const =0 |
| Total number of subdomains. | |
| virtual void | readCaseMeshes ()=0 |
| Reads the mesh information from the dataset. | |
| virtual void | setIsContinue ()=0 |
| Sets a flag indicating that a restart is being performed. | |
| virtual bool | isContinue () const =0 |
| True if a restart is being performed, false otherwise. | |
| virtual void | allocateMeshes ()=0 |
| Allocates the instances. | |
| virtual void | readOrReloadMeshes ()=0 |
| Reads or re-reads the meshes. | |
| virtual void | initializeMeshVariablesFromCaseFile ()=0 |
| Initializes variables whose values are specified in the dataset. | |
| virtual void | doInitMeshPartition ()=0 |
| Applies the initialization mesh partitioning. | |
| virtual void | addMesh (IMesh *mesh)=0 |
| Adds a mesh to the subdomain. | |
| virtual ConstArrayView< IMesh * > | meshes () const =0 |
| List of meshes in the subdomain. | |
| virtual ARCANE_DEPRECATED_2018 void | doInitModules ()=0 |
| Executes initialization modules. | |
| virtual void | doExitModules ()=0 |
| Executes exit modules. | |
| virtual void | dumpInfo (std::ostream &)=0 |
| Displays information about the instance. | |
| virtual IMesh * | defaultMesh ()=0 |
| Default mesh. | |
| virtual const MeshHandle & | defaultMeshHandle ()=0 |
| Handle for the default mesh. | |
| virtual ARCANE_DEPRECATED IMesh * | mesh ()=0 |
| virtual IMesh * | findMesh (const String &name, bool throw_exception=true)=0 |
| Searches for the mesh named name. | |
| virtual bool | isInitialized () const =0 |
| Indicates if the session has been initialized. | |
| virtual void | setIsInitialized ()=0 |
| Indicates that the subdomain is initialized. | |
| virtual const ApplicationInfo & | applicationInfo () const =0 |
| Executable information. | |
| virtual ICaseDocument * | caseDocument ()=0 |
| Case XML document. | |
| virtual void | checkId (const String &where, const String &id)=0 |
| Checks if an identifier is valid. | |
| virtual const String & | caseFullFileName () const =0 |
| Full file path of the dataset. | |
| virtual const String & | caseName () const =0 |
| Case name. | |
| virtual void | fillCaseBytes (ByteArray &bytes) const =0 |
| Fills bytes with the dataset content. | |
| virtual void | setCaseName (const String &name)=0 |
| Sets the case name. | |
| virtual void | setInitialPartitioner (IInitialPartitioner *partitioner)=0 |
| Sets the initial partitioner. | |
| virtual const CaseOptionsMain * | caseOptionsMain () const =0 |
| General dataset options. | |
| virtual const IDirectory & | exportDirectory () const =0 |
| Base directory for exports. | |
| virtual void | setExportDirectory (const IDirectory &dir)=0 |
| Sets the output path for exports (protections and restarts). | |
| virtual const IDirectory & | storageDirectory () const =0 |
| Base directory for exports requiring archiving. | |
| virtual void | setStorageDirectory (const IDirectory &dir)=0 |
| Sets the output path for exports requiring archiving. | |
| virtual const IDirectory & | listingDirectory () const =0 |
| Base directory for listings (logs, execution info). | |
| virtual void | setListingDirectory (const IDirectory &dir)=0 |
| Sets the output path for listing info. | |
| virtual const CommonVariables & | commonVariables () const =0 |
| Information on standard variables. | |
| virtual void | dumpInternalInfos (XmlNode &elem)=0 |
| Dumps internal architecture information. The information is stored in an XML tree with root as the root element. This information is for internal use by Arcane. | |
| virtual Integer ARCANE_DEPRECATED | meshDimension () const =0 |
| Mesh dimension (1D, 2D, or 3D). | |
| virtual IObservable * | onDestroyObservable ()=0 |
| Notification before subdomain destruction. | |
| virtual IDirectExecution * | directExecution () const =0 |
| Direct execution service (or null). | |
| virtual void | setDirectExecution (IDirectExecution *v)=0 |
| Sets the direct execution service. | |
| Public Member Functions inherited from Arcane::IBase | |
| virtual | ~IBase ()=default |
| Frees resources. | |
| virtual void | build ()=0 |
| Constructs the instance members. The instance is not usable until this method has been called. This method must be called before initialize(). | |
| virtual void | initialize ()=0 |
| Initializes the instance. The instance is not usable until this method has been called. | |
| virtual IBase * | objectParent () const =0 |
| Parent of this object. | |
| virtual String | objectNamespaceURI () const =0 |
| Namespace of the object. | |
| virtual String | objectLocalName () const =0 |
| Local name of the object. | |
| virtual VersionInfo | objectVersion () const =0 |
| Service version number. | |
| virtual ITraceMng * | traceMng () const =0 |
| Trace manager. | |
| virtual IRessourceMng * | ressourceMng () const =0 |
| Resource manager. | |
| virtual IServiceMng * | serviceMng () const =0 |
| Service manager. | |
Protected Member Functions | |
| virtual | ~ISubDomain () |
| Frees resources. | |
Interface of the subdomain manager.
Definition at line 73 of file ISubDomain.h.
|
inlineprotectedvirtual |
Frees resources.
Definition at line 78 of file ISubDomain.h.
|
pure virtual |
Associated accelerator manager.
Implemented in Arcane::SubDomain.
|
pure virtual |
Adds a mesh to the subdomain.
Implemented in Arcane::SubDomain.
References addMesh().
Referenced by addMesh().
|
pure virtual |
Allocates the instances.
Mesh instances are simply allocated but do not contain entities. This method must be called before any other operation involving the mesh, especially before reading dataset options or reading protections.
Implemented in Arcane::SubDomain.
Referenced by Arcane::CodeService::initCase().
|
pure virtual |
Returns the parallelism manager for all replicas.
Generally, parallelMng() must be used. This manager is essentially used to perform operations on all subdomains and their replicas. If there is no replication, this manager is the same as parallelMng().
Implemented in Arcane::SubDomain.
Referenced by Arcane::ArcaneSession::setLogAndErrorFiles(), and Arcane::ModuleMaster::timeLoopBegin().
|
pure virtual |
Implemented in Arcane::SubDomain.
Referenced by Arcane::ArcaneBasicVerifierService::doVerifFromReferenceFile(), ArcaneTest::AlephMultiTest::init(), Arcane::ServiceLoader::initializeModuleFactories(), Arcane::ServiceLoader::loadModules(), Arcane::ServiceLoader::loadSingletonService(), Arcane::ServiceLoader::loadSubDomainServices(), and Arcane::CaseMng::readFunctions().
|
pure virtual |
Executable information.
Implemented in Arcane::SubDomain.
References applicationInfo().
Referenced by applicationInfo().
|
pure virtual |
Case XML document.
Implemented in Arcane::SubDomain.
References caseDocument().
Referenced by caseDocument(), Arcane::LimaMeshReaderService::readMeshFromFile(), and Arcane::TimeLoopReader::setUsedTimeLoop().
|
pure virtual |
Full file path of the dataset.
Implemented in Arcane::SubDomain.
References caseFullFileName().
Referenced by caseFullFileName().
|
pure virtual |
Returns the dataset manager.
Implemented in Arcane::SubDomain.
Referenced by Arcane::ArcaneArcaneDirectExecutionObject::ArcaneArcaneDirectExecutionObject(), Arcane::TimeLoopMng::doOneIteration(), Arcane::CodeService::initCase(), Arcane::ModuleMaster::masterContinueInit(), Arcane::ModuleMaster::masterStartInit(), Arcane::ModuleMaster::ModuleMaster(), and Arcane::ModuleMaster::timeLoopBegin().
|
pure virtual |
Case name.
Implemented in Arcane::SubDomain.
References caseName().
Referenced by caseName().
|
pure virtual |
General dataset options.
Implemented in Arcane::SubDomain.
References caseOptionsMain().
Referenced by caseOptionsMain().
Checks if an identifier is valid.
| ExceptionBadName | if id is not a valid identifier. |
Implemented in Arcane::SubDomain.
References checkId().
Referenced by Arcane::VariableMng::addVariable(), checkId(), and Arcane::ModuleFactory::createModule().
|
pure virtual |
Protection manager.
Implemented in Arcane::SubDomain.
Referenced by Arcane::ArcaneCheckpointModule::_doCheckpoint(), and Arcane::CodeService::initCase().
|
pure virtual |
Information on standard variables.
Implemented in Arcane::SubDomain.
References commonVariables().
Referenced by Arcane::TimeLoopMng::_doMeshPartition(), Arcane::MetisMeshPartitioner::_partitionMesh(), Arcane::ArcaneLoadBalanceModule::checkLoadBalance(), commonVariables(), Arcane::TimeLoopMng::doComputeLoop(), Arcane::TimeLoopMng::doOneIteration(), Arcane::ArcanePostProcessingModule::exportData(), Arcane::ArcanePostProcessingModule::exportDataStart(), Arcane::MeshPartitionerTester::partitionMesh(), Arcane::ArcanePostProcessingModule::postProcessingExit(), and Arcane::Variable::setUpToDate().
|
pure virtual |
Associated configuration.
Implemented in Arcane::SubDomain.
Referenced by Arcane::TimeLoopMng::setUsedTimeLoop().
|
pure virtual |
Associated configuration.
Implemented in Arcane::SubDomain.
|
pure virtual |
Default mesh.
The default mesh does not exist until the dataset has been read. It is generally preferable to use defautMeshHandle() instead.
Implemented in Arcane::SubDomain.
References defaultMesh().
Referenced by Arcane::VariableIOWriterMng::_generateMeshesMetaData(), Arcane::ArcanePostProcessingModule::_readConfig(), defaultMesh(), Arcane::TimeLoopMng::doOneIteration(), and Arcane::VariableMng::dumpStats().
|
pure virtual |
Handle for the default mesh.
This handle always exists even if the associated mesh has not yet been created.
Implemented in Arcane::SubDomain.
References defaultMeshHandle().
Referenced by defaultMeshHandle(), and Arcane::ServiceLoader::loadModules().
|
pure virtual |
Direct execution service (or null).
Implemented in Arcane::SubDomain.
References directExecution().
Referenced by directExecution().
|
pure virtual |
Executes exit modules.
Implemented in Arcane::SubDomain.
References doExitModules().
Referenced by doExitModules().
|
pure virtual |
Applies the initialization mesh partitioning.
Implemented in Arcane::SubDomain.
Referenced by Arcane::CodeService::initCase().
|
pure virtual |
Executes initialization modules.
Implemented in Arcane::SubDomain.
References doInitModules().
Referenced by doInitModules().
|
pure virtual |
Displays information about the instance.
Implemented in Arcane::SubDomain.
References dumpInfo().
Referenced by dumpInfo().
|
pure virtual |
Dumps internal architecture information. The information is stored in an XML tree with root as the root element. This information is for internal use by Arcane.
Implemented in Arcane::SubDomain.
References dumpInternalInfos().
Referenced by Arcane::InternalInfosDumper::dumpInternalAllInfos(), and dumpInternalInfos().
|
pure virtual |
Returns the entry point manager.
Implemented in Arcane::SubDomain.
|
pure virtual |
Base directory for exports.
Implemented in Arcane::SubDomain.
References exportDirectory().
Referenced by exportDirectory(), and Arcane::ArcaneVerifierModule::onExit().
|
pure virtual |
Fills bytes with the dataset content.
Implemented in Arcane::SubDomain.
References fillCaseBytes().
Referenced by fillCaseBytes().
|
pure virtual |
Searches for the mesh named name.
If the mesh is not found, the method throws an exception if throw_exception is true or returns 0 if throw_exception is false.
Implemented in Arcane::SubDomain.
References findMesh().
Referenced by findMesh().
|
pure virtual |
Initializes variables whose values are specified in the dataset.
Implemented in Arcane::SubDomain.
Referenced by Arcane::CodeService::initCase().
|
pure virtual |
Returns the I/O manager.
Implemented in Arcane::SubDomain.
|
pure virtual |
True if a restart is being performed, false otherwise.
Implemented in Arcane::SubDomain.
|
pure virtual |
Indicates if the session has been initialized.
Implemented in Arcane::SubDomain.
References isInitialized().
Referenced by isInitialized().
|
pure virtual |
Base directory for listings (logs, execution info).
Implemented in Arcane::SubDomain.
References listingDirectory().
Referenced by listingDirectory().
|
pure virtual |
Returns the load balancing manager.
Implemented in Arcane::SubDomain.
|
pure virtual |
Main factory.
Implemented in Arcane::SubDomain.
Referenced by Arcane::MeshReaderMng::readMesh(), and Arcane::TimeLoopMng::setUsedTimeLoop().
|
pure virtual |
Memory information manager.
Implemented in Arcane::SubDomain.
|
pure virtual |
Mesh dimension (1D, 2D, or 3D).
Implemented in Arcane::SubDomain.
References meshDimension().
Referenced by meshDimension().
|
pure virtual |
List of meshes in the subdomain.
Implemented in Arcane::SubDomain.
References meshes().
Referenced by Arcane::VariableIOWriterMng::_generateMeshesMetaData(), and meshes().
|
pure virtual |
Returns the mesh manager.
Implemented in Arcane::SubDomain.
Referenced by Arcane::ArcaneCaseMeshService::createMesh(), and Arcane::MainFactory::createMesh().
|
pure virtual |
Module master interface.
Implemented in Arcane::SubDomain.
Referenced by Arcane::MasterModule::masterBuild().
|
pure virtual |
Returns the module manager.
Implemented in Arcane::SubDomain.
Referenced by Arcane::ModuleFactory::createModule(), Arcane::MainFactory::createModuleMaster(), and Arcane::InternalInfosDumper::dumpArcaneDatabase().
|
pure virtual |
Total number of subdomains.
Implemented in Arcane::SubDomain.
Referenced by Arcane::ArcaneSession::setLogAndErrorFiles().
|
pure virtual |
Notification before subdomain destruction.
Implemented in Arcane::SubDomain.
References onDestroyObservable().
Referenced by onDestroyObservable().
|
pure virtual |
Returns the parallelism manager.
Implemented in Arcane::SubDomain.
Referenced by Arcane::ArcaneLoadBalanceModule::_computeWeights(), Arcane::VerifierService::_getVariables(), Arcane::ArcaneInitialPartitioner::_mergeConstraints(), Arcane::CheckpointMng::_writeCheckpointInfoFile(), Arcane::SplitSDMeshPartitioner::ConnexifieDomaine(), Arcane::ArcaneCaseMeshService::createMesh(), Arcane::MainFactory::createMesh(), Arcane::MainFactory::createMesh(), Arcane::MainFactory::createMesh(), Arcane::TimeLoopMng::doComputeLoop(), Arcane::ArcaneBasicVerifierService::doVerifFromReferenceFile(), Arcane::SplitSDMeshPartitioner::init(), Arcane::ArcaneCodeService::initCase(), Arcane::ArcaneVerifierModule::onExit(), Arcane::ArcaneInitialPartitioner::partitionAndDistributeMeshes(), Arcane::MeshPartitionerTester::partitionMesh(), Arcane::MeshReaderMng::readMesh(), Arcane::ArcaneSession::setLogAndErrorFiles(), and Arcane::Variable::setUsed().
|
pure virtual |
Subdomain unit system.
Implemented in Arcane::SubDomain.
|
pure virtual |
Property manager.
Implemented in Arcane::SubDomain.
|
pure virtual |
Reads the mesh information from the dataset.
Implemented in Arcane::SubDomain.
Referenced by Arcane::CodeService::createAndLoadCase().
|
pure virtual |
Reads or re-reads the meshes.
At startup, the meshes are re-read from the dataset information. During restart, the meshes are loaded from a protection. This method must be called after calling allocateMeshes().
Implemented in Arcane::SubDomain.
Referenced by Arcane::CodeService::initCase().
|
pure virtual |
Implemented in Arcane::SubDomain.
Referenced by Arcane::ArcaneCodeService::initCase().
|
pure virtual |
Sets the case name.
This method must be called before initialization.
Implemented in Arcane::SubDomain.
References setCaseName().
Referenced by setCaseName().
|
pure virtual |
Sets the direct execution service.
This service must be set during service creation when reading the dataset.
Implemented in Arcane::SubDomain.
References setDirectExecution().
Referenced by setDirectExecution().
|
pure virtual |
Sets the output path for exports (protections and restarts).
The directory corresponding to dir must exist.
This method must be called before initialization.
Implemented in Arcane::SubDomain.
References setExportDirectory().
Referenced by setExportDirectory().
|
pure virtual |
Sets the initial partitioner.
If this method is not called, the default partitioner is used.
This method must be called before module initialization, for example in construction entry points.
The instance takes ownership of partitioner and will destroy it by delete at the end of the calculation.
Implemented in Arcane::SubDomain.
References setInitialPartitioner().
Referenced by setInitialPartitioner().
|
pure virtual |
Sets a flag indicating that a restart is being performed.
This method must be called before allocating the mesh (allocateMeshes()).
Implemented in Arcane::SubDomain.
Referenced by Arcane::CodeService::initCase().
|
pure virtual |
Indicates that the subdomain is initialized.
Implemented in Arcane::SubDomain.
References setIsInitialized().
Referenced by Arcane::CodeService::initCase(), and setIsInitialized().
|
pure virtual |
Sets the output path for listing info.
The directory corresponding to dirname must exist.
This method must be called before initialization.
Implemented in Arcane::SubDomain.
References setListingDirectory().
Referenced by setListingDirectory().
|
pure virtual |
Sets the output path for exports requiring archiving.
This directory allows specifying a directory that can be automatically archived. If it is null, exportDirectory() is used.
This method must be called before initialization.
Implemented in Arcane::SubDomain.
References setStorageDirectory().
Referenced by setStorageDirectory().
|
pure virtual |
Base directory for exports requiring archiving.
Implemented in Arcane::SubDomain.
References storageDirectory().
Referenced by storageDirectory().
|
pure virtual |
Subdomain ID associated with this manager.
Implemented in Arcane::SubDomain.
Referenced by Arcane::MainFactory::createTimeStats(), Arcane::SplitSDMeshPartitioner::init(), and Arcane::ArcaneSession::setLogAndErrorFiles().
|
pure virtual |
Returns the thread manager.
Implemented in Arcane::SubDomain.
Referenced by Arcane::ServiceLoader::loadModules().
|
pure virtual |
Returns the history manager.
Implemented in Arcane::SubDomain.
Referenced by Arcane::ArcaneCheckpointModule::_doCheckpoint(), Arcane::ModuleMaster::dumpStandardCurves(), and Arcane::ArcanePostProcessingModule::exportDataStart().
|
pure virtual |
Returns the time loop manager.
Implemented in Arcane::SubDomain.
Referenced by Arcane::VariableMng::addVariable(), Arcane::ArcaneLoadBalanceModule::checkLoadBalance(), Arcane::InternalInfosDumper::dumpArcaneDatabase(), Arcane::InternalInfosDumper::dumpInternalAllInfos(), Arcane::CodeService::initCase(), Arcane::TimeLoopReader::registerTimeLoops(), and Arcane::TimeLoopReader::setUsedTimeLoop().
|
pure virtual |
Returns the timer manager.
Implemented in Arcane::SubDomain.
Referenced by Arcane::MainFactory::createTimeStats().
|
pure virtual |
Execution time statistics.
Implemented in Arcane::SubDomain.
Referenced by Arcane::TimeLoopMng::_doMeshPartition(), Arcane::ArcaneInitialPartitioner::_mergeConstraints(), Arcane::TimeLoopMng::doOneIteration(), and Arcane::ArcaneInitialPartitioner::partitionAndDistributeMeshes().
|
pure virtual |
Returns the variable manager.
Implemented in Arcane::SubDomain.
Referenced by Arcane::VerifierService::_getVariables(), Arcane::ArcanePostProcessingModule::_readConfig(), Arcane::TimeLoopMng::doComputeLoop(), Arcane::ArcaneBasicVerifierService::doVerifFromReferenceFile(), Arcane::InternalInfosDumper::dumpArcaneDatabase(), Arcane::mesh::ItemFamily::findVariable(), Arcane::CodeService::initCase(), and Arcane::Variable::removeVariableRef().