Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::SubDomain Class Reference

Implementation of a subdomain manager. More...

Inheritance diagram for Arcane::SubDomain:
Collaboration diagram for Arcane::SubDomain:

Classes

class  PropertyMngCheckpoint
 Class to manage the reading/writing of properties in checkpoints/rollbacks. More...

Public Member Functions

 SubDomain (ISession *, Ref< IParallelMng >, Ref< IParallelMng >, const String &filename, ByteConstArrayView bytes)
void build () override
 Constructs the instance members. The instance is not usable until this method has been called. This method must be called before initialize().
void initialize () override
 Initializes the instance. The instance is not usable until this method has been called.
void destroy () override
IBaseobjectParent () const override
 Parent of this object.
String objectNamespaceURI () const override
 Namespace of the object.
String objectLocalName () const override
 Local name of the object.
VersionInfo objectVersion () const override
 Service version number.
IMainFactorymainFactory () override
 Main factory.
ISessionsession () const override
 Session.
IServiceMngserviceMng () const override
 Service manager.
ITimeLoopMngtimeLoopMng () override
 Returns the time loop manager.
IIOMngioMng () override
 Returns the I/O manager.
IVariableMngvariableMng () override
 Returns the variable manager.
IModuleMngmoduleMng () override
 Returns the module manager.
IEntryPointMngentryPointMng () override
 Returns the entry point manager.
ICaseMngcaseMng () override
 Returns the dataset manager.
ITimerMngtimerMng () const override
 Returns the timer manager.
ICheckpointMngcheckpointMng () const override
 Protection manager.
IPropertyMngpropertyMng () const override
 Property manager.
ITimeStatstimeStats () const override
 Execution time statistics.
IRessourceMngressourceMng () const override
 Resource manager.
ITraceMngtraceMng () const override
 Trace manager.
IMemoryInfomemoryInfo () const override
 Memory information manager.
IPhysicalUnitSystemphysicalUnitSystem () override
 Subdomain unit system.
ILoadBalanceMngloadBalanceMng () override
 Returns the load balancing manager.
IMeshMngmeshMng () const override
 Returns the mesh manager.
IModuleMastermoduleMaster () const override
 Module master interface.
const IConfigurationconfiguration () const override
 Associated configuration.
IConfigurationconfiguration () override
 Associated configuration.
IAcceleratorMngacceleratorMng () override
 Associated accelerator manager.
Int32 subDomainId () const override
 Subdomain ID associated with this manager.
Int32 nbSubDomain () const override
 Total number of subdomains.
void setIsContinue () override
 Sets a flag indicating that a restart is being performed.
bool isContinue () const override
 True if a restart is being performed, false otherwise.
void dumpInfo (std::ostream &) override
 Displays information about the instance.
void doInitModules () override
 Calls the module initialization entry points.
void doExitModules () override
 Executes exit modules.
IMeshdefaultMesh () override
 Default mesh.
const MeshHandledefaultMeshHandle () override
 Handle for the default mesh.
IMeshmesh () override
IMeshfindMesh (const String &name, bool throw_exception) override
 Searches for the mesh named name.
bool isInitialized () const override
 Indicates if the session has been initialized.
void setIsInitialized () override
 Indicates that the subdomain is initialized.
const ApplicationInfoapplicationInfo () const override
 Executable information.
ICaseDocumentcaseDocument () override
 Case XML document.
IApplicationapplication () override
 Application.
void checkId (const String &where, const String &id) override
 Checks if an identifier is valid.
const StringcaseFullFileName () const override
 Full file path of the dataset.
void setCaseFullFileName (const String &file_name)
const StringcaseName () const override
 Case name.
void fillCaseBytes (ByteArray &bytes) const override
 Fills bytes with the dataset content.
void setCaseName (const String &case_name) override
 Sets the case name.
void setInitialPartitioner (IInitialPartitioner *partitioner) override
 Sets the initial partitioner.
void readCaseMeshes () override
 Reads the mesh information from the dataset.
void allocateMeshes () override
 Mesh allocation.
void readOrReloadMeshes () override
 Reads or re-reads the meshes.
void initializeMeshVariablesFromCaseFile () override
 Initializes variables whose values are specified in the dataset.
void doInitMeshPartition () override
 Applies the initialization mesh partitioning.
void addMesh (IMesh *mesh) override
 Adds a mesh to the subdomain.
ConstArrayView< IMesh * > meshes () const override
 List of meshes in the subdomain.
const CaseOptionsMaincaseOptionsMain () const override
 General dataset options.
IParallelMngparallelMng () override
 Returns the parallelism manager.
IParallelMngallReplicaParallelMng () const override
 Returns the parallelism manager for all replicas.
IThreadMngthreadMng () override
 Returns the thread manager.
const IDirectoryexportDirectory () const override
 Base directory for exports.
void setExportDirectory (const IDirectory &dir) override
 Sets the output path for exports (protections and restarts).
const IDirectorystorageDirectory () const override
 Base directory for exports requiring archiving.
void setStorageDirectory (const IDirectory &dir) override
 Sets the output path for exports requiring archiving.
const IDirectorylistingDirectory () const override
 Base directory for listings (logs, execution info).
void setListingDirectory (const IDirectory &dir) override
 Sets the output path for listing info.
ITimeHistoryMngtimeHistoryMng () override
 Returns the history manager.
const CommonVariablesvariablesCommon () const
const CommonVariablescommonVariables () const override
 Information on standard variables.
void dumpInternalInfos (XmlNode &root) override
 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.
Integer meshDimension () const override
 Mesh dimension (1D, 2D, or 3D).
