Material properties get fully described using this structure, including their dependent variables and derivation state. More...
#include <FunctionMaterialPropertyDescriptor.h>
Public Types | |
| typedef std::string | SymbolName |
Public Member Functions | |
| FunctionMaterialPropertyDescriptor (const std::string &, MooseObject *, bool required=false) | |
| FunctionMaterialPropertyDescriptor ()=delete | |
| no default constructor More... | |
| FunctionMaterialPropertyDescriptor (const FunctionMaterialPropertyDescriptor &) | |
| copy constructor More... | |
| FunctionMaterialPropertyDescriptor (const FunctionMaterialPropertyDescriptor &, MooseObject *) | |
| copy constructor assigning new parent More... | |
| FunctionMaterialPropertyDescriptor & | operator= (const FunctionMaterialPropertyDescriptor &)=default |
| const std::string & | getSymbolName () const |
| get the fparser symbol name More... | |
| void | setSymbolName (const std::string &n) |
| set the fparser symbol name More... | |
| const std::string & | getPropertyName () const |
| get the property name More... | |
| GenericReal< is_ad > | value (unsigned int qp=libMesh::invalid_uint) const |
| get the property value at the given quadrature point More... | |
| void | addDerivative (const SymbolName &symbol) |
| take another derivative More... | |
| bool | dependsOn (const SymbolName &symbol) const |
| Check if a material property depends on a given FParser symbol. More... | |
| std::vector< SymbolName > | getDependentSymbols () |
| builds a list of dependent symbols (exactly all symbols for which depends on returns true) More... | |
| void | printDebug () |
| output the internal state of this descriptor for debugging purposes More... | |
| void | updatePropertyName () |
| update the cached _property_name member More... | |
| const MaterialPropertyName | derivativePropertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
| Helper functions to generate the material property names for the arbitrary derivatives. More... | |
| const MaterialPropertyName | derivativePropertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
| Helper functions to generate the material property names for the first derivatives. More... | |
| const MaterialPropertyName | derivativePropertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
| Helper functions to generate the material property names for the second derivatives. More... | |
| const MaterialPropertyName | derivativePropertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
| Helper functions to generate the material property names for the third derivatives. More... | |
| const MaterialPropertyName | propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
| aliases for the deprecated old function names More... | |
| const MaterialPropertyName | propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
| const MaterialPropertyName | propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
| const MaterialPropertyName | propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
Static Public Member Functions | |
| static std::vector< FunctionMaterialPropertyDescriptor > | parseVector (const std::vector< std::string > &, MooseObject *) |
| construct a vector of FunctionMaterialPropertyDescriptors from a vector of strings More... | |
Private Types | |
| enum | PropertyState { PropertyState::CURRENT, PropertyState::OLD, PropertyState::OLDER } |
| property state More... | |
Private Member Functions | |
| void | parseDerivative (const std::string &) |
| void | parseDependentSymbols (const std::string &) |
Private Attributes | |
| enum FunctionMaterialPropertyDescriptor::PropertyState | _state |
| std::string | _fparser_name |
| name used in function expression More... | |
| std::string | _base_name |
| function material property base name More... | |
| std::vector< SymbolName > | _dependent_symbols |
| std::vector< SymbolName > | _derivative_symbols |
| const GenericMaterialProperty< Real, is_ad > * | _value |
| material property value (this is lazily updated and cached when read through value()) More... | |
| const MaterialProperty< Real > * | _old_older_value |
| old/older material property value (this is lazily updated and cached when read through value()) More... | |
| MooseObject * | _parent |
| material object that owns this descriptor More... | |
| std::string | _property_name |
| cache the final property name of the derivative More... | |
| bool | _required |
| is this a property that was directly specified by the user? Then it must exist. More... | |
Material properties get fully described using this structure, including their dependent variables and derivation state.
Definition at line 25 of file FunctionMaterialPropertyDescriptor.h.
|
inherited |
Definition at line 25 of file DerivativeMaterialPropertyNameInterface.h.
|
strongprivate |
property state
| Enumerator | |
|---|---|
| CURRENT | |
| OLD | |
| OLDER | |
Definition at line 97 of file FunctionMaterialPropertyDescriptor.h.
| FunctionMaterialPropertyDescriptor< is_ad >::FunctionMaterialPropertyDescriptor | ( | const std::string & | expression, |
| MooseObject * | parent, | ||
| bool | required = false |
||
| ) |
Definition at line 17 of file FunctionMaterialPropertyDescriptor.C.
|
delete |
no default constructor
| FunctionMaterialPropertyDescriptor< is_ad >::FunctionMaterialPropertyDescriptor | ( | const FunctionMaterialPropertyDescriptor< is_ad > & | rhs | ) |
copy constructor
Definition at line 50 of file FunctionMaterialPropertyDescriptor.C.
| FunctionMaterialPropertyDescriptor< is_ad >::FunctionMaterialPropertyDescriptor | ( | const FunctionMaterialPropertyDescriptor< is_ad > & | rhs, |
| MooseObject * | parent | ||
| ) |
copy constructor assigning new parent
Definition at line 66 of file FunctionMaterialPropertyDescriptor.C.
| void FunctionMaterialPropertyDescriptor< is_ad >::addDerivative | ( | const SymbolName & | symbol | ) |
take another derivative
Definition at line 94 of file FunctionMaterialPropertyDescriptor.C.
Referenced by DerivativeParsedMaterialHelperTempl< is_ad >::recurseMatProps().
| bool FunctionMaterialPropertyDescriptor< is_ad >::dependsOn | ( | const SymbolName & | symbol | ) | const |
Check if a material property depends on a given FParser symbol.
A dependency is indicated by either directly specifying it, or by requesting a derivative w.r.t. that symbol using the D[x,a] syntax
Definition at line 103 of file FunctionMaterialPropertyDescriptor.C.
|
inherited |
Helper functions to generate the material property names for the arbitrary derivatives.
Definition at line 16 of file DerivativeMaterialPropertyNameInterface.C.
Referenced by DerivativeMaterialPropertyNameInterface::derivativePropertyNameSecond(), DerivativeMaterialPropertyNameInterface::derivativePropertyNameThird(), and DerivativeMaterialPropertyNameInterface::propertyName().
|
inherited |
Helper functions to generate the material property names for the first derivatives.
Definition at line 56 of file DerivativeMaterialPropertyNameInterface.C.
Referenced by DerivativeMaterialPropertyNameInterface::propertyNameFirst().
|
inherited |
Helper functions to generate the material property names for the second derivatives.
Definition at line 63 of file DerivativeMaterialPropertyNameInterface.C.
Referenced by DerivativeMaterialPropertyNameInterface::propertyNameSecond().
|
inherited |
Helper functions to generate the material property names for the third derivatives.
Definition at line 70 of file DerivativeMaterialPropertyNameInterface.C.
Referenced by DerivativeMaterialPropertyNameInterface::propertyNameThird().
| std::vector< DerivativeMaterialPropertyNameInterface::SymbolName > FunctionMaterialPropertyDescriptor< is_ad >::getDependentSymbols | ( | ) |
builds a list of dependent symbols (exactly all symbols for which depends on returns true)
Definition at line 113 of file FunctionMaterialPropertyDescriptor.C.
|
inline |
get the property name
Definition at line 68 of file FunctionMaterialPropertyDescriptor.h.
|
inline |
get the fparser symbol name
Definition at line 62 of file FunctionMaterialPropertyDescriptor.h.
|
default |
|
private |
Definition at line 190 of file FunctionMaterialPropertyDescriptor.C.
|
private |
Definition at line 123 of file FunctionMaterialPropertyDescriptor.C.
Referenced by FunctionMaterialPropertyDescriptor< is_ad >::FunctionMaterialPropertyDescriptor().
|
static |
construct a vector of FunctionMaterialPropertyDescriptors from a vector of strings
Definition at line 83 of file FunctionMaterialPropertyDescriptor.C.
| void FunctionMaterialPropertyDescriptor< is_ad >::printDebug | ( | ) |
output the internal state of this descriptor for debugging purposes
Definition at line 219 of file FunctionMaterialPropertyDescriptor.C.
|
inlineinherited |
aliases for the deprecated old function names
Definition at line 59 of file DerivativeMaterialPropertyNameInterface.h.
|
inlineinherited |
Definition at line 65 of file DerivativeMaterialPropertyNameInterface.h.
|
inlineinherited |
Definition at line 71 of file DerivativeMaterialPropertyNameInterface.h.
|
inlineinherited |
Definition at line 78 of file DerivativeMaterialPropertyNameInterface.h.
|
inline |
set the fparser symbol name
Definition at line 65 of file FunctionMaterialPropertyDescriptor.h.
Referenced by DerivativeParsedMaterialHelperTempl< is_ad >::recurseMatProps().
| void FunctionMaterialPropertyDescriptor< is_ad >::updatePropertyName | ( | ) |
update the cached _property_name member
Definition at line 291 of file FunctionMaterialPropertyDescriptor.C.
Referenced by FunctionMaterialPropertyDescriptor< is_ad >::FunctionMaterialPropertyDescriptor().
| GenericReal< is_ad > FunctionMaterialPropertyDescriptor< is_ad >::value | ( | unsigned int | qp = libMesh::invalid_uint | ) | const |
get the property value at the given quadrature point
Definition at line 232 of file FunctionMaterialPropertyDescriptor.C.
|
private |
function material property base name
Definition at line 108 of file FunctionMaterialPropertyDescriptor.h.
Referenced by FunctionMaterialPropertyDescriptor< is_ad >::FunctionMaterialPropertyDescriptor().
|
private |
Definition at line 110 of file FunctionMaterialPropertyDescriptor.h.
|
private |
Definition at line 111 of file FunctionMaterialPropertyDescriptor.h.
|
private |
name used in function expression
Definition at line 105 of file FunctionMaterialPropertyDescriptor.h.
Referenced by FunctionMaterialPropertyDescriptor< is_ad >::FunctionMaterialPropertyDescriptor(), FunctionMaterialPropertyDescriptor< is_ad >::getSymbolName(), and FunctionMaterialPropertyDescriptor< is_ad >::setSymbolName().
|
mutableprivate |
old/older material property value (this is lazily updated and cached when read through value())
Definition at line 117 of file FunctionMaterialPropertyDescriptor.h.
|
private |
material object that owns this descriptor
Definition at line 120 of file FunctionMaterialPropertyDescriptor.h.
|
private |
cache the final property name of the derivative
Definition at line 123 of file FunctionMaterialPropertyDescriptor.h.
Referenced by FunctionMaterialPropertyDescriptor< is_ad >::getPropertyName().
|
private |
is this a property that was directly specified by the user? Then it must exist.
Definition at line 126 of file FunctionMaterialPropertyDescriptor.h.
|
private |
|
mutableprivate |
material property value (this is lazily updated and cached when read through value())
Definition at line 114 of file FunctionMaterialPropertyDescriptor.h.
1.8.14