www.mooseframework.org
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ComputeEigenstrainBeamBase Class Referenceabstract

ComputeEigenstrainBeamBase is the base class for beam eigenstrain vectors. More...

#include <ComputeEigenstrainBeamBase.h>

Inheritance diagram for ComputeEigenstrainBeamBase:
[legend]

Public Member Functions

 ComputeEigenstrainBeamBase (const InputParameters &parameters)
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual void initQpStatefulProperties ()
 
virtual void computeQpProperties ()
 
virtual void computeQpEigenstrain ()=0
 Compute the eigenstrain and store in _disp_eigenstrain and _rot_eigenstrain. More...
 

Protected Attributes

std::string _eigenstrain_name
 Base material property name for the eigenstrain vectors. More...
 
MaterialProperty< RealVectorValue > & _disp_eigenstrain
 Stores the current displacement eigenstrain. More...
 
MaterialProperty< RealVectorValue > & _rot_eigenstrain
 Stores the current rotational eigenstrain. More...
 
bool & _step_zero
 Restartable data to check for the zeroth and first time steps for thermal calculations. More...
 

Detailed Description

ComputeEigenstrainBeamBase is the base class for beam eigenstrain vectors.

Definition at line 22 of file ComputeEigenstrainBeamBase.h.

Constructor & Destructor Documentation

◆ ComputeEigenstrainBeamBase()

ComputeEigenstrainBeamBase::ComputeEigenstrainBeamBase ( const InputParameters &  parameters)

Definition at line 25 of file ComputeEigenstrainBeamBase.C.

26  : Material(parameters),
27  _eigenstrain_name(getParam<std::string>("eigenstrain_name")),
28  _disp_eigenstrain(declareProperty<RealVectorValue>("disp_" + _eigenstrain_name)),
29  _rot_eigenstrain(declareProperty<RealVectorValue>("rot_" + _eigenstrain_name)),
30  _step_zero(declareRestartableData<bool>("step_zero", true))
31 {
32 }

Member Function Documentation

◆ computeQpEigenstrain()

virtual void ComputeEigenstrainBeamBase::computeQpEigenstrain ( )
protectedpure virtual

Compute the eigenstrain and store in _disp_eigenstrain and _rot_eigenstrain.

Implemented in ComputeEigenstrainBeamFromVariable.

Referenced by computeQpProperties().

◆ computeQpProperties()

void ComputeEigenstrainBeamBase::computeQpProperties ( )
protectedvirtual

Definition at line 45 of file ComputeEigenstrainBeamBase.C.

46 {
47  if (_t_step >= 1)
48  _step_zero = false;
49 
50  // Skip the eigenstrain calculation in step zero because no solution is computed during
51  // the zeroth step, hence computing the eigenstrain in the zeroth step would result in
52  // an incorrect calculation of mechanical_strain, which is stateful.
53  if (!_step_zero)
55 }

◆ initQpStatefulProperties()

void ComputeEigenstrainBeamBase::initQpStatefulProperties ( )
protectedvirtual

Definition at line 35 of file ComputeEigenstrainBeamBase.C.

36 {
37  // This property can be promoted to be stateful by other models that use it,
38  // so it needs to be initalized.
39  RealVectorValue a;
40  _disp_eigenstrain[_qp] = a;
41  _rot_eigenstrain[_qp] = a;
42 }

◆ validParams()

InputParameters ComputeEigenstrainBeamBase::validParams ( )
static

Definition at line 15 of file ComputeEigenstrainBeamBase.C.

16 {
17  InputParameters params = Material::validParams();
18  params.addRequiredParam<std::string>("eigenstrain_name",
19  "Material property name for the eigenstrain vector computed "
20  "by this model. IMPORTANT: The name of this property must "
21  "also be provided to the strain calculator.");
22  return params;
23 }

Referenced by ComputeEigenstrainBeamFromVariable::validParams(), and ComputeThermalExpansionEigenstrainBeamBase::validParams().

Member Data Documentation

◆ _disp_eigenstrain

MaterialProperty<RealVectorValue>& ComputeEigenstrainBeamBase::_disp_eigenstrain
protected

Stores the current displacement eigenstrain.

Definition at line 40 of file ComputeEigenstrainBeamBase.h.

Referenced by ComputeEigenstrainBeamFromVariable::computeQpEigenstrain(), and initQpStatefulProperties().

◆ _eigenstrain_name

std::string ComputeEigenstrainBeamBase::_eigenstrain_name
protected

Base material property name for the eigenstrain vectors.

Definition at line 37 of file ComputeEigenstrainBeamBase.h.

◆ _rot_eigenstrain

MaterialProperty<RealVectorValue>& ComputeEigenstrainBeamBase::_rot_eigenstrain
protected

Stores the current rotational eigenstrain.

Definition at line 43 of file ComputeEigenstrainBeamBase.h.

Referenced by ComputeEigenstrainBeamFromVariable::computeQpEigenstrain(), and initQpStatefulProperties().

◆ _step_zero

bool& ComputeEigenstrainBeamBase::_step_zero
protected

Restartable data to check for the zeroth and first time steps for thermal calculations.

Definition at line 46 of file ComputeEigenstrainBeamBase.h.

Referenced by computeQpProperties().


The documentation for this class was generated from the following files:
ComputeEigenstrainBeamBase::computeQpEigenstrain
virtual void computeQpEigenstrain()=0
Compute the eigenstrain and store in _disp_eigenstrain and _rot_eigenstrain.
ComputeEigenstrainBeamBase::_rot_eigenstrain
MaterialProperty< RealVectorValue > & _rot_eigenstrain
Stores the current rotational eigenstrain.
Definition: ComputeEigenstrainBeamBase.h:43
validParams
InputParameters validParams()
ComputeEigenstrainBeamBase::_eigenstrain_name
std::string _eigenstrain_name
Base material property name for the eigenstrain vectors.
Definition: ComputeEigenstrainBeamBase.h:37
ComputeEigenstrainBeamBase::_step_zero
bool & _step_zero
Restartable data to check for the zeroth and first time steps for thermal calculations.
Definition: ComputeEigenstrainBeamBase.h:46
ComputeEigenstrainBeamBase::_disp_eigenstrain
MaterialProperty< RealVectorValue > & _disp_eigenstrain
Stores the current displacement eigenstrain.
Definition: ComputeEigenstrainBeamBase.h:40