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

ComputeEigenstrainBeamFromVariable computes an eigenstrain from displacement and rotational eigenstrain variables. More...

#include <ComputeEigenstrainBeamFromVariable.h>

Inheritance diagram for ComputeEigenstrainBeamFromVariable:
[legend]

Public Member Functions

 ComputeEigenstrainBeamFromVariable (const InputParameters &parameters)
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

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

Protected Attributes

const unsigned int _ndisp
 Number of displacement eigenstrain variables. More...
 
const unsigned int _nrot
 Number of rotational eigenstrain variables. More...
 
std::vector< const VariableValue * > _disp
 Displacemenet eigenstrain variable values. More...
 
std::vector< const VariableValue * > _rot
 Rotational eigenstrain variable values. More...
 
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

ComputeEigenstrainBeamFromVariable computes an eigenstrain from displacement and rotational eigenstrain variables.

Definition at line 23 of file ComputeEigenstrainBeamFromVariable.h.

Constructor & Destructor Documentation

◆ ComputeEigenstrainBeamFromVariable()

ComputeEigenstrainBeamFromVariable::ComputeEigenstrainBeamFromVariable ( const InputParameters &  parameters)

Definition at line 34 of file ComputeEigenstrainBeamFromVariable.C.

36  : ComputeEigenstrainBeamBase(parameters),
37  _ndisp(coupledComponents("displacement_eigenstrain_variables")),
38  _nrot(coupledComponents("rotational_eigenstrain_variables")),
39  _disp(3),
40  _rot(3)
41 {
42  if ((_ndisp != 3 && _ndisp != 0) || (_nrot != 3 && _nrot != 0))
43  mooseError("ComputeEigenstrainBeamFromVariable: If the displacement or rotational eigenstrains "
44  "are provided, it should contain 3 variables corresponding to the three "
45  "components in the global coordinate system.");
46 
47  // fetch coupled variables
48  if (_ndisp > 0)
49  {
50  for (unsigned int i = 0; i < _ndisp; ++i)
51  _disp[i] = &coupledValue("displacement_eigenstrain_variables", i);
52  }
53  else
54  {
55  for (unsigned int i = 0; i < 3; ++i)
56  _disp[i] = &_zero;
57  }
58 
59  if (_nrot > 0)
60  {
61  for (unsigned int i = 0; i < _nrot; ++i)
62  _rot[i] = &coupledValue("rotational_eigenstrain_variables", i);
63  }
64  else
65  {
66  for (unsigned int i = 0; i < 3; ++i)
67  _rot[i] = &_zero;
68  }
69 }

Member Function Documentation

◆ computeQpEigenstrain()

void ComputeEigenstrainBeamFromVariable::computeQpEigenstrain ( )
overrideprotectedvirtual

Compute the eigenstrain and store in _disp_eigenstrain and _rot_eigenstrain.

Implements ComputeEigenstrainBeamBase.

Definition at line 72 of file ComputeEigenstrainBeamFromVariable.C.

73 {
74  for (unsigned int i = 0; i < 3; ++i)
75  {
76  _disp_eigenstrain[_qp](i) = (*_disp[i])[_qp];
77  _rot_eigenstrain[_qp](i) = (*_rot[i])[_qp];
78  }
79 }

◆ computeQpProperties()

void ComputeEigenstrainBeamBase::computeQpProperties ( )
protectedvirtualinherited

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 ( )
protectedvirtualinherited

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 ComputeEigenstrainBeamFromVariable::validParams ( )
static

Definition at line 17 of file ComputeEigenstrainBeamFromVariable.C.

18 {
19  InputParameters params = ComputeEigenstrainBeamBase::validParams();
20  params.addClassDescription("Computes an eigenstrain from a set of variables");
21  params.addCoupledVar("displacement_eigenstrain_variables",
22  "A list of variable names describing the "
23  "displacement eigenstrain. If provided, there must be 3 "
24  "entries, corresponding to the axial and shear "
25  "eigenstrains in the global coordinate system.");
26  params.addCoupledVar("rotational_eigenstrain_variables",
27  "A list of variable names describing the rotational "
28  "eigenstrain. If provided, there must be 3 entries, "
29  "corresponding to the rotational eigenstrain in the "
30  "global coordinate system.");
31  return params;
32 }

Member Data Documentation

◆ _disp