IObservableonDestroyObservable () override
 Notification before subdomain destruction.
IDirectExecutiondirectExecution () const override
 Direct execution service (or null).
void setDirectExecution (IDirectExecution *v) override
 Sets the direct execution service.
void _setLegacyMeshCreation (bool v)
bool isLegacyMeshCreation () const
Public Member Functions inherited from Arcane::IBase
virtual ~IBase ()=default
 Frees resources.
Public Member Functions inherited from Arcane::internal::TraceAccessor2
 TraceAccessor2 (ITraceMng *tm)
bool isActive () const
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const

Protected Member Functions

const char * _msgClassName () const
Protected Member Functions inherited from Arcane::ISubDomain
virtual ~ISubDomain ()
 Frees resources.
Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Private Member Functions

 ARCANE_DECLARE_PROPERTY_CLASS (SubDomain)
void _doInitialPartition ()
void _doInitialPartitionForMesh (IMesh *mesh, const String &service_name)
void _notifyWriteCheckpoint ()
void _printCPUAffinity ()
 Displays the CPU affinity of all ranks.
void _setDefaultAcceleratorDevice (Accelerator::AcceleratorRuntimeInitialisationInfo &config)

Private Attributes

ISessionm_session
 Session.
IApplicationm_application
 Main manager.
Ref< IParallelMngm_parallel_mng
 Parallelism manager.
Ref< IParallelMngm_all_replica_parallel_mng
 Parallelism manager for all replicas.
ScopedPtrT< IIOMngm_io_mng
 Input/output manager.
ScopedPtrT< IMemoryInfom_memory_info
 Memory usage information.
ScopedPtrT< IVariableMngm_variable_mng
 Variable manager.
ScopedPtrT< IModuleMngm_module_mng
 Module manager.
ScopedPtrT< IEntryPointMngm_entry_point_mng
 Entry point manager.
Ref< ICaseMngm_case_mng
 Case data manager.
ITimerMngm_timer_mng
 Timer manager.
ScopedPtrT< ICheckpointMngm_checkpoint_mng
 Checkpoint manager.
Ref< IPropertyMngm_property_mng
 Property manager.
ITimeStatsm_time_stats
 Execution time statistics.
ScopedPtrT< ITimeLoopMngm_time_loop_mng
 Time loop manager.
ScopedPtrT< IServiceMngm_service_mng
 Service manager.
ScopedPtrT< IPhysicalUnitSystemm_physical_unit_system
 Physical unit system.
String m_namespace_uri
String m_local_name
IModuleMasterm_module_master
 Master module.
ScopedPtrT< ITimeHistoryMngm_time_history_mng
 History manager.
ScopedPtrT< MeshMngm_mesh_mng
MeshHandle m_default_mesh_handle
bool m_is_initialized
 true if initialized
String m_case_full_file_name
 Case path.
String m_case_name
 Case name.
ByteUniqueArray m_case_bytes
 Case data.
CaseOptionsMainm_case_config
 Case config.
Directory m_export_directory
 Export directory.
Directory m_storage_directory
 Archive directory.
Directory m_listing_directory
 Listing directory.
Observable m_on_destroy_observable
 Observable upon destruction.
bool m_is_continue
IDirectExecutionm_direct_execution
ScopedPtrT< ILoadBalanceMngm_lb_mng
 Load balancing characteristics manager.
ScopedPtrT< IConfigurationm_configuration
 Configuration.
bool m_is_create_default_mesh_v2
ScopedPtrT< PropertyMngCheckpointm_property_mng_checkpoint
ScopedPtrT< LegacyMeshBuilderm_legacy_mesh_builder
bool m_has_mesh_service = false
 Indicates whether the service mechanism is used to read the mesh.
Ref< ICaseMeshMasterServicem_case_mesh_master_service
ObserverPool m_observers
Ref< IAcceleratorMngm_accelerator_mng

Detailed Description

Implementation of a subdomain manager.

This class implements the ISubDomain interface.

Definition at line 153 of file SubDomain.cc.

Constructor & Destructor Documentation

◆ SubDomain()

Arcane::SubDomain::SubDomain ( ISession * session,
Ref< IParallelMng > pm,
Ref< IParallelMng > all_replica_pm,
const String & filename,
ByteConstArrayView bytes )

Definition at line 414 of file SubDomain.cc.

Member Function Documentation

◆ _doInitialPartition()

void Arcane::SubDomain::_doInitialPartition ( )
private

Definition at line 841 of file SubDomain.cc.

◆ _doInitialPartitionForMesh()

void Arcane::SubDomain::_doInitialPartitionForMesh ( IMesh * mesh,
const String & service_name )
private

Definition at line 876 of file SubDomain.cc.

◆ _msgClassName()

const char * Arcane::SubDomain::_msgClassName ( ) const
inlineprotected

Definition at line 311 of file SubDomain.cc.

◆ _notifyWriteCheckpoint()

void Arcane::SubDomain::_notifyWriteCheckpoint ( )
private

Definition at line 1086 of file SubDomain.cc.

◆ _printCPUAffinity()

void Arcane::SubDomain::_printCPUAffinity ( )
private

Displays the CPU affinity of all ranks.

This is not active by default and is only used for debugging.

Definition at line 1126 of file SubDomain.cc.

References Arcane::String::bytes(), Arcane::IParallelMng::commSize(), Arcane::IProcessorAffinityService::cpuSetString(), Arcane::IParallelMng::gather(), Arcane::platform::getProcessorAffinityService(), Arcane::TraceAccessor::info(), Arcane::IParallelMng::isMasterIO(), Arcane::IParallelMng::masterIORank(), parallelMng(), Arcane::Array2< DataType >::resize(), Arcane::Array< T >::resize(), and Arcane::Array2< DataType >::viewAsArray().

