ComputeMeanThermalExpansionEigenstrainBase is a base class for computing the thermal expansion eigenstrain according to a temperature-dependent mean thermal expansion defined in a derived class. More...
#include <ComputeMeanThermalExpansionEigenstrainBase.h>
Public Types | |
typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
ComputeMeanThermalExpansionEigenstrainBaseTempl (const InputParameters ¶meters) | |
virtual void | subdomainSetup () final |
resize _temperature_buffer More... | |
virtual void | computeProperties () final |
update _temperature_buffer More... | |
virtual void | computeQpEigenstrain () override |
const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialProperty (const std::string &name) |
const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialPropertyByName (const std::string &name) |
void | validateDerivativeMaterialPropertyBase (const std::string &base) |
const MaterialPropertyName | derivativePropertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
const MaterialPropertyName | derivativePropertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
const MaterialPropertyName | derivativePropertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
const MaterialPropertyName | derivativePropertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
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="") |
GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
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) |
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) |
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 > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
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) |
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) |
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="") |
const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c) |
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) |
void | validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
void | validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true) |
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="") |
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 |
const MaterialPropertyName | propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
const MaterialPropertyName | propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
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 | 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 |
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 ValueAndDerivative< is_ad > | computeThermalStrain () override |
Compute the total thermal strain relative to the stress-free temperature at the current temperature along with its temperature derivative. More... | |
virtual Real | referenceTemperature ()=0 |
Get the reference temperature for the mean thermal expansion relationship. More... | |
virtual ValueAndDerivative< is_ad > | meanThermalExpansionCoefficient (const ValueAndDerivative< is_ad > &temperature)=0 |
Protected Attributes | |
const Real | _thermal_expansion_scale_factor |
Scalar multiplier applied to the strain for sensitivity studies and debugging. More... | |
const std::vector< ValueAndDerivative< is_ad > > & | _temperature |
Temperature to use in the eigenstrain calculation (current value if _use_old_temperature=false, old value if _use_old_temperature=true). More... | |
const bool | _use_old_temperature |
lag temperature variable More... | |
const VariableValue & | _temperature_old |
previous time step temperature More... | |
MaterialProperty< RankTwoTensor > * | _deigenstrain_dT |
const VariableValue & | _stress_free_temperature |
ComputeMeanThermalExpansionEigenstrainBase is a base class for computing the thermal expansion eigenstrain according to a temperature-dependent mean thermal expansion defined in a derived class.
This is defined as the total total linear strain ( \(\delta L / L\)) at a given temperature relative to a reference temperature at which \(\delta L = 0\).
Based on: M. Niffenegger and K. Reichlin. The proper use of thermal expansion coefficients in finite element calculations. Nuclear Engineering and Design, 243:356-359, Feb. 2012.
Definition at line 26 of file ComputeMeanThermalExpansionEigenstrainBase.h.
ComputeMeanThermalExpansionEigenstrainBaseTempl< is_ad >::ComputeMeanThermalExpansionEigenstrainBaseTempl | ( | const InputParameters & | parameters | ) |
Definition at line 31 of file ComputeMeanThermalExpansionEigenstrainBase.C.
|
finalvirtualinherited |
update _temperature_buffer
Definition at line 71 of file ComputeThermalExpansionEigenstrainBase.C.
|
overridevirtualinherited |
Definition at line 91 of file ComputeThermalExpansionEigenstrainBase.C.
|
overrideprotectedvirtual |
Compute the total thermal strain relative to the stress-free temperature at the current temperature along with its temperature derivative.
Implements ComputeThermalExpansionEigenstrainBaseTempl< is_ad >.
Definition at line 39 of file ComputeMeanThermalExpansionEigenstrainBase.C.
|
protectedpure virtual |
Implemented in ComputeMeanThermalExpansionFunctionEigenstrainTempl< is_ad >.
|
protectedpure virtual |
Get the reference temperature for the mean thermal expansion relationship.
This is the temperature at which \(\delta L = 0\).
Implemented in ComputeMeanThermalExpansionFunctionEigenstrainTempl< is_ad >.
|
finalvirtualinherited |
resize _temperature_buffer
Definition at line 59 of file ComputeThermalExpansionEigenstrainBase.C.
|
static |
Definition at line 15 of file ComputeMeanThermalExpansionEigenstrainBase.C.
Referenced by ComputeMeanThermalExpansionFunctionEigenstrainTempl< is_ad >::validParams().
|
protectedinherited |
Definition at line 72 of file ComputeThermalExpansionEigenstrainBase.h.
|
protectedinherited |
Definition at line 74 of file ComputeThermalExpansionEigenstrainBase.h.
|
protectedinherited |
Temperature to use in the eigenstrain calculation (current value if _use_old_temperature=false, old value if _use_old_temperature=true).
We use a const reference to a private member here to prevent derived classes from accidentally overwriting any values.
Definition at line 63 of file ComputeThermalExpansionEigenstrainBase.h.
|
protectedinherited |
previous time step temperature
Definition at line 69 of file ComputeThermalExpansionEigenstrainBase.h.
|
protected |
Scalar multiplier applied to the strain for sensitivity studies and debugging.
Definition at line 58 of file ComputeMeanThermalExpansionEigenstrainBase.h.
|
protectedinherited |
lag temperature variable
Definition at line 66 of file ComputeThermalExpansionEigenstrainBase.h.
Referenced by ComputeInstantaneousThermalExpansionFunctionEigenstrainTempl< is_ad >::ComputeInstantaneousThermalExpansionFunctionEigenstrainTempl(), and ComputeThermalExpansionEigenstrainBaseTempl< is_ad >::ComputeThermalExpansionEigenstrainBaseTempl().