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

Implementation of a material manager. More...

#include <arcane/materials/internal/MeshMaterialMng.h>

Inheritance diagram for Arcane::Materials::MeshMaterialMng:
Collaboration diagram for Arcane::Materials::MeshMaterialMng:

Classes

class  RunnerInfo
 Information about the execution queue used. More...
class  InternalApi

Public Member Functions

 MeshMaterialMng (const MeshHandle &mesh_handle, const String &name)
void build ()
IMeshmesh () override
 Associated mesh.
ITraceMngtraceMng () override
 Trace manager.
MeshMaterialInforegisterMaterialInfo (const String &name) override
 Registers the material info with name name.
IMeshEnvironmentcreateEnvironment (const MeshEnvironmentBuildInfo &infos) override
 Creation of an environment.
IMeshBlockcreateBlock (const MeshBlockBuildInfo &infos) override
 Creates a block.
void addEnvironmentToBlock (IMeshBlock *block, IMeshEnvironment *env) override
 Adds an environment to an existing block.
void removeEnvironmentToBlock (IMeshBlock *block, IMeshEnvironment *env) override
 Removes an environment from an existing block.
void endCreate (bool is_continue) override
 Indicates that environment creation is finished.
void setDataInitialisationWithZero (bool v) override
 Indicates how to initialize new values in material and environment cells.
bool isDataInitialisationWithZero () const override
 Indicates how to initialize new values in material and environment cells.
void setKeepValuesAfterChange (bool v) override
 Sets the saving of values between two modifications of the materials.
bool isKeepValuesAfterChange () const override
 Indicates if variable values are preserved between modifications.
void setMeshModificationNotified (bool v) override
 Indicates if environments and materials follow changes in the mesh topology.
bool isMeshModificationNotified () const override
 Indicates if environments and materials follow changes in the mesh topology.
void setModificationFlags (int v) override
 Sets the flags to parameterize material/environment modifications.
int modificationFlags () const override
 Flags to parameterize modifications.
void setAllocateScalarEnvironmentVariableAsMaterial (bool v) override
 Sets the option indicating whether scalar variables of environments are allocated on materials.
bool isAllocateScalarEnvironmentVariableAsMaterial () const override
 Indicates if environment scalar variables are allocated on materials.
void setDataCompressorServiceName (const String &name) override
 Name of the service used to compress data during forceRecompute().
String dataCompressorServiceName () const override
 Virtual name of the service used to compress data.
String name () const override
 Manager name.
ConstArrayView< IMeshMaterial * > materials () const override
 List of materials.
ConstArrayView< IMeshComponent * > materialsAsComponents () const override
 List of materials viewed as components.
ConstArrayView< IMeshEnvironment * > environments () const override
 List of environments.
ConstArrayView< IMeshComponent * > environmentsAsComponents () const override
 List of environments viewed as components.
ConstArrayView< IMeshComponent * > components () const override
 List of all components.
ConstArrayView< IMeshBlock * > blocks () const override
 List of blocks.
IMeshEnvironmentfindEnvironment (const String &name, bool throw_exception=true) override
 Returns the environment with name name.
IMeshBlockfindBlock (const String &name, bool throw_exception=true) override
 Returns the block with name name.
void fillWithUsedVariables (Array< IMeshMaterialVariable * > &variables) override
 Fills the array variables with the list of used material variables.
IMeshMaterialVariablefindVariable (const String &name) override
 Variable with name name or nullptr if none of this name exists.
IMeshMaterialVariablecheckVariable (IVariable *global_var) override
 Material variable associated with the global variable global_var (nullptr if none).
void dumpInfos (std::ostream &o) override
 Writes the material and environment info to the stream o.
void dumpCellInfos (Cell cell, std::ostream &o) override
 Writes the cell info cell to the stream o.
void checkValid () override
 Checks the validity of internal structures.
void forceRecompute () override
 Forces the recalculation of material information.
MutexvariableLock () override
 Lock used for multi-threading.
bool synchronizeMaterialsInCells () override
 Synchronizes material cells.
void checkMaterialsInCells (Integer max_print) override
 Checks that material cells are consistent between subdomains.
Int64 timestamp () const override
 Counter for the number of modifications of the material list and environments.
ConstArrayView< MeshEnvironment * > trueEnvironments () const
ConstArrayView< MeshMaterial * > trueMaterials () const
Int32 nbVariable () const
AllEnvCellVectorView _view (SmallSpan< const Int32 > cells_local_id)
AllEnvCellVectorView view (const CellGroup &cells) final
 View of environment cells corresponding to the group cells.
AllEnvCellVectorView view (CellVectorView cells) final
 View of environment cells corresponding to the group cells.
AllEnvCellVectorView view (SmallSpan< const Int32 > cells_local_id) final
 View of environment cells corresponding to local cell IDs cells_local_id.
CellToAllEnvCellConverter cellToAllEnvCellConverter () override
 Creates an instance to convert from 'Cell' to 'AllEnvCell'.
void recreateFromDump () override
 Recreates the material and environment info from the dump info.
void visitVariables (IFunctorWithArgumentT< IMeshMaterialVariable * > *functor) override
 Applies the functor functor to all material variables.
void setSynchronizeVariableVersion (Integer version) override
 Sets the version of the implementation for synchronizing material variables.
Integer synchronizeVariableVersion () const override
 Version of the implementation for synchronizing material variables.
bool isInMeshMaterialExchange () const override
 True if a mesh exchange with material management is underway.
IMeshMaterialVariableFactoryMngvariableFactoryMng () const override
 Interface of the variable factory.
void setUseMaterialValueWhenRemovingPartialValue (bool v) override
 Indicates whether the material or environment value is used when transforming a cell from a partial cell to a pure cell.
bool isUseMaterialValueWhenRemovingPartialValue () const override
AllEnvDataallEnvData ()
ComponentItemSharedInfo * componentItemSharedInfo (Int32 level) const
void syncVariablesReferences (bool check_resize)
 Updates the variable references.
void incrementTimestamp ()
void dumpInfos2 (std::ostream &o)
const MeshHandlemeshHandle () const
void enableCellToAllEnvCellForRunCommand (bool is_enable, bool force_create=false) override
 Activates or deactivates the construction and update of the table of "connectivity" CellLocalId -> AllEnvCell for RUNCOMMAND.
bool isCellToAllEnvCellForRunCommand () const override
IMeshMaterialMngInternal_internalApi () const override
 Internal API for Arcane.
Runnerrunner () const
RunQueuerunQueue () const
Accelerator::RunQueuePoolasyncRunQueuePool () const
Real additionalCapacityRatio () const
SmallSpan< const Int32identitySelectionView ()
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

