Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::Materials::MeshMaterialVariableRef Class Referenceabstract

Base class for material variable references. More...

#include <arcane/core/materials/MeshMaterialVariableRef.h>

Inheritance diagram for Arcane::Materials::MeshMaterialVariableRef:
Collaboration diagram for Arcane::Materials::MeshMaterialVariableRef:

Classes

class  Enumerator

Public Member Functions

MeshMaterialVariableRef * previousReference ()
 Previous reference (or null) on variable().
MeshMaterialVariableRef * nextReference ()
 Next reference (or null) on variable().
void setPreviousReference (MeshMaterialVariableRef *v)
 Positions the previous reference.
void setNextReference (MeshMaterialVariableRef *v)
 Positions the next reference.
void registerVariable ()
 Registers the variable (internal).
void unregisterVariable ()
 Unregisters the variable (internal).
virtual void updateFromInternal ()=0
IMeshMaterialVariablematerialVariable () const
 Associated material variable.
void synchronize ()
 Synchronizes values between sub-domains.
void synchronize (MeshMaterialVariableSynchronizerList &sync_list)
 Adds this variable to the synchronization list sync_list.
MatVarSpace space () const
 Definition space of the variable (material+environment or environment only).
void fillPartialValuesWithSuperValues (Int32 level)
 Fills partial values with the super cell value. If level is LEVEL_MATERIAL, copies material values with those of the environment. If level is LEVEL_ENVIRONMENT, copies environment values with those of the global cell. If level is LEVEL_ALLENVIRONMENT, fills all partial values with those of the global cell (this makes this method equivalent to fillGlobalValuesWithGlobalValues().
String name () const
void setUpToDate ()
bool isUsed () const
void update ()
void addDependCurrentTime (const VariableRef &var)
void addDependCurrentTime (const VariableRef &var, const TraceInfo &tinfo)
void addDependCurrentTime (const MeshMaterialVariableRef &var)
void addDependPreviousTime (const MeshMaterialVariableRef &var)
void removeDepend (const MeshMaterialVariableRef &var)
template<typename ClassType>
void setComputeFunction (ClassType *instance, void(ClassType::*func)())
void setUpToDate (IMeshMaterial *)
 Functions to manage dependencies on the material part of the variable.
void update (IMeshMaterial *)
void addMaterialDepend (const VariableRef &var)
void addMaterialDepend (const VariableRef &var, const TraceInfo &tinfo)
void addMaterialDepend (const MeshMaterialVariableRef &var)
void addMaterialDepend (const MeshMaterialVariableRef &var, const TraceInfo &tinfo)
template<typename ClassType>
void setMaterialComputeFunction (ClassType *instance, void(ClassType::*func)(IMeshMaterial *))

Protected Member Functions

void _internalInit (IMeshMaterialVariable *mat_variable)
bool _isRegistered () const

Private Member Functions

void _checkValid () const
void _throwInvalid () const

Private Attributes

IMeshMaterialVariablem_material_variable = nullptr
 Associated variable.
MeshMaterialVariableRef * m_previous_reference = nullptr
 Previous reference on m_variable.
MeshMaterialVariableRef * m_next_reference = nullptr
 Next reference on m_variable.
IVariablem_global_variable = nullptr
 Associated global variable.
bool m_is_registered = false

Detailed Description

Base class for material variable references.

Definition at line 49 of file core/materials/MeshMaterialVariableRef.h.

Constructor & Destructor Documentation

◆ MeshMaterialVariableRef()

Arcane::Materials::MeshMaterialVariableRef::MeshMaterialVariableRef ( )

Definition at line 36 of file MeshMaterialVariableRef.cc.

◆ ~MeshMaterialVariableRef()

Arcane::Materials::MeshMaterialVariableRef::~MeshMaterialVariableRef ( )
virtual

Definition at line 44 of file MeshMaterialVariableRef.cc.

Member Function Documentation

◆ _checkValid()

void Arcane::Materials::MeshMaterialVariableRef::_checkValid ( ) const
inlineprivate

Definition at line 201 of file core/materials/MeshMaterialVariableRef.h.

◆ _internalInit()

void Arcane::Materials::MeshMaterialVariableRef::_internalInit ( IMeshMaterialVariable * mat_variable)
protected

Definition at line 76 of file MeshMaterialVariableRef.cc.

◆ _isRegistered()

bool Arcane::Materials::MeshMaterialVariableRef::_isRegistered ( ) const
inlineprotected

Definition at line 181 of file core/materials/MeshMaterialVariableRef.h.

◆ _throwInvalid()

void Arcane::Materials::MeshMaterialVariableRef::_throwInvalid ( ) const
private

Definition at line 124 of file MeshMaterialVariableRef.cc.

◆ addDependCurrentTime() [1/3]

void Arcane::Materials::MeshMaterialVariableRef::addDependCurrentTime ( const MeshMaterialVariableRef & var)

Definition at line 185 of file MeshMaterialVariableRef.cc.

◆ addDependCurrentTime() [2/3]

void Arcane::Materials::MeshMaterialVariableRef::addDependCurrentTime ( const VariableRef & var)

Definition at line 174 of file MeshMaterialVariableRef.cc.

◆ addDependCurrentTime() [3/3]

void Arcane::Materials::MeshMaterialVariableRef::addDependCurrentTime ( const VariableRef & var,
const TraceInfo & tinfo )

Definition at line 179 of file MeshMaterialVariableRef.cc.

◆ addDependPreviousTime()

void Arcane::Materials::MeshMaterialVariableRef::addDependPreviousTime ( const MeshMaterialVariableRef & var)

Definition at line 191 of file MeshMaterialVariableRef.cc.

◆ addMaterialDepend() [1/4]

void Arcane::Materials::MeshMaterialVariableRef::addMaterialDepend ( const MeshMaterialVariableRef & var)

Definition at line 230 of file MeshMaterialVariableRef.cc.

◆ addMaterialDepend() [2/4]

void Arcane::Materials::MeshMaterialVariableRef::addMaterialDepend ( const MeshMaterialVariableRef & var,
const TraceInfo & tinfo )

Definition at line 236 of file MeshMaterialVariableRef.cc.

◆ addMaterialDepend() [3/4]

void Arcane::Materials::MeshMaterialVariableRef::addMaterialDepend ( const VariableRef & var)

Definition at line 218 of file MeshMaterialVariableRef.cc.

◆ addMaterialDepend() [4/4]

void Arcane::Materials::MeshMaterialVariableRef::addMaterialDepend ( const VariableRef & var,
const TraceInfo & tinfo )

Definition at line 224 of file MeshMaterialVariableRef.cc.

◆ fillPartialValuesWithSuperValues()

void Arcane::Materials::MeshMaterialVariableRef::fillPartialValuesWithSuperValues ( Int32 level)
inline

Fills partial values with the super cell value. If level is LEVEL_MATERIAL, copies material values with those of the environment. If level is LEVEL_ENVIRONMENT, copies environment values with those of the global cell. If level is LEVEL_ALLENVIRONMENT, fills all partial values with those of the global cell (this makes this method equivalent to fillGlobalValuesWithGlobalValues().

Definition at line 137 of file core/materials/MeshMaterialVariableRef.h.

References m_material_variable.

◆ isUsed()

bool Arcane::Materials::MeshMaterialVariableRef::isUsed ( ) const

Definition at line 163 of file MeshMaterialVariableRef.cc.

◆ materialVariable()

IMeshMaterialVariable * Arcane::Materials::MeshMaterialVariableRef::materialVariable ( ) const
inline

Associated material variable.

Definition at line 117 of file core/materials/MeshMaterialVariableRef.h.

References m_material_variable.

Referenced by Arcane::VariableUtils::markVariableAsMostlyReadOnly(), Arcane::Accelerator::viewIn(), Arcane::Accelerator::viewIn(), Arcane::Materials::viewIn(), Arcane::Accelerator::viewInOut(), Arcane::Accelerator::viewInOut(), Arcane::Accelerator::viewOut(), Arcane::Accelerator::viewOut(), and Arcane::Materials::viewOut().

Here is the caller graph for this function:

◆ name()

String Arcane::Materials::MeshMaterialVariableRef::name ( ) const

Definition at line 153 of file MeshMaterialVariableRef.cc.

◆ nextReference()

MeshMaterialVariableRef * Arcane::Materials::MeshMaterialVariableRef::nextReference ( )

Next reference (or null) on variable().

Definition at line 97 of file MeshMaterialVariableRef.cc.

References m_next_reference.

Referenced by Arcane::Materials::MeshMaterialVariable::removeVariableRef().

Here is the caller graph for this function:

◆ previousReference()

MeshMaterialVariableRef * Arcane::Materials::MeshMaterialVariableRef::previousReference ( )

Previous reference (or null) on variable().

Definition at line 88 of file MeshMaterialVariableRef.cc.

References m_previous_reference.

Referenced by Arcane::Materials::MeshMaterialVariable::addVariableRef(), and Arcane::Materials::MeshMaterialVariable::removeVariableRef().

Here is the caller graph for this function:

◆ registerVariable()

void Arcane::Materials::MeshMaterialVariableRef::registerVariable ( )

Registers the variable (internal).

Definition at line 65 of file MeshMaterialVariableRef.cc.

References m_material_variable.

◆ removeDepend()

void Arcane::Materials::MeshMaterialVariableRef::removeDepend ( const MeshMaterialVariableRef & var)

Definition at line 197 of file MeshMaterialVariableRef.cc.

◆ setComputeFunction()

template<typename ClassType>
void Arcane::Materials::MeshMaterialVariableRef::setComputeFunction ( ClassType * instance,
void(ClassType::* func )() )
inline

Definition at line 157 of file core/materials/MeshMaterialVariableRef.h.

◆ setMaterialComputeFunction()

template<typename ClassType>
void Arcane::Materials::MeshMaterialVariableRef::setMaterialComputeFunction ( ClassType * instance,
void(ClassType::* func )(IMeshMaterial *) )
inline

Definition at line 172 of file core/materials/MeshMaterialVariableRef.h.

◆ setNextReference()

void Arcane::Materials::MeshMaterialVariableRef::setNextReference ( MeshMaterialVariableRef * v)

Positions the next reference.

For internal use only.

Definition at line 115 of file MeshMaterialVariableRef.cc.

References m_next_reference.

Referenced by Arcane::Materials::MeshMaterialVariable::addVariableRef(), and Arcane::Materials::MeshMaterialVariable::removeVariableRef().

Here is the caller graph for this function:

◆ setPreviousReference()

void Arcane::Materials::MeshMaterialVariableRef::setPreviousReference ( MeshMaterialVariableRef * v)

Positions the previous reference.

For internal use only.

Definition at line 106 of file MeshMaterialVariableRef.cc.

References m_previous_reference.

Referenced by Arcane::Materials::MeshMaterialVariable::addVariableRef(), and Arcane::Materials::MeshMaterialVariable::removeVariableRef().

Here is the caller graph for this function:

◆ setUpToDate() [1/2]

void Arcane::Materials::MeshMaterialVariableRef::setUpToDate ( )

Definition at line 158 of file MeshMaterialVariableRef.cc.

◆ setUpToDate() [2/2]

void Arcane::Materials::MeshMaterialVariableRef::setUpToDate ( IMeshMaterial * mat)

Functions to manage dependencies on the material part of the variable.

Definition at line 206 of file MeshMaterialVariableRef.cc.

References m_material_variable.

◆ space()

MatVarSpace Arcane::Materials::MeshMaterialVariableRef::space ( ) const
inline

Definition space of the variable (material+environment or environment only).

Definition at line 126 of file core/materials/MeshMaterialVariableRef.h.

References m_material_variable.

◆ synchronize() [1/2]

void Arcane::Materials::MeshMaterialVariableRef::synchronize ( )

Synchronizes values between sub-domains.

Definition at line 133 of file MeshMaterialVariableRef.cc.

References m_material_variable.

◆ synchronize() [2/2]

void Arcane::Materials::MeshMaterialVariableRef::synchronize ( MeshMaterialVariableSynchronizerList & sync_list)

Adds this variable to the synchronization list sync_list.

Definition at line 143 of file MeshMaterialVariableRef.cc.

References m_material_variable.

◆ unregisterVariable()

void Arcane::Materials::MeshMaterialVariableRef::unregisterVariable ( )

Unregisters the variable (internal).

Definition at line 54 of file MeshMaterialVariableRef.cc.

References m_material_variable.

Referenced by Arcane::Materials::CellEnvironmentVariableArrayRef< DataType_ >::refersTo(), Arcane::Materials::CellEnvironmentVariableScalarRef< DataType_ >::refersTo(), Arcane::Materials::CellMaterialVariableArrayRef< DataType_ >::refersTo(), and Arcane::Materials::CellMaterialVariableScalarRef< DataType_ >::refersTo().

Here is the caller graph for this function:

◆ update() [1/2]

void Arcane::Materials::MeshMaterialVariableRef::update ( )

Definition at line 168 of file MeshMaterialVariableRef.cc.

◆ update() [2/2]

void Arcane::Materials::MeshMaterialVariableRef::update ( IMeshMaterial * mat)

Definition at line 212 of file MeshMaterialVariableRef.cc.

◆ updateFromInternal()

virtual void Arcane::Materials::MeshMaterialVariableRef::updateFromInternal ( )
pure virtual

Implemented in Arcane::Materials::CellEnvironmentVariableArrayRef< DataType_ >, Arcane::Materials::CellEnvironmentVariableArrayRef< Byte >, Arcane::Materials::CellEnvironmentVariableArrayRef< DataType >, Arcane::Materials::CellEnvironmentVariableArrayRef< Int16 >, Arcane::Materials::CellEnvironmentVariableArrayRef< Int32 >, Arcane::Materials::CellEnvironmentVariableArrayRef< Int64 >, Arcane::Materials::CellEnvironmentVariableArrayRef< Real >, Arcane::Materials::CellEnvironmentVariableArrayRef< Real2 >, Arcane::Materials::CellEnvironmentVariableArrayRef< Real2x2 >, Arcane::Materials::CellEnvironmentVariableArrayRef< Real3 >, Arcane::Materials::CellEnvironmentVariableArrayRef< Real3x3 >, Arcane::Materials::CellEnvironmentVariableScalarRef< DataType_ >, Arcane::Materials::CellEnvironmentVariableScalarRef< Byte >, Arcane::Materials::CellEnvironmentVariableScalarRef< DataType >, Arcane::Materials::CellEnvironmentVariableScalarRef< Int16 >, Arcane::Materials::CellEnvironmentVariableScalarRef< Int32 >, Arcane::Materials::CellEnvironmentVariableScalarRef< Int64 >, Arcane::Materials::CellEnvironmentVariableScalarRef< Real >, Arcane::Materials::CellEnvironmentVariableScalarRef< Real2 >, Arcane::Materials::CellEnvironmentVariableScalarRef< Real2x2 >, Arcane::Materials::CellEnvironmentVariableScalarRef< Real3 >, Arcane::Materials::CellEnvironmentVariableScalarRef< Real3x3 >, Arcane::Materials::CellMaterialVariableArrayRef< DataType_ >, Arcane::Materials::CellMaterialVariableArrayRef< Byte >, Arcane::Materials::CellMaterialVariableArrayRef< DataType >, Arcane::Materials::CellMaterialVariableArrayRef< Int16 >, Arcane::Materials::CellMaterialVariableArrayRef< Int32 >, Arcane::Materials::CellMaterialVariableArrayRef< Int64 >, Arcane::Materials::CellMaterialVariableArrayRef< Real >, Arcane::Materials::CellMaterialVariableArrayRef< Real2 >, Arcane::Materials::CellMaterialVariableArrayRef< Real2x2 >, Arcane::Materials::CellMaterialVariableArrayRef< Real3 >, Arcane::Materials::CellMaterialVariableArrayRef< Real3x3 >, Arcane::Materials::CellMaterialVariableScalarRef< DataType_ >, Arcane::Materials::CellMaterialVariableScalarRef< Byte >, Arcane::Materials::CellMaterialVariableScalarRef< DataType >, Arcane::Materials::CellMaterialVariableScalarRef< Int16 >, Arcane::Materials::CellMaterialVariableScalarRef< Int32 >, Arcane::Materials::CellMaterialVariableScalarRef< Int64 >, Arcane::Materials::CellMaterialVariableScalarRef< Real >, Arcane::Materials::CellMaterialVariableScalarRef< Real2 >, Arcane::Materials::CellMaterialVariableScalarRef< Real2x2 >, Arcane::Materials::CellMaterialVariableScalarRef< Real3 >, and Arcane::Materials::CellMaterialVariableScalarRef< Real3x3 >.

Member Data Documentation

◆ m_global_variable

IVariable* Arcane::Materials::MeshMaterialVariableRef::m_global_variable = nullptr
private

Associated global variable.

Definition at line 195 of file core/materials/MeshMaterialVariableRef.h.

◆ m_is_registered

bool Arcane::Materials::MeshMaterialVariableRef::m_is_registered = false
private

Definition at line 197 of file core/materials/MeshMaterialVariableRef.h.

◆ m_material_variable

IMeshMaterialVariable* Arcane::Materials::MeshMaterialVariableRef::m_material_variable = nullptr
private

◆ m_next_reference

MeshMaterialVariableRef* Arcane::Materials::MeshMaterialVariableRef::m_next_reference = nullptr
private

Next reference on m_variable.

Definition at line 192 of file core/materials/MeshMaterialVariableRef.h.

Referenced by nextReference(), and setNextReference().

◆ m_previous_reference

MeshMaterialVariableRef* Arcane::Materials::MeshMaterialVariableRef::m_previous_reference = nullptr
private

Previous reference on m_variable.

Definition at line 189 of file core/materials/MeshMaterialVariableRef.h.

Referenced by previousReference(), and setPreviousReference().


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