58 static std::vector<FunctionMaterialPropertyDescriptor>
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
Moose::GenericType< Real, is_ad > GenericReal
Material properties get fully described using this structure, including their dependent variables and...
const MaterialProperty< Real > * _old_older_value
old/older material property value (this is lazily updated and cached when read through value())
enum FunctionMaterialPropertyDescriptor::PropertyState _state
void parseDerivative(const std::string &)
std::string _base_name
function material property base name
void setSymbolName(const std::string &n)
set the fparser symbol name
bool dependsOn(const SymbolName &symbol) const
Check if a material property depends on a given FParser symbol.
FunctionMaterialPropertyDescriptor()=delete
no default constructor
void printDebug()
output the internal state of this descriptor for debugging purposes
const GenericMaterialProperty< Real, is_ad > * _value
material property value (this is lazily updated and cached when read through value())
std::string _property_name
cache the final property name of the derivative
std::string _fparser_name
name used in function expression
std::vector< SymbolName > _dependent_symbols
void parseDependentSymbols(const std::string &)
static std::vector< FunctionMaterialPropertyDescriptor > parseVector(const std::vector< std::string > &, MooseObject *)
construct a vector of FunctionMaterialPropertyDescriptors from a vector of strings
void updatePropertyName()
update the cached _property_name member
const std::string & getSymbolName() const
get the fparser symbol name
std::vector< SymbolName > getDependentSymbols()
builds a list of dependent symbols (exactly all symbols for which depends on returns true)
bool _required
is this a property that was directly specified by the user? Then it must exist.
PropertyState
property state
const std::string & getPropertyName() const
get the property name
FunctionMaterialPropertyDescriptor & operator=(const FunctionMaterialPropertyDescriptor &)=default
MooseObject * _parent
material object that owns this descriptor
std::vector< SymbolName > _derivative_symbols
void addDerivative(const SymbolName &symbol)
take another derivative
Every object that can be built by the factory should be derived from this class.
const unsigned int invalid_uint