Private Types

using FullNameVariableMap = std::map<String, IMeshMaterialVariable*>
 Type of the list of variables by full name.
using FullNameVariablePair = FullNameVariableMap::value_type
 Pair of the list of variables by full name.
using VariableToMaterialVariableMap = std::map<IVariable*, IMeshMaterialVariable*>
using VariableToMaterialVariablePair = VariableToMaterialVariableMap::value_type

Private Member Functions

AllCellToAllEnvCellContainergetAllCellToAllEnvCellContainer () const
void createAllCellToAllEnvCell ()
void _endUpdate ()
 Updates the structures following a modification of material or environment cells.
IMeshMaterialVariable_findVariableFullyQualified (const String &name)
MeshMaterialInfo_findMaterialInfo (const String &name)
MeshEnvironment_findEnvironment (const String &name)
MeshBlock_findBlock (const String &name)
MeshMaterial_createMaterial (MeshEnvironment *env, MeshMaterialInfo *infos, const String &name)
 Creation of a material.
void _addVariableIndexer (MeshMaterialVariableIndexer *var_idx)
void _checkEndCreate ()
void _addVariableUnlocked (IMeshMaterialVariable *var)
void _saveInfosInProperties ()
void _checkCreateProperties ()
void _onMeshDestroyed ()
void _unregisterAllVariables ()
void _addVariable (IMeshMaterialVariable *var)
void _removeVariable (IMeshMaterialVariable *var)
MeshMaterialModifierImpl_modifier ()
ConstArrayView< MeshMaterialVariableIndexer * > _variablesIndexer ()
IMeshMaterialVariableSynchronizer_allCellsMatEnvSynchronizer () override
 Synchronizer for material and environment variables on all cells.
IMeshMaterialVariableSynchronizer_allCellsEnvOnlySynchronizer () override
 Synchronizer for environment-only variables on all cells.
void _dumpStats ()

Private Attributes

MeshHandle m_mesh_handle
std::unique_ptr< InternalApim_internal_api
IVariableMngm_variable_mng = nullptr
String m_name
bool m_is_end_create = false
bool m_is_verbose = false
bool m_keep_values_after_change = true
bool m_is_data_initialisation_with_zero = false
bool m_is_mesh_modification_notified = false
bool m_is_allocate_scalar_environment_variable_as_material = false
bool m_is_use_material_value_when_removing_partial_value = false
int m_modification_flags = 0
Real m_additional_capacity_ratio = 0.05
Mutex m_variable_lock
std::unique_ptr< MeshMaterialModifierImplm_modifier
UniqueArray< MeshMaterialInfo * > m_materials_info
UniqueArray< IMeshMaterial * > m_materials
UniqueArray< IMeshComponent * > m_materials_as_components
UniqueArray< MeshMaterial * > m_true_materials
UniqueArray< IMeshEnvironment * > m_environments
UniqueArray< IMeshComponent * > m_environments_as_components
UniqueArray< IMeshComponent * > m_components
UniqueArray< MeshEnvironment * > m_true_environments
UniqueArray< IMeshBlock * > m_blocks
UniqueArray< MeshBlock * > m_true_blocks
UniqueArray< MeshMaterialVariableIndexer * > m_variables_indexer
UniqueArray< MeshMaterialVariableIndexer * > m_variables_indexer_to_destroy
FullNameVariableMap m_full_name_variable_map
VariableToMaterialVariableMap m_var_to_mat_var_map
std::unique_ptr< Propertiesm_properties
std::unique_ptr< AllEnvDatam_all_env_data
Int64 m_timestamp = 0
 Counter for the number of material modifications.
std::unique_ptr< IMeshMaterialVariableSynchronizerm_all_cells_mat_env_synchronizer
std::unique_ptr< IMeshMaterialVariableSynchronizerm_all_cells_env_only_synchronizer
Integer m_synchronize_variable_version = 1
std::unique_ptr< MeshMaterialExchangeMngm_exchange_mng
IMeshMaterialVariableFactoryMngm_variable_factory_mng = nullptr
std::unique_ptr< ObserverPoolm_observer_pool
String m_data_compressor_service_name
MeshMaterialSynchronizerm_mms = nullptr
std::unique_ptr< RunnerInfom_runner_info
std::unique_ptr< AllCellToAllEnvCellContainerm_accelerator_envcell_container
 Container for AllEnvCellToAllEnvCell for accelerator.
bool m_is_use_accelerator_envcell_container = false
bool m_is_use_accelerator_for_constituent_item_vector = true
UniqueArray< Int32m_indexed_selection_identity
 Identity array for selection.
std::mutex m_indexed_selection_identity_mutex

Friends

class MeshMaterialBackup

Additional Inherited Members

Static Public Member Functions inherited from Arcane::Materials::IMeshMaterialMng
static IMeshMaterialMnggetReference (const MeshHandleOrMesh &mesh_handle, bool create=true)
 Retrieves or creates the reference associated with mesh.
static Ref< IMeshMaterialMnggetTrueReference (const MeshHandle &mesh_handle, bool create=true)
 Retrieves or creates the reference associated with mesh.
Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Implementation of a material manager.

Definition at line 62 of file MeshMaterialMng.h.

Member Typedef Documentation

◆ FullNameVariableMap

Type of the list of variables by full name.

Definition at line 347 of file MeshMaterialMng.h.

◆ FullNameVariablePair

using Arcane::Materials::MeshMaterialMng::FullNameVariablePair = FullNameVariableMap::value_type
private

Pair of the list of variables by full name.

Definition at line 349 of file MeshMaterialMng.h.

◆ VariableToMaterialVariableMap

using Arcane::Materials::MeshMaterialMng::VariableToMaterialVariableMap = std::map<IVariable*, IMeshMaterialVariable*>
private

Definition at line 351 of file MeshMaterialMng.h.

◆ VariableToMaterialVariablePair

using Arcane::Materials::MeshMaterialMng::VariableToMaterialVariablePair = VariableToMaterialVariableMap::value_type
private

Definition at line 352 of file MeshMaterialMng.h.

Constructor & Destructor Documentation

◆ MeshMaterialMng()

Arcane::Materials::MeshMaterialMng::MeshMaterialMng ( const MeshHandle & mesh_handle,
const String & name )

Definition at line 148 of file MeshMaterialMng.cc.

◆ ~MeshMaterialMng()

Arcane::Materials::MeshMaterialMng::~MeshMaterialMng ( )
override

Definition at line 173 of file MeshMaterialMng.cc.

