#include <MatDiffusionBase.h>
Public Types | |
| typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
| typedef std::vector< int > | JvarMap |
Public Member Functions | |
| MatDiffusionBase (const InputParameters ¶meters) | |
| const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialProperty (const std::string &name) |
| Fetch a material property if it exists, otherwise return getZeroMaterialProperty. | |
| const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialPropertyByName (const std::string &name) |
| Fetch a material property by name if it exists, otherwise return getZeroMaterialProperty. | |
| void | validateDerivativeMaterialPropertyBase (const std::string &base) |
| Check if the material property base exists. | |
| virtual void | computeOffDiagJacobian (unsigned int jvar) override |
| unsigned int | mapJvarToCvar (unsigned int jvar) |
| Return index into the _coupled_moose_vars array for a given jvar. | |
| int | mapJvarToCvar (unsigned int jvar, const JvarMap &jvar_map) |
| Return an index into a specific coupled variable vector for a given jvar. | |
| bool | mapJvarToCvar (unsigned int jvar, unsigned int &cvar) |
| Set the cvar value to the mapped jvar value and return true if the mapping exists. | |
| const JvarMap & | getJvarMap () |
| Obtain the map connecting libmesh variable ID number to its position in the _coupled_moose_vars vector. | |
| const JvarMap & | getParameterJvarMap (std::string parameter_name) |
| Make a specific map for a given parameter name representing a couple variable (vector) | |
| const MaterialPropertyName | derivativePropertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
| Helper functions to generate the material property names for the arbitrary derivatives. | |
| const MaterialPropertyName | derivativePropertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
| Helper functions to generate the material property names for the first derivatives. | |
| 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. | |
| 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. | |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
| Methods for declaring derivative material properties. | |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
| Methods for retrieving derivative material properties. | |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint) |
Convenience methods for retrieving derivative material properties based on a mix of variable names c and indices v into the _coupled_standard_moose_vars vector. | |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c) |
| Methods for retrieving derivative material properties. | |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| void | validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true) |
| check if derivatives of the passed in material property exist w.r.t a variable that is not coupled in to the current object | |
| void | validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
| void | validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
| const MaterialPropertyName | propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
| aliases for the deprecated old function names | |
| 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 InputParameters | validParams () |
Protected Member Functions | |
| virtual void | initialSetup () override |
| virtual RealGradient | precomputeQpJacobian () override |
| virtual Real | computeQpOffDiagJacobian (unsigned int jvar) override |
| virtual RealGradient | precomputeQpCJacobian () |
| virtual GenericRealVectorValue< is_ad > | precomputeQpResidual () override |
Protected Attributes | |
| const MaterialProperty< T > & | _ddiffusivity_dc |
| diffusion coefficient derivative w.r.t. the kernel variable | |
| std::vector< const MaterialProperty< T > * > | _ddiffusivity_darg |
| diffusion coefficient derivatives w.r.t. coupled variables | |
| const bool | _is_coupled |
| is the kernel used in a coupled form? | |
| unsigned int | _v_var |
| int label for the Concentration | |
| const GenericMaterialProperty< T, is_ad > & | _diffusivity |
| diffusion coefficient | |
| const GenericVariableGradient< is_ad > & | _grad_v |
| Gradient of the concentration. | |
| usingGenericKernelGradMembers | |
| const unsigned int | _n_args |
| number of coupled moose variables | |
Private Member Functions | |
| bool | haveMaterialProperty (const std::string &prop_name) |
| Check if a material property is present with the applicable restrictions. | |
| std::vector< VariableName > | buildVariableVector (const VariableName &c1, const VariableName &c2, const VariableName &c3) |
| helper method to combine multiple VariableNames into a vector (if they are != "") | |
| void | validateCouplingHelper (const MaterialPropertyName &base, const std::vector< VariableName > &c, const System &system, std::vector< VariableName > &missing) |
| helper method to compile list of missing coupled variables for a given system | |
| bool | isNotObjectVariable (const VariableName &name) |
Private Attributes | |
| FEProblemBase & | _dmi_fe_problem |
| Reference to FEProblemBase. | |
| const std::size_t | _jvar_max_size |
| number of nonlinear variables in the system | |
| JvarMap | _jvar_map |
| look-up table to determine the _coupled_moose_vars index for the jvar parameter | |
| std::map< std::string, JvarMap > | _jvar_local_map |
| map of local look-up tables for specific parameters | |
Definition at line 47 of file MatDiffusionBase.h.
|
inherited |
Definition at line 63 of file JvarMapInterface.h.
|
inherited |
Definition at line 35 of file DerivativeMaterialInterface.h.
| MatDiffusionBase< T >::MatDiffusionBase | ( | const InputParameters & | parameters | ) |
Definition at line 47 of file MatDiffusionBase.C.
|
privateinherited |
helper method to combine multiple VariableNames into a vector (if they are != "")
Definition at line 180 of file DerivativeMaterialInterface.h.
|
overridevirtualinherited |
Definition at line 34 of file JvarMapInterface.h.
|
overrideprotectedvirtual |
Definition at line 94 of file MatDiffusionBase.C.
|
inherited |
Definition at line 63 of file DerivativeMaterialInterface.h.
|
inherited |
Methods for declaring derivative material properties.
| U | The material property type |
| base | The name of the property to take the derivative of |
| c | The variable(s) to take the derivatives with respect to |
Definition at line 60 of file DerivativeMaterialInterface.h.
|
inherited |
Definition at line 67 of file DerivativeMaterialInterface.h.
|
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(), NEML2Action::setupDerivativeMappings(), and NEML2Action::setupParameterDerivativeMappings().
|
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().
|
inherited |
Fetch a material property if it exists, otherwise return getZeroMaterialProperty.
| name | The input parameter key of type MaterialPropertyName |
Definition at line 44 of file DerivativeMaterialInterface.h.
|
inherited |
Fetch a material property by name if it exists, otherwise return getZeroMaterialProperty.
Definition at line 49 of file DerivativeMaterialInterface.h.
|
inlineinherited |
Obtain the map connecting libmesh variable ID number to its position in the _coupled_moose_vars vector.
Definition at line 80 of file JvarMapInterface.h.
|
inherited |
Check if base is a default property and shortcut to returning zero, as derivatives of constants are zero.
Definition at line 86 of file DerivativeMaterialInterface.h.
|
inherited |
Methods for retrieving derivative material properties.
| U | The material property type |
| base | The name of the property to take the derivative of |
| c | The variable(s) to take the derivatives with respect to |
Definition at line 82 of file DerivativeMaterialInterface.h.
|
inherited |
Check if base is a default property and shortcut to returning zero, as derivatives of constants are zero.
Definition at line 90 of file DerivativeMaterialInterface.h.
|
inherited |
Convenience methods for retrieving derivative material properties based on a mix of variable names c and indices v into the _coupled_standard_moose_vars vector.
Definition at line 103 of file DerivativeMaterialInterface.h.
|
inherited |
Definition at line 110 of file DerivativeMaterialInterface.h.
|
inherited |
Definition at line 130 of file DerivativeMaterialInterface.h.
|
inherited |
Methods for retrieving derivative material properties.
| U | The material property type |
| base | The name of the property to take the derivative of |
| c | The variable(s) to take the derivatives with respect to |
Definition at line 125 of file DerivativeMaterialInterface.h.
|
inherited |
Definition at line 135 of file DerivativeMaterialInterface.h.
|
inherited |
Make a specific map for a given parameter name representing a couple variable (vector)
Definition at line 168 of file JvarMapInterface.h.
|
privateinherited |
Check if a material property is present with the applicable restrictions.
Definition at line 176 of file DerivativeMaterialInterface.h.
|
overrideprotectedvirtual |
Definition at line 69 of file MatDiffusionBase.C.
|
inlineprivateinherited |
Definition at line 191 of file DerivativeMaterialInterface.h.
|
inherited |
Return index into the _coupled_moose_vars array for a given jvar.
Definition at line 147 of file JvarMapInterface.h.
Referenced by MatReaction::computeQpOffDiagJacobian(), MaterialDerivativeRankFourTestKernel::computeQpOffDiagJacobian(), MaterialDerivativeRankTwoTestKernel::computeQpOffDiagJacobian(), and MaterialDerivativeTestKernel::computeQpOffDiagJacobian().
|
inherited |
Return an index into a specific coupled variable vector for a given jvar.
A negative return value indicates that the jvar value does not point to a variable in the couple variable vector corresponding to the mapped parameter.
Definition at line 159 of file JvarMapInterface.h.
|
inherited |
Set the cvar value to the mapped jvar value and return true if the mapping exists.
Otherwise return false.
| [in] | jvar | Variable number passed as argument to computeQpOffDiagJacobian |
| [out] | cvar | Corresponding index into the _coupled_moose_vars array |
|
protectedvirtual |
Definition at line 76 of file MatDiffusionBase.C.
|
overrideprotectedvirtual |
Definition at line 83 of file MatDiffusionBase.C.
|
overrideprotectedvirtualinherited |
Definition at line 35 of file MatDiffusionBase.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.
|
inherited |
check if derivatives of the passed in material property exist w.r.t a variable that is not coupled in to the current object
Definition at line 147 of file DerivativeMaterialInterface.h.
|
inherited |
Definition at line 152 of file DerivativeMaterialInterface.h.
|
privateinherited |
helper method to compile list of missing coupled variables for a given system
Definition at line 184 of file DerivativeMaterialInterface.h.
|
inherited |
Check if the material property base exists.
Print a warning if it doesn't. This is useful in materials that pull in only derivative properties, which are optional. If the base property name has a typo all derivatives will be set to zero without the user ever knowing.
Definition at line 171 of file DerivativeMaterialInterface.h.
|
inherited |
Definition at line 158 of file DerivativeMaterialInterface.h.
|
static |
Definition at line 28 of file MatDiffusionBase.C.
|
protected |
diffusion coefficient derivatives w.r.t. coupled variables
Definition at line 66 of file MatDiffusionBase.h.
Referenced by MatDiffusionBase< T >::MatDiffusionBase().
|
protected |
diffusion coefficient derivative w.r.t. the kernel variable
Definition at line 63 of file MatDiffusionBase.h.
|
protectedinherited |
diffusion coefficient
Definition at line 38 of file MatDiffusionBase.h.
|
privateinherited |
Reference to FEProblemBase.
Definition at line 194 of file DerivativeMaterialInterface.h.
|
protectedinherited |
Gradient of the concentration.
Definition at line 41 of file MatDiffusionBase.h.
|
protected |
is the kernel used in a coupled form?
Definition at line 69 of file MatDiffusionBase.h.
|
privateinherited |
map of local look-up tables for specific parameters
Definition at line 107 of file JvarMapInterface.h.
Referenced by JvarMapInterfaceBase< T >::getParameterJvarMap().
|
privateinherited |
look-up table to determine the _coupled_moose_vars index for the jvar parameter
Definition at line 104 of file JvarMapInterface.h.
Referenced by JvarMapKernelInterface< T >::computeOffDiagJacobian(), JvarMapIntegratedBCInterface< T >::computeOffDiagJacobian(), JvarMapInterfaceBase< T >::getJvarMap(), JvarMapInterfaceBase< T >::JvarMapInterfaceBase(), and JvarMapInterfaceBase< T >::mapJvarToCvar().
|
privateinherited |
number of nonlinear variables in the system
Definition at line 101 of file JvarMapInterface.h.
Referenced by JvarMapInterfaceBase< T >::getParameterJvarMap(), JvarMapInterfaceBase< T >::JvarMapInterfaceBase(), JvarMapInterfaceBase< T >::mapJvarToCvar(), and JvarMapInterfaceBase< T >::mapJvarToCvar().
|
protectedinherited |
number of coupled moose variables
Definition at line 97 of file JvarMapInterface.h.
Referenced by MatReaction::MatReaction().
|
protected |
int label for the Concentration
Definition at line 72 of file MatDiffusionBase.h.
|
protectedinherited |
Definition at line 43 of file MatDiffusionBase.h.