Referenced by initialize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _setDefaultAcceleratorDevice()

void Arcane::SubDomain::_setDefaultAcceleratorDevice ( Accelerator::AcceleratorRuntimeInitialisationInfo & config)
private

Definition at line 564 of file SubDomain.cc.

◆ _setLegacyMeshCreation()

void Arcane::SubDomain::_setLegacyMeshCreation ( bool v)
inline

Definition at line 305 of file SubDomain.cc.

◆ acceleratorMng()

IAcceleratorMng * Arcane::SubDomain::acceleratorMng ( )
inlineoverridevirtual

Associated accelerator manager.

Implements Arcane::ISubDomain.

Definition at line 249 of file SubDomain.cc.

◆ addMesh()

void Arcane::SubDomain::addMesh ( IMesh * mesh)
overridevirtual

Adds a mesh to the subdomain.

Implements Arcane::ISubDomain.

Definition at line 773 of file SubDomain.cc.

◆ allocateMeshes()

void Arcane::SubDomain::allocateMeshes ( )
overridevirtual

Mesh allocation.

This method only handles the construction of IMesh instances. Reading these is done in readOrReloadMeshes().

Implements Arcane::ISubDomain.

Definition at line 683 of file SubDomain.cc.

References application(), Arcane::ICaseMng::caseDocument(), caseMng(), Arcane::ICaseDocument::caseNodeNames(), Arcane::ServiceBuilder< InterfaceType >::createReference(), Arcane::MessagePassing::dumpDateAndMemoryUsage(), Arcane::TraceAccessor::info(), m_case_mng, m_has_mesh_service, parallelMng(), and traceMng().

Here is the call graph for this function:

◆ allReplicaParallelMng()

IParallelMng * Arcane::SubDomain::allReplicaParallelMng ( ) const
inlineoverridevirtual

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().

Implements Arcane::ISubDomain.

Definition at line 286 of file SubDomain.cc.

References m_all_replica_parallel_mng.

◆ application()

IApplication * Arcane::SubDomain::application ( )
inlineoverridevirtual

Application.

Implements Arcane::ISubDomain.

Definition at line 266 of file SubDomain.cc.

References m_application.

Referenced by allocateMeshes(), and initialize().

Here is the caller graph for this function:

◆ applicationInfo()

const ApplicationInfo & Arcane::SubDomain::applicationInfo ( ) const
inlineoverridevirtual

Executable information.

Implements Arcane::ISubDomain.

Definition at line 264 of file SubDomain.cc.

References m_application.

◆ build()

void Arcane::SubDomain::build ( )
overridevirtual

◆ caseDocument()

ICaseDocument * Arcane::SubDomain::caseDocument ( )
inlineoverridevirtual

Case XML document.

Implements Arcane::ISubDomain.

Definition at line 265 of file SubDomain.cc.

References m_case_mng.

Referenced by readCaseMeshes().

Here is the caller graph for this function:

◆ caseFullFileName()

const String & Arcane::SubDomain::caseFullFileName ( ) const
inlineoverridevirtual

Full file path of the dataset.

Implements Arcane::ISubDomain.

Definition at line 268 of file SubDomain.cc.

References m_case_full_file_name.

◆ caseMng()

ICaseMng * Arcane::SubDomain::caseMng ( )
inlineoverridevirtual

Returns the dataset manager.

Implements Arcane::ISubDomain.

Definition at line 235 of file SubDomain.cc.

References m_case_mng.

Referenced by allocateMeshes(), and dumpInternalInfos().

Here is the caller graph for this function:

◆ caseName()

const String & Arcane::SubDomain::caseName ( ) const
inlineoverridevirtual

Case name.

Implements Arcane::ISubDomain.

Definition at line 270 of file SubDomain.cc.

References m_case_name.

◆ caseOptionsMain()

const CaseOptionsMain * Arcane::SubDomain::caseOptionsMain ( ) const
inlineoverridevirtual

General dataset options.

Implements Arcane::ISubDomain.

Definition at line 284 of file SubDomain.cc.

References m_case_config.

Referenced by doExitModules().

Here is the caller graph for this function:

◆ checkId()

void Arcane::SubDomain::checkId ( const String & where,
const String & id )
overridevirtual

Checks if an identifier is valid.

Exceptions
ExceptionBadNameif id is not a valid identifier.

Implements Arcane::ISubDomain.

Definition at line 944 of file SubDomain.cc.

◆ checkpointMng()

ICheckpointMng * Arcane::SubDomain::checkpointMng ( ) const
inlineoverridevirtual

Protection manager.

Implements Arcane::ISubDomain.

Definition at line 237 of file SubDomain.cc.

References m_checkpoint_mng.

◆ commonVariables()

const CommonVariables & Arcane::SubDomain::commonVariables ( ) const
overridevirtual

Information on standard variables.

Implements Arcane::ISubDomain.

Definition at line 980 of file SubDomain.cc.

References m_module_master.

◆ configuration() [1/2]

const IConfiguration * Arcane::SubDomain::configuration ( ) const
inlineoverridevirtual

Associated configuration.

Implements Arcane::ISubDomain.

Definition at line 247 of file SubDomain.cc.

References m_configuration.

◆ configuration() [2/2]

IConfiguration * Arcane::SubDomain::configuration ( )
inlineoverridevirtual

Associated configuration.

Implements Arcane::ISubDomain.

Definition at line 248 of file SubDomain.cc.

References m_configuration.

◆ defaultMesh()

