www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ComputeInstantaneousThermalExpansionFunctionEigenstrain Class Reference

ComputeInstantaneousThermalExpansionFunctionEigenstrain computes an eigenstrain for thermal expansion according to an instantaneous thermal expansion function. More...

#include <ComputeInstantaneousThermalExpansionFunctionEigenstrain.h>

Inheritance diagram for ComputeInstantaneousThermalExpansionFunctionEigenstrain:
[legend]

Public Member Functions

 ComputeInstantaneousThermalExpansionFunctionEigenstrain (const InputParameters &parameters)
 

Protected Member Functions

virtual void initQpStatefulProperties () override
 
virtual void computeThermalStrain (Real &thermal_strain, Real &instantaneous_cte) override
 
virtual void computeQpEigenstrain () override
 

Protected Attributes

const VariableValue & _temperature_old
 
Function & _thermal_expansion_function
 
bool & _step_one
 Indicates whether we are on the first step, avoiding false positives when restarting. More...
 
const VariableValue & _temperature
 
MaterialProperty< RankTwoTensor > & _deigenstrain_dT
 
const VariableValue & _stress_free_temperature
 
MaterialProperty< Real > & _thermal_strain
 Stores the thermal strain as a scalar for use in computing an incremental update to this. More...
 
const MaterialProperty< Real > & _thermal_strain_old
 

Detailed Description

ComputeInstantaneousThermalExpansionFunctionEigenstrain computes an eigenstrain for thermal expansion according to an instantaneous thermal expansion function.

Definition at line 22 of file ComputeInstantaneousThermalExpansionFunctionEigenstrain.h.

Constructor & Destructor Documentation

ComputeInstantaneousThermalExpansionFunctionEigenstrain::ComputeInstantaneousThermalExpansionFunctionEigenstrain ( const InputParameters &  parameters)

Definition at line 28 of file ComputeInstantaneousThermalExpansionFunctionEigenstrain.C.

Referenced by validParams< ComputeInstantaneousThermalExpansionFunctionEigenstrain >().

30  _temperature_old(coupledValueOld("temperature")),
31  _thermal_expansion_function(getFunction("thermal_expansion_function")),
32  _thermal_strain(declareProperty<Real>("InstantaneousThermalExpansionFunction_thermal_strain")),
34  getMaterialPropertyOld<Real>("InstantaneousThermalExpansionFunction_thermal_strain")),
35  _step_one(declareRestartableData<bool>("step_one", true))
36 {
37 }
MaterialProperty< Real > & _thermal_strain
Stores the thermal strain as a scalar for use in computing an incremental update to this...
bool & _step_one
Indicates whether we are on the first step, avoiding false positives when restarting.
ComputeThermalExpansionEigenstrainBase(const InputParameters &parameters)

Member Function Documentation

void ComputeThermalExpansionEigenstrainBase::computeQpEigenstrain ( )
overrideprotectedvirtualinherited

Definition at line 34 of file ComputeThermalExpansionEigenstrainBase.C.

35 {
36  Real thermal_strain = 0.0;
37  Real instantaneous_cte = 0.0;
38 
39  computeThermalStrain(thermal_strain, instantaneous_cte);
40 
41  _eigenstrain[_qp].zero();
42  _eigenstrain[_qp].addIa(thermal_strain);
43 
44  _deigenstrain_dT[_qp].zero();
45  _deigenstrain_dT[_qp].addIa(instantaneous_cte);
46 }
virtual void computeThermalStrain(Real &thermal_strain, Real &instantaneous_cte)=0
void ComputeInstantaneousThermalExpansionFunctionEigenstrain::computeThermalStrain ( Real &  thermal_strain,
Real &  instantaneous_cte 
)
overrideprotectedvirtual

Implements ComputeThermalExpansionEigenstrainBase.

Definition at line 46 of file ComputeInstantaneousThermalExpansionFunctionEigenstrain.C.

48 {
49  if (_t_step > 1)
50  _step_one = false;
51 
52  const Real & current_temp = _temperature[_qp];
53 
54  const Real & old_thermal_strain = _thermal_strain_old[_qp];
55 
56  const Real & old_temp = (_step_one ? _stress_free_temperature[_qp] : _temperature_old[_qp]);
57  const Real delta_T = current_temp - old_temp;
58 
59  const Point p;
60  const Real alpha_current_temp = _thermal_expansion_function.value(current_temp, p);
61  const Real alpha_old_temp = _thermal_expansion_function.value(old_temp, p);
62 
63  thermal_strain = old_thermal_strain + delta_T * 0.5 * (alpha_current_temp + alpha_old_temp);
64  _thermal_strain[_qp] = thermal_strain;
65 
66  instantaneous_cte = alpha_current_temp;
67 }
MaterialProperty< Real > & _thermal_strain
Stores the thermal strain as a scalar for use in computing an incremental update to this...
bool & _step_one
Indicates whether we are on the first step, avoiding false positives when restarting.
void ComputeInstantaneousThermalExpansionFunctionEigenstrain::initQpStatefulProperties ( )
overrideprotectedvirtual

Definition at line 40 of file ComputeInstantaneousThermalExpansionFunctionEigenstrain.C.

41 {
42  _thermal_strain[_qp] = 0;
43 }
MaterialProperty< Real > & _thermal_strain
Stores the thermal strain as a scalar for use in computing an incremental update to this...

Member Data Documentation

MaterialProperty<RankTwoTensor>& ComputeThermalExpansionEigenstrainBase::_deigenstrain_dT
protectedinherited
bool& ComputeInstantaneousThermalExpansionFunctionEigenstrain::_step_one
protected

Indicates whether we are on the first step, avoiding false positives when restarting.

Definition at line 42 of file ComputeInstantaneousThermalExpansionFunctionEigenstrain.h.

Referenced by computeThermalStrain().

const VariableValue& ComputeThermalExpansionEigenstrainBase::_stress_free_temperature
protectedinherited
const VariableValue& ComputeThermalExpansionEigenstrainBase::_temperature
protectedinherited
const VariableValue& ComputeInstantaneousThermalExpansionFunctionEigenstrain::_temperature_old
protected
Function& ComputeInstantaneousThermalExpansionFunctionEigenstrain::_thermal_expansion_function
protected
MaterialProperty<Real>& ComputeInstantaneousThermalExpansionFunctionEigenstrain::_thermal_strain
protected

Stores the thermal strain as a scalar for use in computing an incremental update to this.

Definition at line 37 of file ComputeInstantaneousThermalExpansionFunctionEigenstrain.h.

Referenced by computeThermalStrain(), and initQpStatefulProperties().

const MaterialProperty<Real>& ComputeInstantaneousThermalExpansionFunctionEigenstrain::_thermal_strain_old
protected

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