Member Function Documentation

◆ _addVariable()

void Arcane::Materials::MeshMaterialMng::_addVariable ( IMeshMaterialVariable * var)
private

Definition at line 867 of file MeshMaterialMng.cc.

◆ _addVariableIndexer()

void Arcane::Materials::MeshMaterialMng::_addVariableIndexer ( MeshMaterialVariableIndexer * var_idx)
private

Definition at line 358 of file MeshMaterialMng.cc.

◆ _allCellsEnvOnlySynchronizer()

IMeshMaterialVariableSynchronizer * Arcane::Materials::MeshMaterialMng::_allCellsEnvOnlySynchronizer ( )
inlineoverrideprivatevirtual

Synchronizer for environment-only variables on all cells.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 439 of file MeshMaterialMng.h.

◆ _allCellsMatEnvSynchronizer()

IMeshMaterialVariableSynchronizer * Arcane::Materials::MeshMaterialMng::_allCellsMatEnvSynchronizer ( )
inlineoverrideprivatevirtual

Synchronizer for material and environment variables on all cells.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 435 of file MeshMaterialMng.h.

◆ _checkCreateProperties()

void Arcane::Materials::MeshMaterialMng::_checkCreateProperties ( )
private

Definition at line 1127 of file MeshMaterialMng.cc.

◆ _checkEndCreate()

void Arcane::Materials::MeshMaterialMng::_checkEndCreate ( )
private

Definition at line 1044 of file MeshMaterialMng.cc.

◆ _createMaterial()

MeshMaterial * Arcane::Materials::MeshMaterialMng::_createMaterial ( MeshEnvironment * env,
MeshMaterialInfo * infos,
const String & name )
private

Creation of a material.

Creates a material named name, in environment env, with info infos.

Definition at line 374 of file MeshMaterialMng.cc.

References ARCANE_FATAL, Arcane::Materials::MeshMaterial::build(), Arcane::TraceAccessor::info(), Arcane::Materials::MeshEnvironment::materialMng(), Arcane::Materials::MeshMaterialInfo::materialMng(), and name().

Referenced by createEnvironment().

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

◆ _dumpStats()

void Arcane::Materials::MeshMaterialMng::_dumpStats ( )
private

Definition at line 1338 of file MeshMaterialMng.cc.

◆ _endUpdate()

void Arcane::Materials::MeshMaterialMng::_endUpdate ( )
private

Updates the structures following a modification of material or environment cells.

Definition at line 699 of file MeshMaterialMng.cc.

Referenced by endCreate(), and forceRecompute().

Here is the caller graph for this function:

◆ _findBlock()

MeshBlock * Arcane::Materials::MeshMaterialMng::_findBlock ( const String & name)
private

Definition at line 674 of file MeshMaterialMng.cc.

◆ _findEnvironment()

MeshEnvironment * Arcane::Materials::MeshMaterialMng::_findEnvironment ( const String & name)
private

Definition at line 648 of file MeshMaterialMng.cc.

◆ _findMaterialInfo()

MeshMaterialInfo * Arcane::Materials::MeshMaterialMng::_findMaterialInfo ( const String & name)
private

Definition at line 622 of file MeshMaterialMng.cc.

◆ _findVariableFullyQualified()

IMeshMaterialVariable * Arcane::Materials::MeshMaterialMng::_findVariableFullyQualified ( const String & name)
private

Definition at line 826 of file MeshMaterialMng.cc.

◆ _internalApi()

IMeshMaterialMngInternal * Arcane::Materials::MeshMaterialMng::_internalApi ( ) const
inlineoverridevirtual

Internal API for Arcane.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 327 of file MeshMaterialMng.h.

◆ _modifier()

MeshMaterialModifierImpl * Arcane::Materials::MeshMaterialMng::_modifier ( )
private

Definition at line 613 of file MeshMaterialMng.cc.

◆ _onMeshDestroyed()

void Arcane::Materials::MeshMaterialMng::_onMeshDestroyed ( )
private

Definition at line 1279 of file MeshMaterialMng.cc.

◆ _removeVariable()

void Arcane::Materials::MeshMaterialMng::_removeVariable ( IMeshMaterialVariable * var)
private

Definition at line 880 of file MeshMaterialMng.cc.

◆ _saveInfosInProperties()

void Arcane::Materials::MeshMaterialMng::_saveInfosInProperties ( )
private

Definition at line 1141 of file MeshMaterialMng.cc.

◆ _unregisterAllVariables()

void Arcane::Materials::MeshMaterialMng::_unregisterAllVariables ( )
private

Definition at line 1294 of file MeshMaterialMng.cc.

◆ _variablesIndexer()

ConstArrayView< MeshMaterialVariableIndexer * > Arcane::Materials::MeshMaterialMng::_variablesIndexer ( )
inlineprivate

Definition at line 431 of file MeshMaterialMng.h.

◆ _view()

AllEnvCellVectorView Arcane::Materials::MeshMaterialMng::_view ( SmallSpan< const Int32 > cells_local_id)

Definition at line 1054 of file MeshMaterialMng.cc.

◆ addEnvironmentToBlock()

void Arcane::Materials::MeshMaterialMng::addEnvironmentToBlock ( IMeshBlock * block,
IMeshEnvironment * env )
overridevirtual

Adds an environment to an existing block.

Adds the environment env to the block block.

The modification of a block can only take place during initialization, (i.e., before calling endCreate()).

Warning
This method does not modify the block->cells() group, and it is up to the caller to add the environment's cells to the group if necessary.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 506 of file MeshMaterialMng.cc.

References Arcane::Materials::MeshBlock::addEnvironment(), and ARCANE_CHECK_POINTER.

Here is the call graph for this function:

◆ additionalCapacityRatio()

Real Arcane::Materials::MeshMaterialMng::additionalCapacityRatio ( ) const
inline

Definition at line 335 of file MeshMaterialMng.h.

◆ allEnvData()

AllEnvData * Arcane::Materials::MeshMaterialMng::allEnvData ( )
inline

Definition at line 310 of file MeshMaterialMng.h.

◆ asyncRunQueuePool()

Accelerator::RunQueuePool & Arcane::Materials::MeshMaterialMng::asyncRunQueuePool ( ) const
inline

Definition at line 334 of file MeshMaterialMng.h.

◆ blocks()

ConstArrayView< IMeshBlock * > Arcane::Materials::MeshMaterialMng::blocks ( ) const
inlineoverridevirtual

List of blocks.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 226 of file MeshMaterialMng.h.

◆ build()

void Arcane::Materials::MeshMaterialMng::build ( )