IMesh * Arcane::SubDomain::defaultMesh ( )
inlineoverridevirtual

Default mesh.

The default mesh does not exist until the dataset has been read. It is generally preferable to use defautMeshHandle() instead.

Implements Arcane::ISubDomain.

Definition at line 258 of file SubDomain.cc.

◆ defaultMeshHandle()

const MeshHandle & Arcane::SubDomain::defaultMeshHandle ( )
inlineoverridevirtual

Handle for the default mesh.

This handle always exists even if the associated mesh has not yet been created.

Implements Arcane::ISubDomain.

Definition at line 259 of file SubDomain.cc.

◆ destroy()

void Arcane::SubDomain::destroy ( )
overridevirtual

Implements Arcane::ISubDomain.

Definition at line 606 of file SubDomain.cc.

◆ directExecution()

IDirectExecution * Arcane::SubDomain::directExecution ( ) const
inlineoverridevirtual

Direct execution service (or null).

Implements Arcane::ISubDomain.

Definition at line 300 of file SubDomain.cc.

◆ doExitModules()

void Arcane::SubDomain::doExitModules ( )
overridevirtual

Executes exit modules.

Implements Arcane::ISubDomain.

Definition at line 922 of file SubDomain.cc.

References ARCANE_FATAL, caseOptionsMain(), Arcane::ITraceMng::flush(), Arcane::TraceAccessor::logdate(), m_is_initialized, m_parallel_mng, m_time_history_mng, m_time_loop_mng, and traceMng().

Here is the call graph for this function:

◆ doInitMeshPartition()

void Arcane::SubDomain::doInitMeshPartition ( )
overridevirtual

Applies the initialization mesh partitioning.

Implements Arcane::ISubDomain.

Definition at line 801 of file SubDomain.cc.

References Arcane::IMeshStats::create(), Arcane::TraceAccessor::info(), parallelMng(), Arcane::IInitialPartitioner::partitionAndDistributeMeshes(), and traceMng().

Here is the call graph for this function:

◆ doInitModules()

void Arcane::SubDomain::doInitModules ( )
overridevirtual

Calls the module initialization entry points.

Implements Arcane::ISubDomain.

Definition at line 833 of file SubDomain.cc.

◆ dumpInfo()

void Arcane::SubDomain::dumpInfo ( std::ostream & )
overridevirtual

Displays information about the instance.

Implements Arcane::ISubDomain.

Definition at line 665 of file SubDomain.cc.

References m_module_mng.

◆ dumpInternalInfos()

void Arcane::SubDomain::dumpInternalInfos ( XmlNode & elem)
overridevirtual

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.

Implements Arcane::ISubDomain.

Definition at line 991 of file SubDomain.cc.

References Arcane::ICaseMng::blocks(), caseMng(), Arcane::ICaseOptions::caseModule(), Arcane::CollectionBase::clear(), Arcane::IVariable::dataType(), Arcane::dataTypeName(), Arcane::ITimeLoop::description(), Arcane::IVariable::dimension(), Arcane::IVariable::itemKind(), Arcane::itemKindName(), moduleMng(), Arcane::IModule::name(), Arcane::IVariable::name(), Arcane::ICaseOptions::rootTagName(), Arcane::XmlNode::setAttrValue(), timeLoopMng(), Arcane::ITimeLoop::title(), Arcane::ITimeLoopMng::usedTimeLoop(), Arcane::ITimeLoop::userClasses(), variableMng(), and Arcane::IVariableMng::variables().

Here is the call graph for this function:

◆ entryPointMng()

IEntryPointMng * Arcane::SubDomain::entryPointMng ( )
inlineoverridevirtual

Returns the entry point manager.

Implements Arcane::ISubDomain.

Definition at line 234 of file SubDomain.cc.

References m_entry_point_mng.

◆ exportDirectory()

const IDirectory & Arcane::SubDomain::exportDirectory ( ) const
inlineoverridevirtual

Base directory for exports.

Implements Arcane::ISubDomain.

Definition at line 288 of file SubDomain.cc.

References m_export_directory.

◆ fillCaseBytes()

void Arcane::SubDomain::fillCaseBytes ( ByteArray & bytes) const
inlineoverridevirtual

Fills bytes with the dataset content.

Implements Arcane::ISubDomain.

Definition at line 271 of file SubDomain.cc.

References m_case_bytes.

◆ findMesh()

IMesh * Arcane::SubDomain::findMesh ( const String & name,
bool throw_exception )
overridevirtual

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.

Implements Arcane::ISubDomain.

Definition at line 1077 of file SubDomain.cc.

◆ initialize()

◆ initializeMeshVariablesFromCaseFile()

void Arcane::SubDomain::initializeMeshVariablesFromCaseFile ( )
overridevirtual

Initializes variables whose values are specified in the dataset.

Implements Arcane::ISubDomain.

Definition at line 791 of file SubDomain.cc.

References m_has_mesh_service.

◆ ioMng()

IIOMng * Arcane::SubDomain::ioMng ( )
inlineoverridevirtual

Returns the I/O manager.

Implements Arcane::ISubDomain.

Definition at line 231 of file SubDomain.cc.

References m_io_mng.

◆ isContinue()

bool Arcane::SubDomain::isContinue ( ) const
inlineoverridevirtual

True if a restart is being performed, false otherwise.

Implements Arcane::ISubDomain.

Definition at line 254 of file SubDomain.cc.

◆ isInitialized()

bool Arcane::SubDomain::isInitialized ( ) const
inlineoverridevirtual

Indicates if the session has been initialized.

Implements Arcane::ISubDomain.

