www.mooseframework.org
Public Member Functions | Protected 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 Member Functions

 ThermalFractureIntegral (const InputParameters &parameters)
 
virtual void computeQpProperties () override
 

Protected Attributes

std::string _base_name
 
const std::vector< MaterialPropertyName > _eigenstrain_names
 
std::vector< const MaterialProperty< RankTwoTensor > * > _deigenstrain_dT
 
MaterialProperty< RankTwoTensor > & _total_deigenstrain_dT
 

Detailed Description

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

Definition at line 19 of file ThermalFractureIntegral.h.

Constructor & Destructor Documentation

ThermalFractureIntegral::ThermalFractureIntegral ( const InputParameters &  parameters)

Definition at line 24 of file ThermalFractureIntegral.C.

25  : DerivativeMaterialInterface<Material>(parameters),
26  _base_name(isParamValid("base_name") ? getParam<std::string>("base_name") + "_" : ""),
27  _eigenstrain_names(getParam<std::vector<MaterialPropertyName>>("eigenstrain_names")),
29  _total_deigenstrain_dT(declareProperty<RankTwoTensor>("total_deigenstrain_dT"))
30 {
31  // Get the materials containing the derivatives of the eigenstrains wrt temperature
32  VariableName temp_name = getVar("temperature", 0)->name();
33  if (_eigenstrain_names.size() == 0)
34  mooseWarning("No 'eigenstrain_names' specified for ThermalFractureIntegral when 'temperature' "
35  "is specified");
36 
37  for (unsigned int i = 0; i < _deigenstrain_dT.size(); ++i)
38  _deigenstrain_dT[i] = &getMaterialPropertyDerivative<RankTwoTensor>(
39  _base_name + _eigenstrain_names[i], temp_name);
40 }
MaterialProperty< RankTwoTensor > & _total_deigenstrain_dT
const std::vector< MaterialPropertyName > _eigenstrain_names
std::vector< const MaterialProperty< RankTwoTensor > * > _deigenstrain_dT

Member Function Documentation

void ThermalFractureIntegral::computeQpProperties ( )
overridevirtual

Definition at line 43 of file ThermalFractureIntegral.C.

44 {
45  _total_deigenstrain_dT[_qp] = ((*_deigenstrain_dT[0])[_qp]);
46  for (unsigned int i = 1; i < _deigenstrain_dT.size(); ++i)
47  _total_deigenstrain_dT[_qp] += (*_deigenstrain_dT[i])[_qp];
48 }
MaterialProperty< RankTwoTensor > & _total_deigenstrain_dT
std::vector< const MaterialProperty< RankTwoTensor > * > _deigenstrain_dT

Member Data Documentation

std::string ThermalFractureIntegral::_base_name
protected

Definition at line 27 of file ThermalFractureIntegral.h.

Referenced by ThermalFractureIntegral().

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

Definition at line 29 of file ThermalFractureIntegral.h.

Referenced by computeQpProperties(), and ThermalFractureIntegral().

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

Definition at line 28 of file ThermalFractureIntegral.h.

Referenced by ThermalFractureIntegral().

MaterialProperty<RankTwoTensor>& ThermalFractureIntegral::_total_deigenstrain_dT
protected

Definition at line 30 of file ThermalFractureIntegral.h.

Referenced by computeQpProperties().


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