Definition at line 220 of file MeshMaterialMng.cc.

◆ cellToAllEnvCellConverter()

CellToAllEnvCellConverter Arcane::Materials::MeshMaterialMng::cellToAllEnvCellConverter ( )
overridevirtual

Creates an instance to convert from 'Cell' to 'AllEnvCell'.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 1035 of file MeshMaterialMng.cc.

◆ checkMaterialsInCells()

void Arcane::Materials::MeshMaterialMng::checkMaterialsInCells ( Integer max_print)
overridevirtual

Checks that material cells are consistent between subdomains.

This method allows checking that all ghost cells of our subdomain have the same list of materials as the associated owned cells.

In case of an error, the list of inconsistent cells is displayed and a FatalErrorException is raised.

max_print indicates the maximum number of errors to display in case of an error. If it is negative, all cells are displayed.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 1006 of file MeshMaterialMng.cc.

◆ checkValid()

◆ checkVariable()

IMeshMaterialVariable * Arcane::Materials::MeshMaterialMng::checkVariable ( IVariable * global_var)
overridevirtual

Material variable associated with the global variable global_var (nullptr if none).

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 838 of file MeshMaterialMng.cc.

◆ componentItemSharedInfo()

ComponentItemSharedInfo * Arcane::Materials::MeshMaterialMng::componentItemSharedInfo ( Int32 level) const

Definition at line 1318 of file MeshMaterialMng.cc.

◆ components()

ConstArrayView< IMeshComponent * > Arcane::Materials::MeshMaterialMng::components ( ) const
inlineoverridevirtual

List of all components.

This list is the concatenation of environmentsAsComponents() and materialsAsComponents(). It is only valid once endCreate() has been called.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 225 of file MeshMaterialMng.h.

◆ createAllCellToAllEnvCell()

void Arcane::Materials::MeshMaterialMng::createAllCellToAllEnvCell ( )
private

Definition at line 1363 of file MeshMaterialMng.cc.

◆ createBlock()

IMeshBlock * Arcane::Materials::MeshMaterialMng::createBlock ( const MeshBlockBuildInfo & infos)
overridevirtual

Creates a block.

Creates a block with the info infos.

The creation of a block can only take place during initialization, (i.e., before calling endCreate()), but after the creation of environments.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 476 of file MeshMaterialMng.cc.

References ARCANE_FATAL, Arcane::Materials::MeshBlock::build(), Arcane::Materials::MeshBlockBuildInfo::environments(), Arcane::TraceAccessor::info(), Arcane::Materials::MeshBlockBuildInfo::name(), name(), and Arcane::ConstArrayView< T >::size().

Referenced by recreateFromDump().

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

◆ createEnvironment()

IMeshEnvironment * Arcane::Materials::MeshMaterialMng::createEnvironment ( const MeshEnvironmentBuildInfo & infos)
overridevirtual

Creation of an environment.

The environment info is provided by the structure infos. Along with the environment, all constituent materials are created.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 421 of file MeshMaterialMng.cc.

References _createMaterial(), ARCANE_FATAL, Arcane::Materials::MeshEnvironment::build(), Arcane::TraceAccessor::info(), Arcane::Materials::MeshEnvironment::materials(), Arcane::Materials::MeshEnvironmentBuildInfo::materials(), Arcane::Materials::MeshEnvironment::name(), Arcane::Materials::MeshEnvironmentBuildInfo::name(), and traceMng().

Referenced by recreateFromDump().

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

◆ dataCompressorServiceName()

String Arcane::Materials::MeshMaterialMng::dataCompressorServiceName ( ) const
inlineoverridevirtual

Virtual name of the service used to compress data.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 218 of file MeshMaterialMng.h.

◆ dumpCellInfos()

void Arcane::Materials::MeshMaterialMng::dumpCellInfos ( Cell cell,
std::ostream & o )
overridevirtual

Writes the cell info cell to the stream o.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 1015 of file MeshMaterialMng.cc.

References ENUMERATE_CELL_ENVCELL, ENUMERATE_CELL_MATCELL, and Arcane::Materials::ConstituentItem::globalCell().

Here is the call graph for this function:

◆ dumpInfos()

void Arcane::Materials::MeshMaterialMng::dumpInfos ( std::ostream & o)
overridevirtual

Writes the material and environment info to the stream o.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 893 of file MeshMaterialMng.cc.

References Arcane::Materials::MeshMaterialVariableIndexer::name(), and Arcane::ConstArrayView< T >::size().

Here is the call graph for this function:

◆ dumpInfos2()

void Arcane::Materials::MeshMaterialMng::dumpInfos2 ( std::ostream & o)

Definition at line 934 of file MeshMaterialMng.cc.

◆ enableCellToAllEnvCellForRunCommand()

void Arcane::Materials::MeshMaterialMng::enableCellToAllEnvCellForRunCommand ( bool is_enable,
bool force_create = false )
inlineoverridevirtual

Activates or deactivates the construction and update of the table of "connectivity" CellLocalId -> AllEnvCell for RUNCOMMAND.

It can also be activated by the environment variable ARCANE_ALLENVCELL_FOR_RUNCOMMAND. Optionally, the table can be forced to be created, which can be useful during a late call of this method compared to ForceRecompute()

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 319 of file MeshMaterialMng.h.

◆ endCreate()

void Arcane::Materials::MeshMaterialMng::endCreate ( bool is_continue)
overridevirtual

Indicates that environment creation is finished.

The instance is not usable until this method has been called.

If is_continue is true, it rebuilds for each material and environment the list of their cells from the recovery information.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 526 of file MeshMaterialMng.cc.

References _endUpdate(), Arcane::Materials::IMeshMaterialVariable::buildFromManager(), Arcane::Materials::Environment, Arcane::TraceAccessor::info(), Arcane::Materials::MaterialAndEnvironment, mesh(), and Arcane::Materials::IMeshMaterialVariable::name().

Referenced by recreateFromDump().

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

◆ environments()

ConstArrayView< IMeshEnvironment * > Arcane::Materials::MeshMaterialMng::environments ( ) const
inlineoverridevirtual

List of environments.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 223 of file MeshMaterialMng.h.

◆ environmentsAsComponents()

ConstArrayView< IMeshComponent * > Arcane::Materials::MeshMaterialMng::environmentsAsComponents ( ) const
inlineoverridevirtual

List of environments viewed as components.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 224 of file MeshMaterialMng.h.

◆ fillWithUsedVariables()

void Arcane::Materials::MeshMaterialMng::fillWithUsedVariables ( Array< IMeshMaterialVariable * > & variables)
overridevirtual