Definition at line 262 of file SubDomain.cc.

References m_is_initialized.

◆ isLegacyMeshCreation()

bool Arcane::SubDomain::isLegacyMeshCreation ( ) const
inline

Definition at line 306 of file SubDomain.cc.

◆ listingDirectory()

const IDirectory & Arcane::SubDomain::listingDirectory ( ) const
inlineoverridevirtual

Base directory for listings (logs, execution info).

Implements Arcane::ISubDomain.

Definition at line 292 of file SubDomain.cc.

References m_listing_directory.

◆ loadBalanceMng()

ILoadBalanceMng * Arcane::SubDomain::loadBalanceMng ( )
inlineoverridevirtual

Returns the load balancing manager.

Implements Arcane::ISubDomain.

Definition at line 244 of file SubDomain.cc.

References m_lb_mng.

◆ mainFactory()

IMainFactory * Arcane::SubDomain::mainFactory ( )
inlineoverridevirtual

Main factory.

Implements Arcane::ISubDomain.

Definition at line 227 of file SubDomain.cc.

References m_application.

◆ memoryInfo()

IMemoryInfo * Arcane::SubDomain::memoryInfo ( ) const
inlineoverridevirtual

Memory information manager.

Implements Arcane::ISubDomain.

Definition at line 242 of file SubDomain.cc.

References m_memory_info.

◆ mesh()

IMesh * Arcane::SubDomain::mesh ( )
inlineoverridevirtual

Implements Arcane::ISubDomain.

Definition at line 260 of file SubDomain.cc.

◆ meshDimension()

Integer Arcane::SubDomain::meshDimension ( ) const
overridevirtual

Mesh dimension (1D, 2D, or 3D).

Deprecated
Use mesh()->dimension() instead.

Implements Arcane::ISubDomain.

Definition at line 1068 of file SubDomain.cc.

◆ meshes()

ConstArrayView< IMesh * > Arcane::SubDomain::meshes ( ) const
overridevirtual

List of meshes in the subdomain.

Implements Arcane::ISubDomain.

Definition at line 782 of file SubDomain.cc.

◆ meshMng()

IMeshMng * Arcane::SubDomain::meshMng ( ) const
inlineoverridevirtual

Returns the mesh manager.

Implements Arcane::ISubDomain.

Definition at line 245 of file SubDomain.cc.

◆ moduleMaster()

IModuleMaster * Arcane::SubDomain::moduleMaster ( ) const
inlineoverridevirtual

Module master interface.

Implements Arcane::ISubDomain.

Definition at line 246 of file SubDomain.cc.

References m_module_master.

◆ moduleMng()

IModuleMng * Arcane::SubDomain::moduleMng ( )
inlineoverridevirtual

Returns the module manager.

Implements Arcane::ISubDomain.

Definition at line 233 of file SubDomain.cc.

References m_module_mng.

Referenced by dumpInternalInfos().

Here is the caller graph for this function:

◆ nbSubDomain()

Int32 Arcane::SubDomain::nbSubDomain ( ) const
inlineoverridevirtual

Total number of subdomains.

Implements Arcane::ISubDomain.

Definition at line 252 of file SubDomain.cc.

References m_parallel_mng.

◆ objectLocalName()

String Arcane::SubDomain::objectLocalName ( ) const
inlineoverridevirtual

Local name of the object.

Implements Arcane::IBase.

Definition at line 222 of file SubDomain.cc.

◆ objectNamespaceURI()

String Arcane::SubDomain::objectNamespaceURI ( ) const
inlineoverridevirtual

Namespace of the object.

Implements Arcane::IBase.

Definition at line 221 of file SubDomain.cc.

◆ objectParent()

IBase * Arcane::SubDomain::objectParent ( ) const
inlineoverridevirtual

Parent of this object.

Implements Arcane::IBase.

Definition at line 220 of file SubDomain.cc.

References m_application.

◆ objectVersion()

VersionInfo Arcane::SubDomain::objectVersion ( ) const
inlineoverridevirtual

Service version number.

Implements Arcane::IBase.

Definition at line 223 of file SubDomain.cc.

◆ onDestroyObservable()

IObservable * Arcane::SubDomain::onDestroyObservable ( )
inlineoverridevirtual

Notification before subdomain destruction.

Implements Arcane::ISubDomain.

Definition at line 299 of file SubDomain.cc.

References m_on_destroy_observable.

◆ parallelMng()

IParallelMng * Arcane::SubDomain::parallelMng ( )
inlineoverridevirtual

Returns the parallelism manager.

Implements Arcane::ISubDomain.

Definition at line 285 of file SubDomain.cc.

References m_parallel_mng.

Referenced by _printCPUAffinity(), allocateMeshes(), build(), doInitMeshPartition(), readOrReloadMeshes(), and setIsInitialized().

Here is the caller graph for this function:

◆ physicalUnitSystem()

IPhysicalUnitSystem * Arcane::SubDomain::physicalUnitSystem ( )
inlineoverridevirtual

Subdomain unit system.

Implements Arcane::ISubDomain.

Definition at line 243 of file SubDomain.cc.

References m_physical_unit_system.

◆ propertyMng()

IPropertyMng * Arcane::SubDomain::propertyMng ( ) const
inlineoverridevirtual

Property manager.

Implements Arcane::ISubDomain.

Definition at line 238 of file SubDomain.cc.

References m_property_mng.

Referenced by setIsInitialized().

Here is the caller graph for this function:

◆ readCaseMeshes()

void Arcane::SubDomain::readCaseMeshes ( )
overridevirtual

Reads the mesh information from the dataset.

Implements Arcane::ISubDomain.

