Scalar variable on a mesh material. More...
#include <arcane/materials/MeshMaterialVariable.h>
Public Types | |
| using | ThatClass = MeshMaterialVariableScalar<ItemType, DataType> |
| using | ThatInterface = IScalarMeshMaterialVariable<ItemType, DataType> |
| using | BuilderType = typename ThatInterface::BuilderType |
| using | StaticImpl = MeshMaterialVariableCommonStaticImpl<ThatClass> |
| using | ItemTypeTemplate = ItemType |
| using | BaseClass = ItemMaterialVariableScalar<DataType> |
| using | VariableRefType = MeshVariableScalarRefT<ItemType, DataType> |
| using | PrivatePartType = typename BaseClass::PrivatePartType |
| Public Types inherited from Arcane::Materials::ItemMaterialVariableScalar< DataType > | |
| using | BaseClass = ItemMaterialVariableBase<MaterialVariableScalarTraits<DataType>> |
| using | Traits = MaterialVariableScalarTraits<DataType> |
| using | ThatClass = ItemMaterialVariableScalar<DataType> |
| using | ContainerViewType = typename Traits::ContainerViewType |
| using | PrivatePartType = typename Traits::PrivatePartType |
| using | ValueDataType = typename Traits::ValueDataType |
| using | ContainerType = typename Traits::ContainerType |
| using | VariableRefType = typename Traits::VariableRefType |
| Public Types inherited from Arcane::Materials::ItemMaterialVariableBase< MaterialVariableScalarTraits< DataType > > | |
| using | TraitsType |
| using | ValueType |
| using | DataType |
| using | ThatClass |
| using | SubViewType |
| using | SubConstViewType |
| using | SubInputViewType |
| using | ContainerSpanType |
| using | ContainerViewType |
| using | ContainerConstViewType |
| using | PrivatePartType |
| using | ValueDataType |
| using | ContainerType |
| using | UniqueContainerType |
| using | VariableRefType |
| Public Types inherited from Arcane::Materials::IScalarMeshMaterialVariable< ItemType, DataType > | |
| using | ThatInterface = IScalarMeshMaterialVariable<ItemType, DataType> |
| using | ItemTypeType = ItemType |
| using | DataTypeType = DataType |
| using | VariableRefType = MeshVariableScalarRefT<ItemType, DataType> |
| using | BuilderType = MeshMaterialVariableBuildTraits<ThatInterface> |
Public Member Functions | |
| VariableRefType * | globalVariableReference () const final |
| void | incrementReference () final |
| ArrayView< ArrayView< DataType > > | _internalFullValuesView () final |
| void | fillFromArray (IMeshMaterial *mat, ConstArrayView< DataType > values) final |
| void | fillFromArray (IMeshMaterial *mat, ConstArrayView< DataType > values, Int32ConstArrayView indexes) final |
| void | fillToArray (IMeshMaterial *mat, ArrayView< DataType > values) final |
| void | fillToArray (IMeshMaterial *mat, ArrayView< DataType > values, Int32ConstArrayView indexes) final |
| void | fillPartialValues (const DataType &value) final |
| IMeshMaterialVariable * | toMeshMaterialVariable () final |
| Public Member Functions inherited from Arcane::Materials::ItemMaterialVariableScalar< DataType > | |
| ArrayView< DataType > * | views () |
| DataType | operator[] (MatVarIndex mvi) const |
| ARCANE_MATERIALS_EXPORT void | synchronize () override |
| Synchronizes the variable. | |
| ARCANE_MATERIALS_EXPORT void | synchronize (MeshMaterialVariableSynchronizerList &sync_list) override |
| ARCANE_MATERIALS_EXPORT void | dumpValues (std::ostream &ostr) override |
| Dumps the variable values to the stream ostr. | |
| ARCANE_MATERIALS_EXPORT void | dumpValues (std::ostream &ostr, AllEnvCellVectorView view) override |
| Dumps the variable values for the view view to the stream ostr. | |
| ARCANE_MATERIALS_EXPORT void | serialize (ISerializer *sbuffer, Int32ConstArrayView ids) override |
| Serializes the variable for local ID entities ids. | |
| ARCANE_MATERIALS_EXPORT void | fillFromArray (IMeshMaterial *mat, ConstArrayView< DataType > values) |
| Fills the variable values for a material from an array. | |
| ARCANE_MATERIALS_EXPORT void | fillFromArray (IMeshMaterial *mat, ConstArrayView< DataType > values, Int32ConstArrayView indexes) |
| Fills the variable values for a material from an array. | |
| ARCANE_MATERIALS_EXPORT void | fillToArray (IMeshMaterial *mat, ArrayView< DataType > values) |
| Fills an array from the variable values for a material. | |
| ARCANE_MATERIALS_EXPORT void | fillToArray (IMeshMaterial *mat, ArrayView< DataType > values, Int32ConstArrayView indexes) |
| Fills an array from the variable values for a material. | |
| ARCANE_MATERIALS_EXPORT void | fillPartialValues (const DataType &value) |
| Fills the partial values with the value value. | |
| void | setValue (MatVarIndex mvi, SubInputViewType v) |
| SubConstViewType | value (MatVarIndex mvi) const |
| Public Member Functions inherited from Arcane::Materials::ItemMaterialVariableBase< MaterialVariableScalarTraits< DataType > > | |
| ARCANE_MATERIALS_EXPORT | ItemMaterialVariableBase (const MaterialVariableBuildInfo &v, PrivatePartType *global_var, VariableRef *global_var_ref, MatVarSpace mvs) |
| ARCANE_MATERIALS_EXPORT void | syncReferences () override |
| Synchronizes references. | |
| ARCANE_MATERIALS_EXPORT IVariable * | globalVariable () const override |
| Associated global variable on the mesh. | |
| ARCANE_MATERIALS_EXPORT void | buildFromManager (bool is_continue) override |
| Builds the variable information. For internal use in Arcane. | |
| ARCANE_MATERIALS_EXPORT Ref< IData > | _internalCreateSaveDataRef (Integer nb_value) override |
| ARCANE_MATERIALS_EXPORT void | _saveData (IMeshComponent *env, IData *data) override |
| ARCANE_MATERIALS_EXPORT void | _restoreData (IMeshComponent *component, IData *data, Integer data_index, Int32ConstArrayView ids, bool allow_null_id) override |
| ARCANE_MATERIALS_EXPORT void | _copyBetweenPartialAndGlobal (const CopyBetweenPartialAndGlobalArgs &args) override |
| ARCANE_MATERIALS_EXPORT void | _initializeNewItemsWithZero (InitializeWithZeroArgs &args) override |
| ARCANE_MATERIALS_EXPORT void | fillPartialValuesWithGlobalValues () override |
| Fills partial values with the value of the associated global cell. | |
| ARCANE_MATERIALS_EXPORT void | fillPartialValuesWithSuperValues (Int32 level) override |
| Fills partial values with the value of the super cell. If level equals LEVEL_MATERIAL, it copies material values with the middle one. If level equals LEVEL_ENVIRONMENT, it copies environment values with the global cell's. If level equals LEVEL_ALLENVIRONMENT, it fills all partial values with the global cell's value (this makes this method equivalent to fillGlobalValuesWithGlobalValues()). | |
| void | setValue (MatVarIndex mvi, SubInputViewType v) |
| void | setFillValue (MatVarIndex mvi, const DataType &v) |
| SubConstViewType | value (MatVarIndex mvi) const |
| Public Member Functions inherited from Arcane::Materials::MeshMaterialVariable | |
| MeshMaterialVariable (const MaterialVariableBuildInfo &v, MatVarSpace mvs) | |
| String | name () const override |
| Name of the variable. | |
| void | addVariableRef (MeshMaterialVariableRef *var_ref) override |
| Adds a reference to this variable. | |
| void | removeVariableRef (MeshMaterialVariableRef *var_ref) override |
| Removes a reference to this variable. | |
| MeshMaterialVariableRef * | firstReference () const override |
| IVariable * | materialVariable (IMeshMaterial *mat) override |
| Variable containing the specific values of the material mat. | |
| void | setKeepOnChange (bool v) override |
| Indicates whether the variable value should be kept after a change in the list of materials. | |
| bool | keepOnChange () const override |
| Indicates whether the variable value should be kept after a change in the list of materials. | |
| MatVarSpace | space () const override |
| Variable definition space (material+environment or environment only). | |
| void | update (IMeshMaterial *mat) override |
| Recalculates the variable for material mat if necessary. | |
| void | setUpToDate (IMeshMaterial *mat) override |
| Indicates that the variable has just been updated. | |
| Int64 | modifiedTime (IMeshMaterial *mat) override |
| Time when the variable was updated. | |
| void | addDepend (IMeshMaterialVariable *var) override |
| Adds var to the dependency list. | |
| void | addDepend (IMeshMaterialVariable *var, const TraceInfo &tinfo) override |
| Adds var to the dependency list with trace info tinfo. | |
| void | addDepend (IVariable *var) override |
| Adds var to the dependency list. | |
| void | addDepend (IVariable *var, const TraceInfo &tinfo) override |
| Adds var to the dependency list with trace info tinfo. | |
| void | removeDepend (IMeshMaterialVariable *var) override |
| Removes var from the dependency list. | |
| void | removeDepend (IVariable *var) override |
| Removes var from the dependency list. | |
| void | setComputeFunction (IMeshMaterialVariableComputeFunction *v) override |
| Sets the variable's recalculation function. | |
| IMeshMaterialVariableComputeFunction * | computeFunction () override |
| Function used to update the variable. | |
| void | dependInfos (Array< VariableDependInfo > &infos, Array< MeshMaterialVariableDependInfo > &mat_infos) override |
| Dependency information. | |
| IMeshMaterialVariableInternal * | _internalApi () override |
| void | incrementReference () |
| Public Member Functions inherited from Arcane::Materials::IMeshMaterialVariable | |
| Public Member Functions inherited from Arcane::Materials::IScalarMeshMaterialVariable< ItemType, DataType > | |
| virtual void | fillFromArray (IMeshMaterial *mat, ConstArrayView< DataType > values)=0 |
| virtual void | fillFromArray (IMeshMaterial *mat, ConstArrayView< DataType > values, Int32ConstArrayView indexes)=0 |
| virtual void | fillToArray (IMeshMaterial *mat, ArrayView< DataType > values)=0 |
| virtual void | fillToArray (IMeshMaterial *mat, ArrayView< DataType > values, Int32ConstArrayView indexes)=0 |
| virtual void | fillPartialValues (const DataType &value)=0 |
Public Attributes | |
| friend | StaticImpl |
Protected Member Functions | |
| ARCANE_MATERIALS_EXPORT | MeshMaterialVariableScalar (const MaterialVariableBuildInfo &v, PrivatePartType *global_var, VariableRefType *global_var_ref, MatVarSpace mvs) |
| Protected Member Functions inherited from Arcane::Materials::ItemMaterialVariableScalar< DataType > | |
| ARCANE_MATERIALS_EXPORT | ItemMaterialVariableScalar (const MaterialVariableBuildInfo &v, PrivatePartType *global_var, VariableRef *global_var_ref, MatVarSpace mvs) |
| ArrayView< ArrayView< DataType > > | _containerView () |
| Protected Member Functions inherited from Arcane::Materials::ItemMaterialVariableBase< MaterialVariableScalarTraits< DataType > > | |
| void | _syncFromGlobalVariable () |
| PrivatePartType * | _trueGlobalVariable () |
| void | _init (ArrayView< PrivatePartType * > vars) |
| ARCANE_MATERIALS_EXPORT void | _fillPartialValuesWithSuperValues (MeshComponentList components) |
| ARCANE_MATERIALS_EXPORT void | _syncReferences (bool check_resize) override |
| ARCANE_MATERIALS_EXPORT void | _resizeForIndexer (ResizeVariableIndexerArgs &args) override |
| ARCANE_MATERIALS_EXPORT void | _copyHostViewsToViews (RunQueue *queue) |
| void | _setView (Int32 index) |
| Positions the views from the container. | |
| ITraceMng * | _traceMng () const |
| void | _copyToBuffer (SmallSpan< const MatVarIndex > matvar_indexes, Span< std::byte > bytes, RunQueue *queue) const |
| void | _copyFromBuffer (SmallSpan< const MatVarIndex > matvar_indexes, Span< const std::byte > bytes, RunQueue *queue) |
Private Attributes | |
| VariableRefType * | m_true_global_variable_ref = nullptr |
Additional Inherited Members | |
| static void | _genericCopyTo (Span< const std::byte > input, SmallSpan< const Int32 > input_indexes, Span< std::byte > output, SmallSpan< const Int32 > output_indexes, const RunQueue &queue, Int32 data_type_size) |
| Static Public Member Functions inherited from Arcane::Materials::IScalarMeshMaterialVariable< ItemType, DataType > | |
| static constexpr int | dimension () |
| Protected Attributes inherited from Arcane::Materials::ItemMaterialVariableBase< MaterialVariableScalarTraits< DataType > > | |
| PrivatePartType * | m_global_variable |
| VariableRef * | m_global_variable_ref |
| UniqueArray< PrivatePartType * > | m_vars |
| Variables for different materials. | |
| UniqueArray< ContainerViewType > | m_device_views |
| List of views visible only from the accelerator. | |
| UniqueArray< ContainerViewType > | m_host_views |
| List of views visible only from the host. | |
| MeshMaterialVariablePrivate * | m_p = nullptr |
| UniqueArray< Span< std::byte > > | m_views_as_bytes |
Scalar variable on a mesh material.
Definition at line 530 of file MeshMaterialVariable.h.
| using Arcane::Materials::MeshMaterialVariableScalar< ItemType, DataType >::BaseClass = ItemMaterialVariableScalar<DataType> |
Definition at line 542 of file MeshMaterialVariable.h.
| using Arcane::Materials::MeshMaterialVariableScalar< ItemType, DataType >::BuilderType = typename ThatInterface::BuilderType |
Definition at line 538 of file MeshMaterialVariable.h.
| using Arcane::Materials::MeshMaterialVariableScalar< ItemType, DataType >::ItemTypeTemplate = ItemType |
Definition at line 540 of file MeshMaterialVariable.h.
| using Arcane::Materials::MeshMaterialVariableScalar< ItemType, DataType >::PrivatePartType = typename BaseClass::PrivatePartType |
Definition at line 544 of file MeshMaterialVariable.h.
| using Arcane::Materials::MeshMaterialVariableScalar< ItemType, DataType >::StaticImpl = MeshMaterialVariableCommonStaticImpl<ThatClass> |
Definition at line 539 of file MeshMaterialVariable.h.
| using Arcane::Materials::MeshMaterialVariableScalar< ItemType, DataType >::ThatClass = MeshMaterialVariableScalar<ItemType, DataType> |
Definition at line 536 of file MeshMaterialVariable.h.
| using Arcane::Materials::MeshMaterialVariableScalar< ItemType, DataType >::ThatInterface = IScalarMeshMaterialVariable<ItemType, DataType> |
Definition at line 537 of file MeshMaterialVariable.h.
| using Arcane::Materials::MeshMaterialVariableScalar< ItemType, DataType >::VariableRefType = MeshVariableScalarRefT<ItemType, DataType> |
Definition at line 543 of file MeshMaterialVariable.h.
|
protected |
Definition at line 780 of file MeshMaterialVariableScalar.cc.
|
protected |
Definition at line 792 of file MeshMaterialVariableScalar.cc.
|
inlinefinalvirtual |
Implements Arcane::Materials::IScalarMeshMaterialVariable< ItemType, DataType >.
Definition at line 561 of file MeshMaterialVariable.h.
|
inlinefinal |
Definition at line 562 of file MeshMaterialVariable.h.
|
inlinefinal |
Definition at line 566 of file MeshMaterialVariable.h.
|
inlinefinal |
Definition at line 578 of file MeshMaterialVariable.h.
|
inlinefinal |
Definition at line 570 of file MeshMaterialVariable.h.
|
inlinefinal |
Definition at line 574 of file MeshMaterialVariable.h.
|
inlinefinalvirtual |
Implements Arcane::Materials::IScalarMeshMaterialVariable< ItemType, DataType >.
Definition at line 559 of file MeshMaterialVariable.h.
|
inlinefinalvirtual |
Implements Arcane::Materials::IScalarMeshMaterialVariable< ItemType, DataType >.
Definition at line 560 of file MeshMaterialVariable.h.
|
inlinefinalvirtual |
Implements Arcane::Materials::IScalarMeshMaterialVariable< ItemType, DataType >.
Definition at line 579 of file MeshMaterialVariable.h.
|
private |
Definition at line 583 of file MeshMaterialVariable.h.
| friend Arcane::Materials::MeshMaterialVariableScalar< ItemType, DataType >::StaticImpl |
Definition at line 546 of file MeshMaterialVariable.h.