Fills the array variables with the list of used material variables.

The array variables is cleared before the call.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 850 of file MeshMaterialMng.cc.

References Arcane::Array< T >::add(), Arcane::Array< T >::clear(), Arcane::Materials::IMeshMaterialVariable::globalVariable(), and Arcane::IVariable::isUsed().

Here is the call graph for this function:

◆ findBlock()

IMeshBlock * Arcane::Materials::MeshMaterialMng::findBlock ( const String & name,
bool throw_exception = true )
overridevirtual

Returns the block with name name.

If no block with this name exists, returns null if throw_exception is false and throws an exception if throw_exception is true.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 660 of file MeshMaterialMng.cc.

References ARCANE_FATAL, and name().

Here is the call graph for this function:

◆ findEnvironment()

IMeshEnvironment * Arcane::Materials::MeshMaterialMng::findEnvironment ( const String & name,
bool throw_exception = true )
overridevirtual

Returns the environment with name name.

If no environment with this name exists, returns null if throw_exception is false and throws an exception if throw_exception is true.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 634 of file MeshMaterialMng.cc.

References ARCANE_FATAL, and name().

Referenced by recreateFromDump().

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

◆ findVariable()

IMeshMaterialVariable * Arcane::Materials::MeshMaterialMng::findVariable ( const String & name)
overridevirtual

Variable with name name or nullptr if none of this name exists.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 803 of file MeshMaterialMng.cc.

References Arcane::IVariable::fullName(), mesh(), and name().

Here is the call graph for this function:

◆ forceRecompute()

void Arcane::Materials::MeshMaterialMng::forceRecompute ( )
overridevirtual

Forces the recalculation of material information.

This method allows forcing the recalculation of information on cells mixed, for example, following a mesh change. This is a temporary method that will eventually be removed. Mixed values are invalidated after calling this method.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 686 of file MeshMaterialMng.cc.

References _endUpdate().

Here is the call graph for this function:

◆ getAllCellToAllEnvCellContainer()

AllCellToAllEnvCellContainer * Arcane::Materials::MeshMaterialMng::getAllCellToAllEnvCellContainer ( ) const
inlineprivate

Definition at line 341 of file MeshMaterialMng.h.

◆ identitySelectionView()

SmallSpan< const Int32 > Arcane::Materials::MeshMaterialMng::identitySelectionView ( )

Definition at line 1375 of file MeshMaterialMng.cc.

◆ incrementTimestamp()

void Arcane::Materials::MeshMaterialMng::incrementTimestamp ( )
inline

Definition at line 314 of file MeshMaterialMng.h.

◆ isAllocateScalarEnvironmentVariableAsMaterial()

bool Arcane::Materials::MeshMaterialMng::isAllocateScalarEnvironmentVariableAsMaterial ( ) const
inlineoverridevirtual

Indicates if environment scalar variables are allocated on materials.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 212 of file MeshMaterialMng.h.

◆ isCellToAllEnvCellForRunCommand()

bool Arcane::Materials::MeshMaterialMng::isCellToAllEnvCellForRunCommand ( ) const
inlineoverridevirtual

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 325 of file MeshMaterialMng.h.

◆ isDataInitialisationWithZero()

bool Arcane::Materials::MeshMaterialMng::isDataInitialisationWithZero ( ) const
inlineoverridevirtual

Indicates how to initialize new values in material and environment cells.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 200 of file MeshMaterialMng.h.

◆ isInMeshMaterialExchange()

bool Arcane::Materials::MeshMaterialMng::isInMeshMaterialExchange ( ) const
overridevirtual

True if a mesh exchange with material management is underway.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 1118 of file MeshMaterialMng.cc.

◆ isKeepValuesAfterChange()

bool Arcane::Materials::MeshMaterialMng::isKeepValuesAfterChange ( ) const
inlineoverridevirtual

Indicates if variable values are preserved between modifications.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 203 of file MeshMaterialMng.h.

◆ isMeshModificationNotified()

bool Arcane::Materials::MeshMaterialMng::isMeshModificationNotified ( ) const
inlineoverridevirtual

Indicates if environments and materials follow changes in the mesh topology.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 206 of file MeshMaterialMng.h.

◆ isUseMaterialValueWhenRemovingPartialValue()

bool Arcane::Materials::MeshMaterialMng::isUseMaterialValueWhenRemovingPartialValue ( ) const
inlineoverridevirtual

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 303 of file MeshMaterialMng.h.

◆ materials()

ConstArrayView< IMeshMaterial * > Arcane::Materials::MeshMaterialMng::materials ( ) const
inlineoverridevirtual

List of materials.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 221 of file MeshMaterialMng.h.

◆ materialsAsComponents()

ConstArrayView< IMeshComponent * > Arcane::Materials::MeshMaterialMng::materialsAsComponents ( ) const
inlineoverridevirtual

List of materials viewed as components.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 222 of file MeshMaterialMng.h.

◆ mesh()

IMesh * Arcane::Materials::MeshMaterialMng::mesh ( )
inlineoverridevirtual

Associated mesh.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 186 of file MeshMaterialMng.h.

Referenced by checkValid(), endCreate(), findVariable(), and recreateFromDump().

Here is the caller graph for this function:

◆ meshHandle()

const MeshHandle & Arcane::Materials::MeshMaterialMng::meshHandle ( ) const
inline

Definition at line 317 of file MeshMaterialMng.h.

◆ modificationFlags()

int Arcane::Materials::MeshMaterialMng::modificationFlags ( ) const
inlineoverridevirtual

Flags to parameterize modifications.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 209 of file MeshMaterialMng.h.

◆ name()

String Arcane::Materials::MeshMaterialMng::name ( ) const
inlineoverridevirtual

Manager name.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 220 of file MeshMaterialMng.h.

Referenced by _createMaterial(), createBlock(), findBlock(), findEnvironment(), findVariable(), recreateFromDump(), registerMaterialInfo(), and setDataCompressorServiceName().

Here is the caller graph for this function:

◆ nbVariable()

Int32 Arcane::Materials::MeshMaterialMng::nbVariable ( ) const
inline

Definition at line 255 of file MeshMaterialMng.h.

◆ recreateFromDump()

void Arcane::Materials::MeshMaterialMng::recreateFromDump ( )
overridevirtual

Recreates the material and environment info from the dump info.

This method replaces endCreate() and can only be used during recovery and during initialization.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 1200 of file MeshMaterialMng.cc.

