CompositeTensorBase computes a simple T type MaterialProperty \( \bar T\) that is summed up from a list of other T objects (tensors) \( T_i \) with associated weights \( w_i \). More...
#include <CompositeTensorBase.h>
Public Types | |
typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
CompositeTensorBase (const InputParameters ¶meters) | |
const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialProperty (const std::string &name) |
Fetch a material property if it exists, otherwise return getZeroMaterialProperty. More... | |
const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialPropertyByName (const std::string &name) |
Fetch a material property by name if it exists, otherwise return getZeroMaterialProperty. More... | |
void | validateDerivativeMaterialPropertyBase (const std::string &base) |
Check if the material property base exists. 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... | |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
Methods for declaring derivative material properties. More... | |
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. More... | |
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. More... | |
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. More... | |
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 More... | |
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 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 InputParameters | validParams () |
Protected Member Functions | |
void | initializeDerivativeProperties (const std::string name) |
Output material properties are initialized here so that derived classes can modify the name. More... | |
virtual void | computeQpTensorProperties (MaterialProperty< T > &M, Real derivative_prefactor=1.0) |
Fill in the. More... | |
Protected Attributes | |
std::vector< MaterialPropertyName > | _tensor_names |
component tensor names More... | |
std::vector< MaterialPropertyName > | _weight_names |
component weight names More... | |
unsigned int | _num_args |
number of dependent variables More... | |
unsigned int | _num_comp |
number of compomemt tensors and weights More... | |
std::vector< MaterialProperty< T > * > | _dM |
Composed tensor and its derivatives. More... | |
std::vector< std::vector< MaterialProperty< T > * > > | _d2M |
std::vector< const MaterialProperty< T > * > | _tensors |
component tensors and their derivatives w.r.t. the args More... | |
std::vector< std::vector< const MaterialProperty< T > * > > | _dtensors |
std::vector< std::vector< std::vector< const MaterialProperty< T > * > > > | _d2tensors |
std::vector< const MaterialProperty< Real > * > | _weights |
component weights and their derivatives w.r.t. the args More... | |
std::vector< std::vector< const MaterialProperty< Real > * > > | _dweights |
std::vector< std::vector< std::vector< const MaterialProperty< Real > * > > > | _d2weights |
CompositeTensorBase computes a simple T type MaterialProperty \( \bar T\) that is summed up from a list of other T objects (tensors) \( T_i \) with associated weights \( w_i \).
\( \bar T = \sum_i T_i\cdot w_i \) Derivatives w.r.t. variables are computed accordingly. This base class is used by the CompositeMobilityTensor and CompositeElasticityTensor classes.
T | The type of the objects to sum together |
Definition at line 27 of file CompositeTensorBase.h.
|
inherited |
Definition at line 35 of file DerivativeMaterialInterface.h.
CompositeTensorBase< T, U >::CompositeTensorBase | ( | const InputParameters & | parameters | ) |
Definition at line 81 of file CompositeTensorBase.h.
|
protectedvirtual |
Fill in the.
The root_property is kept separate from the derivatives to allow the application of this template to the Eigenstrain calculation, which contributes derivatives to a different material property (and uses a derivative_prefactor of -1).
Definition at line 175 of file CompositeTensorBase.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 258 of file DerivativeMaterialInterface.h.
|
inherited |
Definition at line 268 of file DerivativeMaterialInterface.h.
|
inherited |
Definition at line 277 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().
|
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 231 of file DerivativeMaterialInterface.h.
|
inherited |
Fetch a material property by name if it exists, otherwise return getZeroMaterialProperty.
Definition at line 249 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 294 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 304 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 324 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 352 of file DerivativeMaterialInterface.h.
|
inherited |
Definition at line 367 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 382 of file DerivativeMaterialInterface.h.
|
inherited |
Definition at line 392 of file DerivativeMaterialInterface.h.
|
inherited |
Definition at line 402 of file DerivativeMaterialInterface.h.
|
protected |
Output material properties are initialized here so that derived classes can modify the name.
Definition at line 116 of file CompositeTensorBase.h.
|
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 461 of file DerivativeMaterialInterface.h.
|
inherited |
Definition at line 515 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 537 of file DerivativeMaterialInterface.h.
|
inherited |
Definition at line 526 of file DerivativeMaterialInterface.h.
|
static |
Definition at line 104 of file CompositeTensorBase.h.
|
protected |
Definition at line 64 of file CompositeTensorBase.h.
|
protected |
Definition at line 70 of file CompositeTensorBase.h.
|
protected |
Definition at line 76 of file CompositeTensorBase.h.
|
protected |
Composed tensor and its derivatives.
Definition at line 63 of file CompositeTensorBase.h.
|
protected |
Definition at line 69 of file CompositeTensorBase.h.
|
protected |
Definition at line 75 of file CompositeTensorBase.h.
|
protected |
number of dependent variables
Definition at line 58 of file CompositeTensorBase.h.
|
protected |
number of compomemt tensors and weights
Definition at line 60 of file CompositeTensorBase.h.
Referenced by CompositeTensorBase< T, U >::CompositeTensorBase().
|
protected |
component tensor names
Definition at line 53 of file CompositeTensorBase.h.
|
protected |
component tensors and their derivatives w.r.t. the args
Definition at line 68 of file CompositeTensorBase.h.
|
protected |
component weight names
Definition at line 55 of file CompositeTensorBase.h.
Referenced by CompositeTensorBase< T, U >::CompositeTensorBase().
|
protected |
component weights and their derivatives w.r.t. the args
Definition at line 74 of file CompositeTensorBase.h.