std::vector<const VariableValue *> ComputeEigenstrainBeamFromVariable::_disp
protected

Displacemenet eigenstrain variable values.

Definition at line 40 of file ComputeEigenstrainBeamFromVariable.h.

Referenced by ComputeEigenstrainBeamFromVariable(), and computeQpEigenstrain().

◆ _disp_eigenstrain

MaterialProperty<RealVectorValue>& ComputeEigenstrainBeamBase::_disp_eigenstrain
protectedinherited

Stores the current displacement eigenstrain.

Definition at line 40 of file ComputeEigenstrainBeamBase.h.

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

◆ _eigenstrain_name

std::string ComputeEigenstrainBeamBase::_eigenstrain_name
protectedinherited

Base material property name for the eigenstrain vectors.

Definition at line 37 of file ComputeEigenstrainBeamBase.h.

◆ _ndisp

const unsigned int ComputeEigenstrainBeamFromVariable::_ndisp
protected

Number of displacement eigenstrain variables.

Definition at line 34 of file ComputeEigenstrainBeamFromVariable.h.

Referenced by ComputeEigenstrainBeamFromVariable().

◆ _nrot

const unsigned int ComputeEigenstrainBeamFromVariable::_nrot
protected

Number of rotational eigenstrain variables.

Definition at line 37 of file ComputeEigenstrainBeamFromVariable.h.

Referenced by ComputeEigenstrainBeamFromVariable().

◆ _rot

std::vector<const VariableValue *> ComputeEigenstrainBeamFromVariable::_rot
protected

Rotational eigenstrain variable values.

Definition at line 43 of file ComputeEigenstrainBeamFromVariable.h.

Referenced by ComputeEigenstrainBeamFromVariable(), and computeQpEigenstrain().

◆ _rot_eigenstrain

MaterialProperty<RealVectorValue>& ComputeEigenstrainBeamBase::_rot_eigenstrain
protectedinherited

Stores the current rotational eigenstrain.

Definition at line 43 of file ComputeEigenstrainBeamBase.h.

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

◆ _step_zero

bool& ComputeEigenstrainBeamBase::_step_zero
protectedinherited

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

Definition at line 46 of file ComputeEigenstrainBeamBase.h.

Referenced by ComputeEigenstrainBeamBase::computeQpProperties().


The documentation for this class was generated from the following files:
ComputeEigenstrainBeamFromVariable::_nrot
const unsigned int _nrot
Number of rotational eigenstrain variables.
Definition: ComputeEigenstrainBeamFromVariable.h:37
ComputeEigenstrainBeamBase::computeQpEigenstrain
virtual void computeQpEigenstrain()=0
Compute the eigenstrain and store in _disp_eigenstrain and _rot_eigenstrain.
ComputeEigenstrainBeamFromVariable::_ndisp
const unsigned int _ndisp
Number of displacement eigenstrain variables.
Definition: ComputeEigenstrainBeamFromVariable.h:34
ComputeEigenstrainBeamBase::ComputeEigenstrainBeamBase
ComputeEigenstrainBeamBase(const InputParameters &parameters)
Definition: ComputeEigenstrainBeamBase.C:25
ComputeEigenstrainBeamBase::_rot_eigenstrain
MaterialProperty< RealVectorValue > & _rot_eigenstrain
Stores the current rotational eigenstrain.
Definition: ComputeEigenstrainBeamBase.h:43
ComputeEigenstrainBeamFromVariable::_rot
std::vector< const VariableValue * > _rot
Rotational eigenstrain variable values.
Definition: ComputeEigenstrainBeamFromVariable.h:43
ComputeEigenstrainBeamBase::validParams
static InputParameters validParams()
Definition: ComputeEigenstrainBeamBase.C:15
ComputeEigenstrainBeamBase::_step_zero
bool & _step_zero
Restartable data to check for the zeroth and first time steps for thermal calculations.
Definition: ComputeEigenstrainBeamBase.h:46
ComputeEigenstrainBeamFromVariable::_disp
std::vector< const VariableValue * > _disp
Displacemenet eigenstrain variable values.
Definition: ComputeEigenstrainBeamFromVariable.h:40
ComputeEigenstrainBeamBase::_disp_eigenstrain
MaterialProperty< RealVectorValue > & _disp_eigenstrain
Stores the current displacement eigenstrain.
Definition: ComputeEigenstrainBeamBase.h:40