References Arcane::Materials::MeshBlockBuildInfo::addEnvironment(), Arcane::Materials::MeshEnvironmentBuildInfo::addMaterial(), ARCANE_FATAL, createBlock(), createEnvironment(), Arcane::AbstractArray< T >::empty(), endCreate(), findEnvironment(), Arcane::IItemFamily::findGroup(), Arcane::TraceAccessor::info(), mesh(), name(), Arcane::ItemGroup::null(), registerMaterialInfo(), and Arcane::AbstractArray< T >::size().

Here is the call graph for this function:

◆ registerMaterialInfo()

MeshMaterialInfo * Arcane::Materials::MeshMaterialMng::registerMaterialInfo ( const String & name)
overridevirtual

Registers the material info with name name.

This operation only registers the information of a material. This information is then used when creating the environment via createEnvironment().

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 398 of file MeshMaterialMng.cc.

References ARCANE_FATAL, and name().

Referenced by recreateFromDump().

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

◆ removeEnvironmentToBlock()

void Arcane::Materials::MeshMaterialMng::removeEnvironmentToBlock ( IMeshBlock * block,
IMeshEnvironment * env )
overridevirtual

Removes an environment from an existing block.

Removes the environment env from the block block.

The modification of a block can only take place during initialization, (i.e., before calling endCreate()).

Warning
This method does not modify the block->cells() group, and it is up to the caller to add the environment's cells to the group if necessary.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 516 of file MeshMaterialMng.cc.

References ARCANE_CHECK_POINTER, and Arcane::Materials::MeshBlock::removeEnvironment().

Here is the call graph for this function:

◆ runner()

Runner & Arcane::Materials::MeshMaterialMng::runner ( ) const
inline

Definition at line 332 of file MeshMaterialMng.h.

◆ runQueue()

RunQueue & Arcane::Materials::MeshMaterialMng::runQueue ( ) const
inline

Definition at line 333 of file MeshMaterialMng.h.

◆ setAllocateScalarEnvironmentVariableAsMaterial()

void Arcane::Materials::MeshMaterialMng::setAllocateScalarEnvironmentVariableAsMaterial ( bool v)
overridevirtual

Sets the option indicating whether scalar variables of environments are allocated on materials.

If active, then environment scalar variables are still allocated on materials. This allows declaring the same variable both as a material variable and an environment variable (e.g., MaterialVariableCellReal and EnvironmentVariableCellReal).

By default, this option is not active.

This method must be enabled before calling endCreate() to be taken into account.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 593 of file MeshMaterialMng.cc.

References Arcane::TraceAccessor::info().

Here is the call graph for this function:

◆ setDataCompressorServiceName()

void Arcane::Materials::MeshMaterialMng::setDataCompressorServiceName ( const String & name)
overridevirtual

Name of the service used to compress data during forceRecompute().

If null (the default), no compression is performed.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 604 of file MeshMaterialMng.cc.

References name().

Here is the call graph for this function:

◆ setDataInitialisationWithZero()

void Arcane::Materials::MeshMaterialMng::setDataInitialisationWithZero ( bool v)
inlineoverridevirtual

Indicates how to initialize new values in material and environment cells.

If true, the new values are initialized to zero or the null vector following the data type. If false, initialization is done with the global value.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 199 of file MeshMaterialMng.h.

◆ setKeepValuesAfterChange()

void Arcane::Materials::MeshMaterialMng::setKeepValuesAfterChange ( bool v)
inlineoverridevirtual

Sets the saving of values between two modifications of the materials.

If active, the values of partial variables are preserved between two modifications of the material list.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 202 of file MeshMaterialMng.h.

◆ setMeshModificationNotified()

void Arcane::Materials::MeshMaterialMng::setMeshModificationNotified ( bool v)
inlineoverridevirtual

Indicates if environments and materials follow changes in the mesh topology.

This method must be called before any material creation.

If v is false, environments and materials are not notified of changes in the mesh topology. In this case, all associated data is invalidated.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 205 of file MeshMaterialMng.h.

◆ setModificationFlags()

void Arcane::Materials::MeshMaterialMng::setModificationFlags ( int v)
overridevirtual

Sets the flags to parameterize material/environment modifications.

The possible flags are a combination of eModificationFlags.

For example:

IMeshMaterialMng* mm = ...;
Interface for the material and environment manager of a mesh.
virtual void setModificationFlags(int v)=0
Sets the flags to parameterize material/environment modifications.
@ GenericOptimize
Activates generic optimizations.
@ OptimizeMultiAddRemove
Activates optimizations for multiple additions/removals.

This method must be enabled before calling endCreate() to be taken into account.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 582 of file MeshMaterialMng.cc.

References Arcane::TraceAccessor::info().

Here is the call graph for this function:

◆ setSynchronizeVariableVersion()

void Arcane::Materials::MeshMaterialMng::setSynchronizeVariableVersion ( Integer version)
inlineoverridevirtual

Sets the version of the implementation for synchronizing material variables.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 282 of file MeshMaterialMng.h.

◆ setUseMaterialValueWhenRemovingPartialValue()

void Arcane::Materials::MeshMaterialMng::setUseMaterialValueWhenRemovingPartialValue ( bool v)
inlineoverridevirtual

Indicates whether the material or environment value is used when transforming a cell from a partial cell to a pure cell.

When transitioning from a partial cell to a pure cell, the partial value must be copied into the global value. By default, the behavior is not the same depending on whether optimizations are active or not (

See also
modificationFlags()). Without optimization, the material value is used. If the optimization eModificationFlags::GenericOptimize is active, the environment value is used.

If this property is true, it allows using the material value in all cases.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 299 of file MeshMaterialMng.h.

◆ synchronizeMaterialsInCells()

bool Arcane::Materials::MeshMaterialMng::synchronizeMaterialsInCells ( )
overridevirtual

Synchronizes material cells.

This method allows synchronizing between subdomains the cells of each material. It is collective

During this call, the subdomain owning N cells sends to the subdomains that possess these N cells as ghost cells the list of materials it possesses. These latter subdomains update this list by adding or removing the necessary materials.

After this call, it is guaranteed that the ghost cells of a subdomain have the same list of materials and environments as the cells of the subdomain that owns these cells. It is possible, in particular, to synchronize variables via MeshMaterialVariableRef::synchronize().

Returns true if the materials of this subdomain have been modified following the synchronization, false otherwise.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 997 of file MeshMaterialMng.cc.

◆ synchronizeVariableVersion()

Integer Arcane::Materials::MeshMaterialMng::synchronizeVariableVersion ( ) const
inlineoverridevirtual

Version of the implementation for synchronizing material variables.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 287 of file MeshMaterialMng.h.