Definition at line 962 of file SubDomain.cc.

References ARCANE_FATAL, caseDocument(), Arcane::TraceAccessor::info(), m_case_config, m_case_full_file_name, m_module_master, and traceMng().

Here is the call graph for this function:

◆ readOrReloadMeshes()

void Arcane::SubDomain::readOrReloadMeshes ( )
overridevirtual

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().

AMR : done in factory. This method is removed from IMesh.

Implements Arcane::ISubDomain.

Definition at line 716 of file SubDomain.cc.

References Arcane::IMesh::checkValidMesh(), Arcane::MessagePassing::dumpDateAndMemoryUsage(), Arcane::platform::getProfilingService(), Arcane::TraceAccessor::info(), Arcane::TraceAccessor::logdate(), m_has_mesh_service, parallelMng(), Arcane::IPrimaryMesh::reloadMesh(), Arcane::ProfilingSentryWithInitialize::setPrintAtEnd(), and traceMng().

Here is the call graph for this function:

◆ ressourceMng()

IRessourceMng * Arcane::SubDomain::ressourceMng ( ) const
inlineoverridevirtual

Resource manager.

Implements Arcane::IBase.

Definition at line 240 of file SubDomain.cc.

References m_application.

◆ serviceMng()

IServiceMng * Arcane::SubDomain::serviceMng ( ) const
inlineoverridevirtual

Service manager.

Implements Arcane::IBase.

Definition at line 229 of file SubDomain.cc.

References m_service_mng.

◆ session()

ISession * Arcane::SubDomain::session ( ) const
inlineoverridevirtual

Session.

Implements Arcane::ISubDomain.

Definition at line 228 of file SubDomain.cc.

References m_session.

◆ setCaseFullFileName()

void Arcane::SubDomain::setCaseFullFileName ( const String & file_name)
inline

Definition at line 269 of file SubDomain.cc.

◆ setCaseName()

void Arcane::SubDomain::setCaseName ( const String & name)
inlineoverridevirtual

Sets the case name.

This method must be called before initialization.

Implements Arcane::ISubDomain.

Definition at line 272 of file SubDomain.cc.

References m_case_name.

◆ setDirectExecution()

void Arcane::SubDomain::setDirectExecution ( IDirectExecution * v)
inlineoverridevirtual

Sets the direct execution service.

This service must be set during service creation when reading the dataset.

Implements Arcane::ISubDomain.

Definition at line 301 of file SubDomain.cc.

◆ setExportDirectory()

void Arcane::SubDomain::setExportDirectory ( const IDirectory & dir)
inlineoverridevirtual

Sets the output path for exports (protections and restarts).

The directory corresponding to dir must exist.

This method must be called before initialization.

Implements Arcane::ISubDomain.

Definition at line 289 of file SubDomain.cc.

References m_export_directory.

◆ setInitialPartitioner()

void Arcane::SubDomain::setInitialPartitioner ( IInitialPartitioner * partitioner)
inlineoverridevirtual

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.

Implements Arcane::ISubDomain.

Definition at line 273 of file SubDomain.cc.

◆ setIsContinue()

void Arcane::SubDomain::setIsContinue ( )
inlineoverridevirtual

Sets a flag indicating that a restart is being performed.

This method must be called before allocating the mesh (allocateMeshes()).

Implements Arcane::ISubDomain.

Definition at line 253 of file SubDomain.cc.

◆ setIsInitialized()

void Arcane::SubDomain::setIsInitialized ( )
overridevirtual

Indicates that the subdomain is initialized.

Implements Arcane::ISubDomain.

Definition at line 1103 of file SubDomain.cc.

References Arcane::TraceAccessor::info(), m_is_initialized, Arcane::Parallel::IStat::mergeValues(), parallelMng(), propertyMng(), Arcane::IParallelMng::stat(), timeStats(), and traceMng().

Here is the call graph for this function:

◆ setListingDirectory()

void Arcane::SubDomain::setListingDirectory ( const IDirectory & dir)
inlineoverridevirtual

Sets the output path for listing info.

The directory corresponding to dirname must exist.

This method must be called before initialization.

Implements Arcane::ISubDomain.

Definition at line 293 of file SubDomain.cc.

References m_listing_directory.

◆ setStorageDirectory()

void Arcane::SubDomain::setStorageDirectory ( const IDirectory & dir)
inlineoverridevirtual

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.

Implements Arcane::ISubDomain.

Definition at line 291 of file SubDomain.cc.

References m_storage_directory.

◆ storageDirectory()

const IDirectory & Arcane::SubDomain::storageDirectory ( ) const
inlineoverridevirtual

Base directory for exports requiring archiving.

Implements Arcane::ISubDomain.

Definition at line 290 of file SubDomain.cc.

References m_storage_directory.

◆ subDomainId()

Int32 Arcane::SubDomain::subDomainId ( ) const
inlineoverridevirtual

Subdomain ID associated with this manager.

Implements Arcane::ISubDomain.

Definition at line 251 of file SubDomain.cc.

References m_parallel_mng.

◆ threadMng()

IThreadMng * Arcane::SubDomain::threadMng ( )
inlineoverridevirtual

Returns the thread manager.

Implements Arcane::ISubDomain.

Definition at line 287 of file SubDomain.cc.

References m_parallel_mng.

◆ timeHistoryMng()

ITimeHistoryMng * Arcane::SubDomain::timeHistoryMng ( )
inlineoverridevirtual

Returns the history manager.

Implements Arcane::ISubDomain.

Definition at line 294 of file SubDomain.cc.

References m_time_history_mng.

◆ timeLoopMng()

