AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::multimat::MMField2D< DataType, BiSet > Class Template Reference

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/multimat/mmfield.hpp>

Inheritance diagram for axom::multimat::MMField2D< DataType, BiSet >:

Public Types

using BiVarSetType = BiSet
 
using BiVarMapType = MultiMat::BivariateMapType< DataType, BiVarSetType >
 
using ProductSetType = MultiMat::ProductSetType
 
using RelationSetType = MultiMat::RelationSetType
 
using SetPosition = typename BiVarMapType::SetPosition
 
using Field2DType = MMField2D< DataType, BiVarSetType >
 
using SubFieldType = MMSubField2D< Field2DType >
 
using ConstSubFieldType = const MMSubField2D< const Field2DType >
 
using SubMapType = typename BiVarMapType::SubMapType
 

Public Member Functions

 MMField2D ()=delete
 Constructor. More...
 
 MMField2D (const MultiMat &mm, const BiSet *, const int fieldIdx, axom::ArrayView< DataType > data_arr={}, int stride=1)
 
template<typename BiSetType = BiSet, typename Enable = std::enable_if_t<!std::is_abstract<BiSetType>::value>>
 MMField2D (const MultiMat &mm, const BiSetType &, const int fieldIdx, axom::ArrayView< DataType > data_arr={}, int stride=1)
 
bool operator== (const MMField2D &other) const
 
SubFieldType getSubfield (SetPosition firstIdx)
 
AXOM_HOST_DEVICE SubFieldType operator() (SetPosition firstIdx)
 
AXOM_HOST_DEVICE const ConstSubFieldType operator() (SetPosition firstIdx) const
 
SubMapType getSlamSubMap (SetPosition firstIdx)
 
std::string getName ()
 
MultiMat::IndexSet getSubfieldIndexingSet (int idx)
 
bool isDense () const
 
bool isSparse () const
 
bool isCellDom () const
 
bool isMatDom () const
 

Detailed Description

template<typename DataType, typename BiSet = MultiMat::BivariateSetType>
class axom::multimat::MMField2D< DataType, BiSet >

Class for MultiMat 2D Fields Ideally this class would have template specialization for each type of layout (dense/sparse, mat/cell dom, and maybe more).

Member Typedef Documentation

◆ BiVarSetType

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
using axom::multimat::MMField2D< DataType, BiSet >::BiVarSetType = BiSet

◆ BiVarMapType

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
using axom::multimat::MMField2D< DataType, BiSet >::BiVarMapType = MultiMat::BivariateMapType<DataType, BiVarSetType>

◆ ProductSetType

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
using axom::multimat::MMField2D< DataType, BiSet >::ProductSetType = MultiMat::ProductSetType

◆ RelationSetType

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
using axom::multimat::MMField2D< DataType, BiSet >::RelationSetType = MultiMat::RelationSetType

◆ SetPosition

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
using axom::multimat::MMField2D< DataType, BiSet >::SetPosition = typename BiVarMapType::SetPosition

◆ Field2DType

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
using axom::multimat::MMField2D< DataType, BiSet >::Field2DType = MMField2D<DataType, BiVarSetType>

◆ SubFieldType

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
using axom::multimat::MMField2D< DataType, BiSet >::SubFieldType = MMSubField2D<Field2DType>

◆ ConstSubFieldType

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
using axom::multimat::MMField2D< DataType, BiSet >::ConstSubFieldType = const MMSubField2D<const Field2DType>

◆ SubMapType

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
using axom::multimat::MMField2D< DataType, BiSet >::SubMapType = typename BiVarMapType::SubMapType

Constructor & Destructor Documentation

◆ MMField2D() [1/3]

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
axom::multimat::MMField2D< DataType, BiSet >::MMField2D ( )
delete

Constructor.

◆ MMField2D() [2/3]

template<typename DataType , typename BiSet >
axom::multimat::MMField2D< DataType, BiSet >::MMField2D ( const MultiMat mm,
const BiSet *  biset,
const int  fieldIdx,
axom::ArrayView< DataType >  data_arr = {},
int  stride = 1 
)
inline

References SLIC_ASSERT.

◆ MMField2D() [3/3]

template<typename DataType , typename BiSet >
template<typename BiSetType , typename Enable >
axom::multimat::MMField2D< DataType, BiSet >::MMField2D ( const MultiMat mm,
const BiSetType &  bisetValue,
const int  fieldIdx,
axom::ArrayView< DataType >  data_arr = {},
int  stride = 1 
)

References SLIC_ASSERT.

Member Function Documentation

◆ operator==()

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
bool axom::multimat::MMField2D< DataType, BiSet >::operator== ( const MMField2D< DataType, BiSet > &  other) const
inline

◆ getSubfield()

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
SubFieldType axom::multimat::MMField2D< DataType, BiSet >::getSubfield ( SetPosition  firstIdx)
inline

◆ operator()() [1/2]

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
AXOM_HOST_DEVICE SubFieldType axom::multimat::MMField2D< DataType, BiSet >::operator() ( SetPosition  firstIdx)
inline

◆ operator()() [2/2]

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
AXOM_HOST_DEVICE const ConstSubFieldType axom::multimat::MMField2D< DataType, BiSet >::operator() ( SetPosition  firstIdx) const
inline

◆ getSlamSubMap()

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
SubMapType axom::multimat::MMField2D< DataType, BiSet >::getSlamSubMap ( SetPosition  firstIdx)
inline

◆ getName()

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
std::string axom::multimat::MMField2D< DataType, BiSet >::getName ( )
inline

◆ getSubfieldIndexingSet()

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
MultiMat::IndexSet axom::multimat::MMField2D< DataType, BiSet >::getSubfieldIndexingSet ( int  idx)
inline

◆ isDense()

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
bool axom::multimat::MMField2D< DataType, BiSet >::isDense ( ) const
inline

References axom::multimat::DENSE.

◆ isSparse()

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
bool axom::multimat::MMField2D< DataType, BiSet >::isSparse ( ) const
inline

◆ isCellDom()

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
bool axom::multimat::MMField2D< DataType, BiSet >::isCellDom ( ) const
inline

◆ isMatDom()

template<typename DataType , typename BiSet = MultiMat::BivariateSetType>
bool axom::multimat::MMField2D< DataType, BiSet >::isMatDom ( ) const
inline

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