◆ syncVariablesReferences()

void Arcane::Materials::MeshMaterialMng::syncVariablesReferences ( bool check_resize)

Updates the variable references.

This must be done when the number of elements per material or environment changes because the arrays containing the associated variables may be modified during the operation.

Definition at line 715 of file MeshMaterialMng.cc.

References Arcane::TraceAccessor::info(), Arcane::Materials::IMeshMaterialVariable::name(), and Arcane::Materials::IMeshMaterialVariableInternal::syncReferences().

Here is the call graph for this function:

◆ timestamp()

Int64 Arcane::Materials::MeshMaterialMng::timestamp ( ) const
inlineoverridevirtual

Counter for the number of modifications of the material list and environments.

This counter increases every time materials are added or removed. The increment is not necessarily constant.

Note
Currently, this counter is not saved during a protection and will therefore be 0 during recovery.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 251 of file MeshMaterialMng.h.

References m_timestamp.

◆ traceMng()

ITraceMng * Arcane::Materials::MeshMaterialMng::traceMng ( )
inlineoverridevirtual

Trace manager.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 187 of file MeshMaterialMng.h.

References Arcane::TraceAccessor::traceMng().

Referenced by createEnvironment().

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

◆ trueEnvironments()

ConstArrayView< MeshEnvironment * > Arcane::Materials::MeshMaterialMng::trueEnvironments ( ) const
inline

Definition at line 253 of file MeshMaterialMng.h.

◆ trueMaterials()

ConstArrayView< MeshMaterial * > Arcane::Materials::MeshMaterialMng::trueMaterials ( ) const
inline

Definition at line 254 of file MeshMaterialMng.h.

◆ variableFactoryMng()

IMeshMaterialVariableFactoryMng * Arcane::Materials::MeshMaterialMng::variableFactoryMng ( ) const
inlineoverridevirtual

Interface of the variable factory.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 294 of file MeshMaterialMng.h.

◆ variableLock()

Mutex * Arcane::Materials::MeshMaterialMng::variableLock ( )
inlineoverridevirtual

Lock used for multi-threading.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 243 of file MeshMaterialMng.h.

◆ view() [1/3]

AllEnvCellVectorView Arcane::Materials::MeshMaterialMng::view ( CellVectorView cells)
inlinefinalvirtual

View of environment cells corresponding to the group cells.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 266 of file MeshMaterialMng.h.

◆ view() [2/3]

AllEnvCellVectorView Arcane::Materials::MeshMaterialMng::view ( const CellGroup & cells)
inlinefinalvirtual

View of environment cells corresponding to the group cells.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 261 of file MeshMaterialMng.h.

Referenced by checkValid().

Here is the caller graph for this function:

◆ view() [3/3]

AllEnvCellVectorView Arcane::Materials::MeshMaterialMng::view ( SmallSpan< const Int32 > cell_local_id)
inlinefinalvirtual

View of environment cells corresponding to local cell IDs cells_local_id.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 271 of file MeshMaterialMng.h.

◆ visitVariables()

void Arcane::Materials::MeshMaterialMng::visitVariables ( IFunctorWithArgumentT< IMeshMaterialVariable * > * functor)
overridevirtual

Applies the functor functor to all material variables.

Implements Arcane::Materials::IMeshMaterialMng.

Definition at line 728 of file MeshMaterialMng.cc.

Referenced by Arcane::Materials::IncrementalComponentModifier::_copyBetweenPartialsAndGlobals(), Arcane::Materials::IncrementalComponentModifier::_resizeVariablesIndexer(), and Arcane::Materials::MeshMaterialExchangeMng::ExchangeCellStep::serialize().

Here is the caller graph for this function:

◆ MeshMaterialBackup

friend class MeshMaterialBackup
friend

Definition at line 68 of file MeshMaterialMng.h.

Member Data Documentation

◆ m_accelerator_envcell_container

std::unique_ptr<AllCellToAllEnvCellContainer> Arcane::Materials::MeshMaterialMng::m_accelerator_envcell_container
private

Container for AllEnvCellToAllEnvCell for accelerator.

Definition at line 404 of file MeshMaterialMng.h.

◆ m_additional_capacity_ratio

Real Arcane::Materials::MeshMaterialMng::m_additional_capacity_ratio = 0.05
private

Definition at line 368 of file MeshMaterialMng.h.

◆ m_all_cells_env_only_synchronizer

std::unique_ptr<IMeshMaterialVariableSynchronizer> Arcane::Materials::MeshMaterialMng::m_all_cells_env_only_synchronizer
private

Definition at line 393 of file MeshMaterialMng.h.

◆ m_all_cells_mat_env_synchronizer

std::unique_ptr<IMeshMaterialVariableSynchronizer> Arcane::Materials::MeshMaterialMng::m_all_cells_mat_env_synchronizer
private

Definition at line 392 of file MeshMaterialMng.h.

◆ m_all_env_data

std::unique_ptr<AllEnvData> Arcane::Materials::MeshMaterialMng::m_all_env_data
private

Definition at line 390 of file MeshMaterialMng.h.

◆ m_blocks

UniqueArray<IMeshBlock*> Arcane::Materials::MeshMaterialMng::m_blocks
private

Definition at line 381 of file MeshMaterialMng.h.

◆ m_components

UniqueArray<IMeshComponent*> Arcane::Materials::MeshMaterialMng::m_components
private

Definition at line 379 of file MeshMaterialMng.h.

◆ m_data_compressor_service_name

String Arcane::Materials::MeshMaterialMng::m_data_compressor_service_name
private

Definition at line 398 of file MeshMaterialMng.h.

◆ m_environments

UniqueArray<IMeshEnvironment*> Arcane::Materials::MeshMaterialMng::m_environments
private

Definition at line 377 of file MeshMaterialMng.h.

◆ m_environments_as_components

UniqueArray<IMeshComponent*> Arcane::Materials::MeshMaterialMng::m_environments_as_components
private

Definition at line 378 of file MeshMaterialMng.h.

◆ m_exchange_mng

std::unique_ptr<MeshMaterialExchangeMng> Arcane::Materials::MeshMaterialMng::m_exchange_mng
private

Definition at line 395 of file MeshMaterialMng.h.

◆ m_full_name_variable_map

FullNameVariableMap Arcane::Materials::MeshMaterialMng::m_full_name_variable_map
private

Definition at line 386 of file MeshMaterialMng.h.

◆ m_indexed_selection_identity

UniqueArray<Int32> Arcane::Materials::MeshMaterialMng::m_indexed_selection_identity
private

Identity array for selection.