ITimeLoopMng * Arcane::SubDomain::timeLoopMng ( )
inlineoverridevirtual

Returns the time loop manager.

Implements Arcane::ISubDomain.

Definition at line 230 of file SubDomain.cc.

References m_time_loop_mng.

Referenced by dumpInternalInfos().

Here is the caller graph for this function:

◆ timerMng()

ITimerMng * Arcane::SubDomain::timerMng ( ) const
inlineoverridevirtual

Returns the timer manager.

Implements Arcane::ISubDomain.

Definition at line 236 of file SubDomain.cc.

References m_timer_mng.

◆ timeStats()

ITimeStats * Arcane::SubDomain::timeStats ( ) const
inlineoverridevirtual

Execution time statistics.

Implements Arcane::ISubDomain.

Definition at line 239 of file SubDomain.cc.

References m_time_stats.

Referenced by setIsInitialized().

Here is the caller graph for this function:

◆ traceMng()

ITraceMng * Arcane::SubDomain::traceMng ( ) const
inlineoverridevirtual

Trace manager.

Implements Arcane::IBase.

Definition at line 241 of file SubDomain.cc.

References Arcane::TraceAccessor::traceMng().

Referenced by allocateMeshes(), build(), doExitModules(), doInitMeshPartition(), initialize(), readCaseMeshes(), readOrReloadMeshes(), and setIsInitialized().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ variableMng()

IVariableMng * Arcane::SubDomain::variableMng ( )
inlineoverridevirtual

Returns the variable manager.

Implements Arcane::ISubDomain.

Definition at line 232 of file SubDomain.cc.

References m_variable_mng.

Referenced by dumpInternalInfos().

Here is the caller graph for this function:

◆ variablesCommon()

const CommonVariables & Arcane::SubDomain::variablesCommon ( ) const
inline

Definition at line 295 of file SubDomain.cc.

Member Data Documentation

◆ m_accelerator_mng

Ref<IAcceleratorMng> Arcane::SubDomain::m_accelerator_mng
private

Definition at line 358 of file SubDomain.cc.

◆ m_all_replica_parallel_mng

Ref<IParallelMng> Arcane::SubDomain::m_all_replica_parallel_mng
private

Parallelism manager for all replicas.

Definition at line 318 of file SubDomain.cc.

Referenced by allReplicaParallelMng(), and initialize().

◆ m_application

IApplication* Arcane::SubDomain::m_application
private

Main manager.

Definition at line 316 of file SubDomain.cc.

Referenced by application(), applicationInfo(), build(), initialize(), mainFactory(), objectParent(), and ressourceMng().

◆ m_case_bytes

ByteUniqueArray Arcane::SubDomain::m_case_bytes
private

Case data.

Definition at line 341 of file SubDomain.cc.

Referenced by fillCaseBytes(), and initialize().

◆ m_case_config

CaseOptionsMain* Arcane::SubDomain::m_case_config
private

Case config.

Definition at line 342 of file SubDomain.cc.

Referenced by caseOptionsMain(), and readCaseMeshes().

◆ m_case_full_file_name

String Arcane::SubDomain::m_case_full_file_name
private

Case path.

Definition at line 339 of file SubDomain.cc.

Referenced by caseFullFileName(), initialize(), and readCaseMeshes().

◆ m_case_mesh_master_service

Ref<ICaseMeshMasterService> Arcane::SubDomain::m_case_mesh_master_service
private

Definition at line 356 of file SubDomain.cc.

◆ m_case_mng

Ref<ICaseMng> Arcane::SubDomain::m_case_mng
private

Case data manager.

Definition at line 324 of file SubDomain.cc.

Referenced by allocateMeshes(), build(), caseDocument(), caseMng(), and initialize().

◆ m_case_name

String Arcane::SubDomain::m_case_name
private

Case name.

Definition at line 340 of file SubDomain.cc.

Referenced by caseName(), and setCaseName().

◆ m_checkpoint_mng

ScopedPtrT<ICheckpointMng> Arcane::SubDomain::m_checkpoint_mng
private

Checkpoint manager.

Definition at line 326 of file SubDomain.cc.

Referenced by build(), checkpointMng(), and initialize().

◆ m_configuration

ScopedPtrT<IConfiguration> Arcane::SubDomain::m_configuration
private

Configuration.

Definition at line 350 of file SubDomain.cc.

Referenced by build(), configuration(), configuration(), and initialize().

◆ m_default_mesh_handle

MeshHandle Arcane::SubDomain::m_default_mesh_handle
private

Definition at line 337 of file SubDomain.cc.

◆ m_direct_execution

IDirectExecution* Arcane::SubDomain::m_direct_execution
private

Definition at line 348 of file SubDomain.cc.

◆ m_entry_point_mng

ScopedPtrT<IEntryPointMng> Arcane::SubDomain::m_entry_point_mng
private

Entry point manager.

Definition at line 323 of file SubDomain.cc.

Referenced by build(), and entryPointMng().

◆ m_export_directory

Directory Arcane::SubDomain::m_export_directory
private

Export directory.

Definition at line 343 of file SubDomain.cc.

Referenced by exportDirectory(), and setExportDirectory().

◆ m_has_mesh_service

bool Arcane::SubDomain::m_has_mesh_service = false
private

Indicates whether the service mechanism is used to read the mesh.

Definition at line 355 of file SubDomain.cc.

Referenced by allocateMeshes(), initialize(), initializeMeshVariablesFromCaseFile(), and readOrReloadMeshes().

◆ m_io_mng

ScopedPtrT<IIOMng> Arcane::SubDomain::m_io_mng
private

Input/output manager.

