www.mooseframework.org
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)
 

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 23 of file ComputeEigenstrainBeamBase.h.

Constructor & Destructor Documentation

◆ ComputeEigenstrainBeamBase()

ComputeEigenstrainBeamBase::ComputeEigenstrainBeamBase ( const InputParameters &  parameters)

Definition at line 24 of file ComputeEigenstrainBeamBase.C.

25  : Material(parameters),
26  _eigenstrain_name(getParam<std::string>("eigenstrain_name")),
27  _disp_eigenstrain(declareProperty<RealVectorValue>("disp_" + _eigenstrain_name)),
28  _rot_eigenstrain(declareProperty<RealVectorValue>("rot_" + _eigenstrain_name)),
29  _step_zero(declareRestartableData<bool>("step_zero", true))
30 {
31 }
MaterialProperty< RealVectorValue > & _rot_eigenstrain
Stores the current rotational eigenstrain.
MaterialProperty< RealVectorValue > & _disp_eigenstrain
Stores the current displacement eigenstrain.
std::string _eigenstrain_name
Base material property name for the eigenstrain vectors.
bool & _step_zero
Restartable data to check for the zeroth and first time steps for thermal calculations.

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 44 of file ComputeEigenstrainBeamBase.C.

45 {
46  if (_t_step >= 1)
47  _step_zero = false;
48 
49  // Skip the eigenstrain calculation in step zero because no solution is computed during
50  // the zeroth step, hence computing the eigenstrain in the zeroth step would result in
51  // an incorrect calculation of mechanical_strain, which is stateful.
52  if (!_step_zero)
54 }
bool & _step_zero
Restartable data to check for the zeroth and first time steps for thermal calculations.
virtual void computeQpEigenstrain()=0
Compute the eigenstrain and store in _disp_eigenstrain and _rot_eigenstrain.

◆ initQpStatefulProperties()

void ComputeEigenstrainBeamBase::initQpStatefulProperties ( )
protectedvirtual

Definition at line 34 of file ComputeEigenstrainBeamBase.C.

35 {
36  // This property can be promoted to be stateful by other models that use it,
37  // so it needs to be initalized.
38  RealVectorValue a;
39  _disp_eigenstrain[_qp] = a;
40  _rot_eigenstrain[_qp] = a;
41 }
MaterialProperty< RealVectorValue > & _rot_eigenstrain
Stores the current rotational eigenstrain.
MaterialProperty< RealVectorValue > & _disp_eigenstrain
Stores the current displacement eigenstrain.

Member Data Documentation

◆ _disp_eigenstrain

MaterialProperty<RealVectorValue>& ComputeEigenstrainBeamBase::_disp_eigenstrain
protected

Stores the current displacement eigenstrain.

Definition at line 39 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 36 of file ComputeEigenstrainBeamBase.h.

◆ _rot_eigenstrain

MaterialProperty<RealVectorValue>& ComputeEigenstrainBeamBase::_rot_eigenstrain
protected

Stores the current rotational eigenstrain.

Definition at line 42 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 45 of file ComputeEigenstrainBeamBase.h.

Referenced by computeQpProperties().


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