Definition at line 410 of file MeshMaterialMng.h.

◆ m_indexed_selection_identity_mutex

std::mutex Arcane::Materials::MeshMaterialMng::m_indexed_selection_identity_mutex
private

Definition at line 411 of file MeshMaterialMng.h.

◆ m_internal_api

std::unique_ptr<InternalApi> Arcane::Materials::MeshMaterialMng::m_internal_api
private

Definition at line 357 of file MeshMaterialMng.h.

◆ m_is_allocate_scalar_environment_variable_as_material

bool Arcane::Materials::MeshMaterialMng::m_is_allocate_scalar_environment_variable_as_material = false
private

Definition at line 365 of file MeshMaterialMng.h.

◆ m_is_data_initialisation_with_zero

bool Arcane::Materials::MeshMaterialMng::m_is_data_initialisation_with_zero = false
private

Definition at line 363 of file MeshMaterialMng.h.

◆ m_is_end_create

bool Arcane::Materials::MeshMaterialMng::m_is_end_create = false
private

Definition at line 360 of file MeshMaterialMng.h.

◆ m_is_mesh_modification_notified

bool Arcane::Materials::MeshMaterialMng::m_is_mesh_modification_notified = false
private

Definition at line 364 of file MeshMaterialMng.h.

◆ m_is_use_accelerator_envcell_container

bool Arcane::Materials::MeshMaterialMng::m_is_use_accelerator_envcell_container = false
private

Definition at line 405 of file MeshMaterialMng.h.

◆ m_is_use_accelerator_for_constituent_item_vector

bool Arcane::Materials::MeshMaterialMng::m_is_use_accelerator_for_constituent_item_vector = true
private

Definition at line 407 of file MeshMaterialMng.h.

◆ m_is_use_material_value_when_removing_partial_value

bool Arcane::Materials::MeshMaterialMng::m_is_use_material_value_when_removing_partial_value = false
private

Definition at line 366 of file MeshMaterialMng.h.

◆ m_is_verbose

bool Arcane::Materials::MeshMaterialMng::m_is_verbose = false
private

Definition at line 361 of file MeshMaterialMng.h.

◆ m_keep_values_after_change

bool Arcane::Materials::MeshMaterialMng::m_keep_values_after_change = true
private

Definition at line 362 of file MeshMaterialMng.h.

◆ m_materials

UniqueArray<IMeshMaterial*> Arcane::Materials::MeshMaterialMng::m_materials
private

Definition at line 374 of file MeshMaterialMng.h.

◆ m_materials_as_components

UniqueArray<IMeshComponent*> Arcane::Materials::MeshMaterialMng::m_materials_as_components
private

Definition at line 375 of file MeshMaterialMng.h.

◆ m_materials_info

UniqueArray<MeshMaterialInfo*> Arcane::Materials::MeshMaterialMng::m_materials_info
private

Definition at line 373 of file MeshMaterialMng.h.

◆ m_mesh_handle

MeshHandle Arcane::Materials::MeshMaterialMng::m_mesh_handle
private

Definition at line 356 of file MeshMaterialMng.h.

◆ m_mms

MeshMaterialSynchronizer* Arcane::Materials::MeshMaterialMng::m_mms = nullptr
private

Definition at line 399 of file MeshMaterialMng.h.

◆ m_modification_flags

int Arcane::Materials::MeshMaterialMng::m_modification_flags = 0
private

Definition at line 367 of file MeshMaterialMng.h.

◆ m_modifier

std::unique_ptr<MeshMaterialModifierImpl> Arcane::Materials::MeshMaterialMng::m_modifier
private

Definition at line 372 of file MeshMaterialMng.h.

◆ m_name

String Arcane::Materials::MeshMaterialMng::m_name
private

Definition at line 359 of file MeshMaterialMng.h.

◆ m_observer_pool

std::unique_ptr<ObserverPool> Arcane::Materials::MeshMaterialMng::m_observer_pool
private

Definition at line 397 of file MeshMaterialMng.h.

◆ m_properties

std::unique_ptr<Properties> Arcane::Materials::MeshMaterialMng::m_properties
private

Definition at line 389 of file MeshMaterialMng.h.

◆ m_runner_info

std::unique_ptr<RunnerInfo> Arcane::Materials::MeshMaterialMng::m_runner_info
private

Definition at line 401 of file MeshMaterialMng.h.

◆ m_synchronize_variable_version

Integer Arcane::Materials::MeshMaterialMng::m_synchronize_variable_version = 1
private

Definition at line 394 of file MeshMaterialMng.h.

◆ m_timestamp

Int64 Arcane::Materials::MeshMaterialMng::m_timestamp = 0
private

Counter for the number of material modifications.

Definition at line 391 of file MeshMaterialMng.h.

Referenced by timestamp().

◆ m_true_blocks

UniqueArray<MeshBlock*> Arcane::Materials::MeshMaterialMng::m_true_blocks
private

Definition at line 382 of file MeshMaterialMng.h.

◆ m_true_environments

UniqueArray<MeshEnvironment*> Arcane::Materials::MeshMaterialMng::m_true_environments
private

Definition at line 380 of file MeshMaterialMng.h.

◆ m_true_materials

UniqueArray<MeshMaterial*> Arcane::Materials::MeshMaterialMng::m_true_materials
private

Definition at line 376 of file MeshMaterialMng.h.

◆ m_var_to_mat_var_map

VariableToMaterialVariableMap Arcane::Materials::MeshMaterialMng::m_var_to_mat_var_map
private

Definition at line 387 of file MeshMaterialMng.h.

◆ m_variable_factory_mng

IMeshMaterialVariableFactoryMng* Arcane::Materials::MeshMaterialMng::m_variable_factory_mng = nullptr
private

Definition at line 396 of file MeshMaterialMng.h.

◆ m_variable_lock

Mutex Arcane::Materials::MeshMaterialMng::m_variable_lock
private

Definition at line 370 of file MeshMaterialMng.h.

◆ m_variable_mng

IVariableMng* Arcane::Materials::MeshMaterialMng::m_variable_mng = nullptr
private

Definition at line 358 of file MeshMaterialMng.h.

◆ m_variables_indexer

UniqueArray<MeshMaterialVariableIndexer*> Arcane::Materials::MeshMaterialMng::m_variables_indexer
private

Definition at line 383 of file MeshMaterialMng.h.

◆ m_variables_indexer_to_destroy

UniqueArray<MeshMaterialVariableIndexer*> Arcane::Materials::MeshMaterialMng::m_variables_indexer_to_destroy
private

Definition at line 384 of file MeshMaterialMng.h.


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