Abstract definition of a property value. More...
#include <MaterialProperty.h>
Public Types | |
| typedef unsigned int | id_type |
| The type for a material property ID. | |
Public Member Functions | |
| PropertyValue (const id_type id) | |
| virtual | ~PropertyValue () |
| id_type | id () const |
| virtual const std::string & | type () const =0 |
| String identifying the type of parameter stored. | |
| virtual std::unique_ptr< PropertyValue > | clone (const std::size_t) const =0 |
| Clone this value. | |
| virtual unsigned int | size () const =0 |
| virtual void | resize (const std::size_t size)=0 |
| Resizes the property to the size n. | |
| virtual void | swap (PropertyValue &rhs)=0 |
| virtual bool | isAD () const =0 |
| virtual void | qpCopy (const unsigned int to_qp, const PropertyValue &rhs, const unsigned int from_qp)=0 |
| Copy the value of a Property from one specific to a specific qp in this Property. | |
| virtual void | store (std::ostream &stream)=0 |
| virtual void | load (std::istream &stream)=0 |
| virtual const std::type_info & | typeID () const =0 |
Static Public Attributes | |
| static constexpr id_type | invalid_property_id = std::numeric_limits<id_type>::max() - 1 |
| The material property ID for an invalid property We only have this because there are a few cases where folks want to instantiate their own fake materials, and we should at least force them to be consistent. | |
Protected Attributes | |
| const id_type | _id |
| The material property ID. | |
Abstract definition of a property value.
Definition at line 37 of file MaterialProperty.h.
| typedef unsigned int PropertyValue::id_type |
The type for a material property ID.
Definition at line 41 of file MaterialProperty.h.
|
inline |
Definition at line 43 of file MaterialProperty.h.
|
inlinevirtual |
Definition at line 45 of file MaterialProperty.h.
|
pure virtual |
Clone this value.
Useful in copy-construction.
Implemented in MaterialPropertyBase< T, is_ad >, MaterialPropertyBase< RankFourTensor, false >, MaterialPropertyBase< RankTwoTensor, false >, MaterialPropertyBase< RankTwoTensorTempl, false >, MaterialPropertyBase< Real, false >, MaterialPropertyBase< Real, true >, MaterialPropertyBase< RealEigenMatrix, false >, MaterialPropertyBase< RealEigenMatrix, true >, MaterialPropertyBase< RealEigenVector, false >, MaterialPropertyBase< RealEigenVector, true >, MaterialPropertyBase< RealVectorValue, true >, MaterialPropertyBase< T, false >, and MaterialPropertyBase< T, true >.
|
inline |
Definition at line 55 of file MaterialProperty.h.
Referenced by MaterialPropertyBase< T, is_ad >::swap().
|
pure virtual |
Implemented in MaterialPropertyBase< T, is_ad >, MaterialPropertyBase< RankFourTensor, false >, MaterialPropertyBase< RankTwoTensor, false >, MaterialPropertyBase< RankTwoTensorTempl, false >, MaterialPropertyBase< Real, false >, MaterialPropertyBase< Real, true >, MaterialPropertyBase< RealEigenMatrix, false >, MaterialPropertyBase< RealEigenMatrix, true >, MaterialPropertyBase< RealEigenVector, false >, MaterialPropertyBase< RealEigenVector, true >, MaterialPropertyBase< RealVectorValue, true >, MaterialPropertyBase< T, false >, and MaterialPropertyBase< T, true >.
Referenced by MaterialPropertyBase< T, is_ad >::qpCopy(), and MaterialPropertyBase< T, is_ad >::swap().
|
pure virtual |
Implemented in MaterialPropertyBase< T, is_ad >, MaterialPropertyBase< RankFourTensor, false >, MaterialPropertyBase< RankTwoTensor, false >, MaterialPropertyBase< RankTwoTensorTempl, false >, MaterialPropertyBase< Real, false >, MaterialPropertyBase< Real, true >, MaterialPropertyBase< RealEigenMatrix, false >, MaterialPropertyBase< RealEigenMatrix, true >, MaterialPropertyBase< RealEigenVector, false >, MaterialPropertyBase< RealEigenVector, true >, MaterialPropertyBase< RealVectorValue, true >, MaterialPropertyBase< T, false >, and MaterialPropertyBase< T, true >.
Referenced by dataLoad().
|
pure virtual |
Copy the value of a Property from one specific to a specific qp in this Property.
Important note: this copy operation loses AD derivative information if either this or the rhs is not an AD material property
| to_qp | The quadrature point in this Property that you want to copy to. |
| rhs | The Property you want to copy from. |
| from_qp | The quadrature point in rhs you want to copy from. |
Implemented in MaterialPropertyBase< T, is_ad >, MaterialPropertyBase< RankFourTensor, false >, MaterialPropertyBase< RankTwoTensor, false >, MaterialPropertyBase< RankTwoTensorTempl, false >, MaterialPropertyBase< Real, false >, MaterialPropertyBase< Real, true >, MaterialPropertyBase< RealEigenMatrix, false >, MaterialPropertyBase< RealEigenMatrix, true >, MaterialPropertyBase< RealEigenVector, false >, MaterialPropertyBase< RealEigenVector, true >, MaterialPropertyBase< RealVectorValue, true >, MaterialPropertyBase< T, false >, and MaterialPropertyBase< T, true >.
|
pure virtual |
Resizes the property to the size n.
Implemented in MaterialPropertyBase< T, is_ad >, MaterialPropertyBase< RankFourTensor, false >, MaterialPropertyBase< RankTwoTensor, false >, MaterialPropertyBase< RankTwoTensorTempl, false >, MaterialPropertyBase< Real, false >, MaterialPropertyBase< Real, true >, MaterialPropertyBase< RealEigenMatrix, false >, MaterialPropertyBase< RealEigenMatrix, true >, MaterialPropertyBase< RealEigenVector, false >, MaterialPropertyBase< RealEigenVector, true >, MaterialPropertyBase< RealVectorValue, true >, MaterialPropertyBase< T, false >, and MaterialPropertyBase< T, true >.
|
pure virtual |
Implemented in MaterialPropertyBase< T, is_ad >, MaterialPropertyBase< RankFourTensor, false >, MaterialPropertyBase< RankTwoTensor, false >, MaterialPropertyBase< RankTwoTensorTempl, false >, MaterialPropertyBase< Real, false >, MaterialPropertyBase< Real, true >, MaterialPropertyBase< RealEigenMatrix, false >, MaterialPropertyBase< RealEigenMatrix, true >, MaterialPropertyBase< RealEigenVector, false >, MaterialPropertyBase< RealEigenVector, true >, MaterialPropertyBase< RealVectorValue, true >, MaterialPropertyBase< T, false >, and MaterialPropertyBase< T, true >.
|
pure virtual |
Implemented in MaterialPropertyBase< T, is_ad >, MaterialPropertyBase< RankFourTensor, false >, MaterialPropertyBase< RankTwoTensor, false >, MaterialPropertyBase< RankTwoTensorTempl, false >, MaterialPropertyBase< Real, false >, MaterialPropertyBase< Real, true >, MaterialPropertyBase< RealEigenMatrix, false >, MaterialPropertyBase< RealEigenMatrix, true >, MaterialPropertyBase< RealEigenVector, false >, MaterialPropertyBase< RealEigenVector, true >, MaterialPropertyBase< RealVectorValue, true >, MaterialPropertyBase< T, false >, and MaterialPropertyBase< T, true >.
Referenced by dataStore().
|
pure virtual |
Implemented in MaterialPropertyBase< T, is_ad >, MaterialPropertyBase< RankFourTensor, false >, MaterialPropertyBase< RankTwoTensor, false >, MaterialPropertyBase< RankTwoTensorTempl, false >, MaterialPropertyBase< Real, false >, MaterialPropertyBase< Real, true >, MaterialPropertyBase< RealEigenMatrix, false >, MaterialPropertyBase< RealEigenMatrix, true >, MaterialPropertyBase< RealEigenVector, false >, MaterialPropertyBase< RealEigenVector, true >, MaterialPropertyBase< RealVectorValue, true >, MaterialPropertyBase< T, false >, and MaterialPropertyBase< T, true >.
|
pure virtual |
String identifying the type of parameter stored.
Implemented in MaterialPropertyBase< T, is_ad >, MaterialPropertyBase< RankFourTensor, false >, MaterialPropertyBase< RankTwoTensor, false >, MaterialPropertyBase< RankTwoTensorTempl, false >, MaterialPropertyBase< Real, false >, MaterialPropertyBase< Real, true >, MaterialPropertyBase< RealEigenMatrix, false >, MaterialPropertyBase< RealEigenMatrix, true >, MaterialPropertyBase< RealEigenVector, false >, MaterialPropertyBase< RealEigenVector, true >, MaterialPropertyBase< RealVectorValue, true >, MaterialPropertyBase< T, false >, and MaterialPropertyBase< T, true >.
|
pure virtual |
Implemented in MaterialPropertyBase< T, is_ad >, MaterialPropertyBase< RankFourTensor, false >, MaterialPropertyBase< RankTwoTensor, false >, MaterialPropertyBase< RankTwoTensorTempl, false >, MaterialPropertyBase< Real, false >, MaterialPropertyBase< Real, true >, MaterialPropertyBase< RealEigenMatrix, false >, MaterialPropertyBase< RealEigenMatrix, true >, MaterialPropertyBase< RealEigenVector, false >, MaterialPropertyBase< RealEigenVector, true >, MaterialPropertyBase< RealVectorValue, true >, MaterialPropertyBase< T, false >, and MaterialPropertyBase< T, true >.
Referenced by MaterialPropertyBase< T, is_ad >::swap().
|
protected |
|
staticconstexpr |
The material property ID for an invalid property We only have this because there are a few cases where folks want to instantiate their own fake materials, and we should at least force them to be consistent.
Definition at line 50 of file MaterialProperty.h.