https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
ThermalFractureIntegral Class Reference

ThermalFractureIntegral computes the summation of the derivative of the eigenstrains with respect to temperature. More...

#include <ThermalFractureIntegral.h>

Inheritance diagram for ThermalFractureIntegral:
[legend]

Public Types

typedef DerivativeMaterialPropertyNameInterface::SymbolName SymbolName
 

Public Member Functions

 ThermalFractureIntegral (const InputParameters &parameters)
 
virtual void computeQpProperties () 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 Attributes

const std::string _base_name
 Base name of the material system.
 
const std::vector< MaterialPropertyName > _eigenstrain_names
 
std::vector< const MaterialProperty< RankTwoTensor > * > _deigenstrain_dT
 
MaterialProperty< RankTwoTensor > & _total_deigenstrain_dT
 

Private Member Functions

bool haveMaterialProperty (const std::string &prop_name)
 
std::vector< VariableName > buildVariableVector (const VariableName &c1, const VariableName &c2, const VariableName &c3)
 
void validateCouplingHelper (const MaterialPropertyName &base, const std::vector< VariableName > &c, const System &system, std::vector< VariableName > &missing)
 
bool isNotObjectVariable (const VariableName &name)
 

Private Attributes

FEProblemBase_dmi_fe_problem
 

Detailed Description

ThermalFractureIntegral computes the summation of the derivative of the eigenstrains with respect to temperature.

Definition at line 20 of file ThermalFractureIntegral.h.

Constructor & Destructor Documentation

◆ ThermalFractureIntegral()

ThermalFractureIntegral::ThermalFractureIntegral ( const InputParameters parameters)

Definition at line 27 of file ThermalFractureIntegral.C.

29 _base_name(isParamValid("base_name") ? getParam<std::string>("base_name") + "_" : ""),
30 _eigenstrain_names(getParam<std::vector<MaterialPropertyName>>("eigenstrain_names")),
32 _total_deigenstrain_dT(declareProperty<RankTwoTensor>("total_deigenstrain_dT"))
33{
34 // Get the materials containing the derivatives of the eigenstrains wrt temperature
35 VariableName temp_name = coupledName("temperature", 0);
36 if (_eigenstrain_names.size() == 0)
37 mooseWarning("No 'eigenstrain_names' specified for ThermalFractureIntegral when 'temperature' "
38 "is specified");
39
40 for (unsigned int i = 0; i < _deigenstrain_dT.size(); ++i)
41 _deigenstrain_dT[i] = &getMaterialPropertyDerivative<RankTwoTensor>(
42 _base_name + _eigenstrain_names[i], temp_name);
43}
void mooseWarning(Args &&... args)
MaterialProperty< RankTwoTensor > & _total_deigenstrain_dT
std::vector< const MaterialProperty< RankTwoTensor > * > _deigenstrain_dT
const std::vector< MaterialPropertyName > _eigenstrain_names
const std::string _base_name
Base name of the material system.

Member Function Documentation

◆ computeQpProperties()

void ThermalFractureIntegral::computeQpProperties ( )
overridevirtual

Definition at line 46 of file ThermalFractureIntegral.C.

47{
48 _total_deigenstrain_dT[_qp] = ((*_deigenstrain_dT[0])[_qp]);
49 for (unsigned int i = 1; i < _deigenstrain_dT.size(); ++i)
51}

◆ validParams()

InputParameters ThermalFractureIntegral::validParams ( )
static

Definition at line 16 of file ThermalFractureIntegral.C.

17{
20 "Calculates summation of the derivative of the eigenstrains with respect to temperature.");
21 params.addRequiredCoupledVar("temperature", "Coupled temperature");
22 params.addParam<std::vector<MaterialPropertyName>>(
23 "eigenstrain_names", {}, "List of eigenstrains to be applied in this strain calculation");
24 return params;
25}
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
static InputParameters validParams()

Member Data Documentation

◆ _base_name

const std::string ThermalFractureIntegral::_base_name
protected

Base name of the material system.

Definition at line 31 of file ThermalFractureIntegral.h.

Referenced by ThermalFractureIntegral().

◆ _deigenstrain_dT

std::vector<const MaterialProperty<RankTwoTensor> *> ThermalFractureIntegral::_deigenstrain_dT
protected

Definition at line 33 of file ThermalFractureIntegral.h.

Referenced by computeQpProperties(), and ThermalFractureIntegral().

◆ _eigenstrain_names

const std::vector<MaterialPropertyName> ThermalFractureIntegral::_eigenstrain_names
protected

Definition at line 32 of file ThermalFractureIntegral.h.

Referenced by ThermalFractureIntegral().

◆ _total_deigenstrain_dT

MaterialProperty<RankTwoTensor>& ThermalFractureIntegral::_total_deigenstrain_dT
protected

Definition at line 34 of file ThermalFractureIntegral.h.

Referenced by computeQpProperties().


The documentation for this class was generated from the following files: