#include <MooseADWrapper.h>
Public Types | |
typedef S | DNType |
Public Member Functions | |
MooseADWrapperBase () | |
MooseADWrapperBase (MooseADWrapperBase< T, S > &&)=default | |
virtual | ~MooseADWrapperBase ()=default |
const T & | value () const |
Returns the value for any case where a MaterialProperty is requested as a regular (non-AD) property. More... | |
T & | value () |
Returns the value for any case where a MaterialProperty is declared as a regular (non-AD) property (used only during material calculations) More... | |
MooseADWrapperBase< T, S > & | operator= (const MooseADWrapperBase< T, S > &rhs) |
MooseADWrapperBase< T, S > & | operator= (MooseADWrapperBase< T, S > &&)=default |
virtual const DNType & | dn (bool=true) const |
Returns the dual number for any case where a MaterialProperty is requested as a AD property. More... | |
virtual DNType & | dn (bool=true) |
Returns the value for any case where a MaterialProperty is declared as an AD property (used only during material calculations) More... | |
void | synchronizeToVal () const |
void | synchronizeToDual () const |
Protected Member Functions | |
virtual void | initializeDual () const =0 |
virtual void | copyDualNumberToValue () const =0 |
virtual void | copyValueToDualNumber () const =0 |
Protected Attributes | |
T | _val |
std::unique_ptr< DNType > | _dual_number = nullptr |
Private Attributes | |
bool | _dual_is_dirty = true |
bool | _val_is_dirty = false |
Definition at line 36 of file MooseADWrapper.h.
typedef S MooseADWrapperBase< T, S >::DNType |
Definition at line 39 of file MooseADWrapper.h.
|
inline |
Definition at line 41 of file MooseADWrapper.h.
|
default |
|
virtualdefault |
|
protectedpure virtual |
Implemented in MooseADWrapper< std::vector< DenseMatrix< Real > > >, MooseADWrapper< std::vector< DenseVector< Real > > >, MooseADWrapper< DenseMatrix< Real > >, MooseADWrapper< DenseVector< Real > >, MooseADWrapper< RankFourTensorTempl< Real > >, MooseADWrapper< RankThreeTensorTempl< Real > >, MooseADWrapper< RankTwoTensorTempl< Real > >, MooseADWrapper< TensorValue< Real > >, MooseADWrapper< VectorValue< Real > >, MooseADWrapper< Real >, and MooseADWrapper< T >.
Referenced by MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::synchronizeToVal().
|
protectedpure virtual |
Implemented in MooseADWrapper< std::vector< DenseMatrix< Real > > >, MooseADWrapper< std::vector< DenseVector< Real > > >, MooseADWrapper< DenseMatrix< Real > >, MooseADWrapper< DenseVector< Real > >, MooseADWrapper< RankFourTensorTempl< Real > >, MooseADWrapper< RankThreeTensorTempl< Real > >, MooseADWrapper< RankTwoTensorTempl< Real > >, MooseADWrapper< TensorValue< Real > >, MooseADWrapper< VectorValue< Real > >, MooseADWrapper< Real >, and MooseADWrapper< T >.
Referenced by MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::operator=(), and MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::synchronizeToDual().
|
inlinevirtual |
Returns the value for any case where a MaterialProperty is declared as an AD property (used only during material calculations)
Reimplemented in MooseADWrapper< T >.
Definition at line 91 of file MooseADWrapper.h.
|
inlinevirtual |
Returns the dual number for any case where a MaterialProperty is requested as a AD property.
Reimplemented in MooseADWrapper< T >.
Definition at line 81 of file MooseADWrapper.h.
Referenced by MooseADWrapper< T >::dn().
|
protectedpure virtual |
Implemented in MooseADWrapper< std::vector< DenseMatrix< Real > > >, MooseADWrapper< std::vector< DenseVector< Real > > >, MooseADWrapper< DenseMatrix< Real > >, MooseADWrapper< DenseVector< Real > >, MooseADWrapper< RankFourTensorTempl< Real > >, MooseADWrapper< RankThreeTensorTempl< Real > >, MooseADWrapper< RankTwoTensorTempl< Real > >, MooseADWrapper< TensorValue< Real > >, MooseADWrapper< VectorValue< Real > >, MooseADWrapper< Real >, and MooseADWrapper< T >.
Referenced by MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::synchronizeToDual(), and MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::synchronizeToVal().
|
inline |
Definition at line 66 of file MooseADWrapper.h.
|
default |
|
inline |
Definition at line 112 of file MooseADWrapper.h.
Referenced by MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::dn().
|
inline |
Definition at line 98 of file MooseADWrapper.h.
Referenced by MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::value().
|
inline |
Returns the value for any case where a MaterialProperty is declared as a regular (non-AD) property (used only during material calculations)
Definition at line 59 of file MooseADWrapper.h.
|
inline |
Returns the value for any case where a MaterialProperty is requested as a regular (non-AD) property.
Definition at line 49 of file MooseADWrapper.h.
Referenced by MooseADWrapper< std::vector< DenseMatrix< Real > > >::copyDualNumberToValue().
|
mutableprivate |
Definition at line 135 of file MooseADWrapper.h.
Referenced by MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::synchronizeToDual(), MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::synchronizeToVal(), and MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::value().
|
mutableprotected |
Definition at line 132 of file MooseADWrapper.h.
Referenced by MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::dn(), MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::operator=(), MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::synchronizeToDual(), and MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::synchronizeToVal().
|
mutableprotected |
Definition at line 131 of file MooseADWrapper.h.
Referenced by MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::operator=(), and MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::value().
|
mutableprivate |
Definition at line 136 of file MooseADWrapper.h.
Referenced by MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::dn(), MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::synchronizeToDual(), and MooseADWrapperBase< TensorValue< Real >, TensorValue< DualReal > >::synchronizeToVal().