Definition at line 319 of file SubDomain.cc.

Referenced by build(), and ioMng().

◆ m_is_continue

bool Arcane::SubDomain::m_is_continue
private

Definition at line 347 of file SubDomain.cc.

◆ m_is_create_default_mesh_v2

bool Arcane::SubDomain::m_is_create_default_mesh_v2
private

Definition at line 351 of file SubDomain.cc.

◆ m_is_initialized

bool Arcane::SubDomain::m_is_initialized
private

true if initialized

Definition at line 338 of file SubDomain.cc.

Referenced by doExitModules(), isInitialized(), and setIsInitialized().

◆ m_lb_mng

ScopedPtrT<ILoadBalanceMng> Arcane::SubDomain::m_lb_mng
private

Load balancing characteristics manager.

Definition at line 349 of file SubDomain.cc.

Referenced by initialize(), and loadBalanceMng().

◆ m_legacy_mesh_builder

ScopedPtrT<LegacyMeshBuilder> Arcane::SubDomain::m_legacy_mesh_builder
private

Definition at line 353 of file SubDomain.cc.

◆ m_listing_directory

Directory Arcane::SubDomain::m_listing_directory
private

Listing directory.

Definition at line 345 of file SubDomain.cc.

Referenced by listingDirectory(), and setListingDirectory().

◆ m_local_name

String Arcane::SubDomain::m_local_name
private

Definition at line 333 of file SubDomain.cc.

◆ m_memory_info

ScopedPtrT<IMemoryInfo> Arcane::SubDomain::m_memory_info
private

Memory usage information.

Definition at line 320 of file SubDomain.cc.

Referenced by memoryInfo().

◆ m_mesh_mng

ScopedPtrT<MeshMng> Arcane::SubDomain::m_mesh_mng
private

Definition at line 336 of file SubDomain.cc.

◆ m_module_master

IModuleMaster* Arcane::SubDomain::m_module_master
private

Master module.

Definition at line 334 of file SubDomain.cc.

Referenced by commonVariables(), initialize(), moduleMaster(), and readCaseMeshes().

◆ m_module_mng

ScopedPtrT<IModuleMng> Arcane::SubDomain::m_module_mng
private

Module manager.

Definition at line 322 of file SubDomain.cc.

Referenced by build(), dumpInfo(), and moduleMng().

◆ m_namespace_uri

String Arcane::SubDomain::m_namespace_uri
private

Definition at line 332 of file SubDomain.cc.

◆ m_observers

ObserverPool Arcane::SubDomain::m_observers
private

Definition at line 357 of file SubDomain.cc.

◆ m_on_destroy_observable

Observable Arcane::SubDomain::m_on_destroy_observable
private

Observable upon destruction.

Definition at line 346 of file SubDomain.cc.

Referenced by onDestroyObservable().

◆ m_parallel_mng

Ref<IParallelMng> Arcane::SubDomain::m_parallel_mng
private

Parallelism manager.

Definition at line 317 of file SubDomain.cc.

Referenced by build(), doExitModules(), initialize(), nbSubDomain(), parallelMng(), subDomainId(), and threadMng().

◆ m_physical_unit_system

ScopedPtrT<IPhysicalUnitSystem> Arcane::SubDomain::m_physical_unit_system
private

Physical unit system.

Definition at line 331 of file SubDomain.cc.

Referenced by build(), and physicalUnitSystem().

◆ m_property_mng

Ref<IPropertyMng> Arcane::SubDomain::m_property_mng
private

Property manager.

Definition at line 327 of file SubDomain.cc.

Referenced by build(), and propertyMng().

◆ m_property_mng_checkpoint

ScopedPtrT<PropertyMngCheckpoint> Arcane::SubDomain::m_property_mng_checkpoint
private

Definition at line 352 of file SubDomain.cc.

◆ m_service_mng

ScopedPtrT<IServiceMng> Arcane::SubDomain::m_service_mng
private

Service manager.

Definition at line 330 of file SubDomain.cc.

Referenced by build(), and serviceMng().

◆ m_session

ISession* Arcane::SubDomain::m_session
private

Session.

Definition at line 315 of file SubDomain.cc.

Referenced by session().

◆ m_storage_directory

Directory Arcane::SubDomain::m_storage_directory
private

Archive directory.

Definition at line 344 of file SubDomain.cc.

Referenced by setStorageDirectory(), and storageDirectory().

◆ m_time_history_mng

ScopedPtrT<ITimeHistoryMng> Arcane::SubDomain::m_time_history_mng
private

History manager.

Definition at line 335 of file SubDomain.cc.

Referenced by doExitModules(), initialize(), and timeHistoryMng().

◆ m_time_loop_mng

ScopedPtrT<ITimeLoopMng> Arcane::SubDomain::m_time_loop_mng
private

Time loop manager.

Definition at line 329 of file SubDomain.cc.

Referenced by build(), doExitModules(), initialize(), and timeLoopMng().

◆ m_time_stats

ITimeStats* Arcane::SubDomain::m_time_stats
private

Execution time statistics.

Definition at line 328 of file SubDomain.cc.

Referenced by build(), and timeStats().

◆ m_timer_mng

ITimerMng* Arcane::SubDomain::m_timer_mng
private

Timer manager.

Definition at line 325 of file SubDomain.cc.

Referenced by build(), and timerMng().

◆ m_variable_mng

ScopedPtrT<IVariableMng> Arcane::SubDomain::m_variable_mng
private

Variable manager.

Definition at line 321 of file SubDomain.cc.

Referenced by build(), initialize(), and variableMng().


The documentation for this class was generated from the following file: