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

ComputeAxisymmetricRZFiniteStrain defines a strain increment and rotation increment for finite strains in an Axisymmetric simulation. More...

#include <ComputeAxisymmetricRZFiniteStrain.h>

Inheritance diagram for ComputeAxisymmetricRZFiniteStrain:
[legend]

Public Member Functions

 ComputeAxisymmetricRZFiniteStrain (const InputParameters &parameters)
 
void initialSetup () override
 
virtual void computeProperties () override
 

Static Public Member Functions

static InputParameters validParams ()
 
static MooseEnum decompositionType ()
 

Protected Member Functions

Real computeOutOfPlaneGradDisp () override
 Computes the current out-of-plane component of the displacement gradient; as a virtual function, this function is overwritten for the specific geometries defined by inheriting classes. More...
 
Real computeOutOfPlaneGradDispOld () override
 Computes the old out-of-plane component of the displacement gradient; as a virtual function, this function is overwritten for the specific geometries defined by inheriting classes. More...
 
virtual void displacementIntegrityCheck () override
 
virtual void computeQpStrain ()
 
virtual void computeQpIncrements (RankTwoTensor &e, RankTwoTensor &r)
 
virtual void initQpStatefulProperties () override
 
void subtractEigenstrainIncrementFromStrain (RankTwoTensor &strain)
 

Protected Attributes

const VariableValue & _disp_old_0
 the old value of the first component of the displacements vector More...
 
const unsigned int _out_of_plane_direction
 
std::vector< RankTwoTensor_Fhat
 
std::vector< const VariableGradient * > _grad_disp_old
 
MaterialProperty< RankTwoTensor > & _strain_rate
 
MaterialProperty< RankTwoTensor > & _strain_increment
 
MaterialProperty< RankTwoTensor > & _rotation_increment
 
MaterialProperty< RankTwoTensor > & _deformation_gradient
 
const MaterialProperty< RankTwoTensor > & _mechanical_strain_old
 
const MaterialProperty< RankTwoTensor > & _total_strain_old
 
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains_old
 
unsigned int _ndisp
 Coupled displacement variables. More...
 
std::vector< const VariableValue * > _disp
 
std::vector< const VariableGradient * > _grad_disp
 
const std::string _base_name
 
MaterialProperty< RankTwoTensor > & _mechanical_strain
 
MaterialProperty< RankTwoTensor > & _total_strain
 
std::vector< MaterialPropertyName > _eigenstrain_names
 
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains
 
const MaterialProperty< RankTwoTensor > * _global_strain
 
const bool _volumetric_locking_correction
 
const Real & _current_elem_volume
 

Private Types

enum  DecompMethod { DecompMethod::TaylorExpansion, DecompMethod::EigenSolution }
 

Private Attributes

const DecompMethod _decomposition_method
 

Detailed Description

ComputeAxisymmetricRZFiniteStrain defines a strain increment and rotation increment for finite strains in an Axisymmetric simulation.

The COORD_TYPE in the Problem block must be set to RZ.

Definition at line 24 of file ComputeAxisymmetricRZFiniteStrain.h.

Member Enumeration Documentation

◆ DecompMethod

enum ComputeFiniteStrain::DecompMethod
strongprivateinherited
Enumerator
TaylorExpansion 
EigenSolution 

Definition at line 40 of file ComputeFiniteStrain.h.

41  {
42  TaylorExpansion,
43  EigenSolution
44  };

Constructor & Destructor Documentation

◆ ComputeAxisymmetricRZFiniteStrain()

ComputeAxisymmetricRZFiniteStrain::ComputeAxisymmetricRZFiniteStrain ( const InputParameters &  parameters)

Definition at line 28 of file ComputeAxisymmetricRZFiniteStrain.C.

30  : Compute2DFiniteStrain(parameters), _disp_old_0(coupledValueOld("displacements", 0))
31 {
32 }

Member Function Documentation

◆ computeOutOfPlaneGradDisp()

Real ComputeAxisymmetricRZFiniteStrain::computeOutOfPlaneGradDisp ( )
overrideprotectedvirtual

Computes the current out-of-plane component of the displacement gradient; as a virtual function, this function is overwritten for the specific geometries defined by inheriting classes.

Implements Compute2DFiniteStrain.

Definition at line 48 of file ComputeAxisymmetricRZFiniteStrain.C.

49 {
50  if (!MooseUtils::absoluteFuzzyEqual(_q_point[_qp](0), 0.0))
51  return (*_disp[0])[_qp] / _q_point[_qp](0);
52  else
53  return 0.0;
54 }

◆ computeOutOfPlaneGradDispOld()

Real ComputeAxisymmetricRZFiniteStrain::computeOutOfPlaneGradDispOld ( )
overrideprotectedvirtual

Computes the old out-of-plane component of the displacement gradient; as a virtual function, this function is overwritten for the specific geometries defined by inheriting classes.

Implements Compute2DFiniteStrain.

Definition at line 57 of file ComputeAxisymmetricRZFiniteStrain.C.

58 {
59  if (!MooseUtils::absoluteFuzzyEqual(_q_point[_qp](0), 0.0))
60  return _disp_old_0[_qp] / _q_point[_qp](0);
61  else
62  return 0.0;
63 }

◆ computeProperties()

void Compute2DFiniteStrain::computeProperties ( )
overridevirtualinherited

Definition at line 59 of file Compute2DFiniteStrain.C.

60 {
61  RankTwoTensor ave_Fhat;
62  Real ave_dfgrd_det = 0.0;
63 
64  for (_qp = 0; _qp < _qrule->n_points(); ++_qp)
65  {
66 
67  // Deformation gradient calculation for 2D problems
68  RankTwoTensor A((*_grad_disp[0])[_qp],
69  (*_grad_disp[1])[_qp],
70  (*_grad_disp[2])[_qp]); // Deformation gradient
71  RankTwoTensor Fbar((*_grad_disp_old[0])[_qp],
72  (*_grad_disp_old[1])[_qp],
73  (*_grad_disp_old[2])[_qp]); // Old Deformation gradient
74 
75  // Compute the displacement gradient for the out of plane direction for plane strain,
76  // generalized plane strain, or axisymmetric problems
77 
80 
81  // Gauss point deformation gradient
82  _deformation_gradient[_qp] = A;
83  _deformation_gradient[_qp].addIa(1.0);
84 
85  A -= Fbar; // very nearly A = gradU - gradUold
86 
87  Fbar.addIa(1.0); // Fbar = ( I + gradUold)
88 
89  // Incremental deformation gradient _Fhat = I + A Fbar^-1
90  _Fhat[_qp] = A * Fbar.inverse();
91  _Fhat[_qp].addIa(1.0);
92 
94  {
95  // Calculate average _Fhat for volumetric locking correction
96  ave_Fhat += _Fhat[_qp] * _JxW[_qp] * _coord[_qp];
97 
98  // Average deformation gradient
99  ave_dfgrd_det += _deformation_gradient[_qp].det() * _JxW[_qp] * _coord[_qp];
100  }
101  }
103  {
104  // needed for volumetric locking correction
105  ave_Fhat /= _current_elem_volume;
106  // average deformation gradient
107  ave_dfgrd_det /= _current_elem_volume;
108  }
109  for (_qp = 0; _qp < _qrule->n_points(); ++_qp)
110  {
112  {
113  // Finalize volumetric locking correction
114  _Fhat[_qp] *= std::cbrt(ave_Fhat.det() / _Fhat[_qp].det());
115  // Volumetric locking correction
116  _deformation_gradient[_qp] *= std::cbrt(ave_dfgrd_det / _deformation_gradient[_qp].det());
117  }
118 
119  computeQpStrain();
120  }
121 }

◆ computeQpIncrements()

void ComputeFiniteStrain::computeQpIncrements ( RankTwoTensor e,
RankTwoTensor r 
)
protectedvirtualinherited

Definition at line 137 of file ComputeFiniteStrain.C.

139 {
140  switch (_decomposition_method)
141  {
143  {
144  // inverse of _Fhat
145  const RankTwoTensor invFhat = _Fhat[_qp].inverse();
146 
147  // A = I - _Fhat^-1
148  RankTwoTensor A(RankTwoTensor::initIdentity);
149  A -= invFhat;
150 
151  // Cinv - I = A A^T - A - A^T;
152  RankTwoTensor Cinv_I = A * A.transpose() - A - A.transpose();
153 
154  // strain rate D from Taylor expansion, Chat = (-1/2(Chat^-1 - I) + 1/4*(Chat^-1 - I)^2 + ...
155  total_strain_increment = -Cinv_I * 0.5 + Cinv_I * Cinv_I * 0.25;
156 
157  const Real a[3] = {invFhat(1, 2) - invFhat(2, 1),
158  invFhat(2, 0) - invFhat(0, 2),
159  invFhat(0, 1) - invFhat(1, 0)};
160 
161  Real q = (a[0] * a[0] + a[1] * a[1] + a[2] * a[2]) / 4.0;
162  Real trFhatinv_1 = invFhat.trace() - 1.0;
163  const Real p = trFhatinv_1 * trFhatinv_1 / 4.0;
164 
165  // cos theta_a
166  const Real C1_squared = p +
167  3.0 * Utility::pow<2>(p) * (1.0 - (p + q)) / Utility::pow<2>(p + q) -
168  2.0 * Utility::pow<3>(p) * (1.0 - (p + q)) / Utility::pow<3>(p + q);
169  mooseAssert(C1_squared >= 0.0,
170  "Cannot take square root of a negative number. This may happen when elements "
171  "become heavily distorted.");
172  const Real C1 = std::sqrt(C1_squared);
173 
174  Real C2;
175  if (q > 0.01)
176  // (1-cos theta_a)/4q
177  C2 = (1.0 - C1) / (4.0 * q);
178  else
179  // alternate form for small q
180  C2 = 0.125 + q * 0.03125 * (Utility::pow<2>(p) - 12.0 * (p - 1.0)) / Utility::pow<2>(p) +
181  Utility::pow<2>(q) * (p - 2.0) * (Utility::pow<2>(p) - 10.0 * p + 32.0) /
182  Utility::pow<3>(p) +
183  Utility::pow<3>(q) *
184  (1104.0 - 992.0 * p + 376.0 * Utility::pow<2>(p) - 72.0 * Utility::pow<3>(p) +
185  5.0 * Utility::pow<4>(p)) /
186  (512.0 * Utility::pow<4>(p));
187 
188  const Real C3_test =
189  (p * q * (3.0 - q) + Utility::pow<3>(p) + Utility::pow<2>(q)) / Utility::pow<3>(p + q);
190  mooseAssert(C3_test >= 0.0,
191  "Cannot take square root of a negative number. This may happen when elements "
192  "become heavily distorted.");
193  const Real C3 = 0.5 * std::sqrt(C3_test); // sin theta_a/(2 sqrt(q))
194 
195  // Calculate incremental rotation. Note that this value is the transpose of that from Rashid,
196  // 93, so we transpose it before storing
197  RankTwoTensor R_incr;
198  R_incr.addIa(C1);
199  for (unsigned int i = 0; i < 3; ++i)
200  for (unsigned int j = 0; j < 3; ++j)
201  R_incr(i, j) += C2 * a[i] * a[j];
202 
203  R_incr(0, 1) += C3 * a[2];
204  R_incr(0, 2) -= C3 * a[1];
205  R_incr(1, 0) -= C3 * a[2];
206  R_incr(1, 2) += C3 * a[0];
207  R_incr(2, 0) += C3 * a[1];
208  R_incr(2, 1) -= C3 * a[0];
209 
210  rotation_increment = R_incr.transpose();
211  break;
212  }
213 
215  {
216  std::vector<Real> e_value(3);
217  RankTwoTensor e_vector, N1, N2, N3;
218 
219  RankTwoTensor Chat = _Fhat[_qp].transpose() * _Fhat[_qp];
220  Chat.symmetricEigenvaluesEigenvectors(e_value, e_vector);
221 
222  const Real lambda1 = std::sqrt(e_value[0]);
223  const Real lambda2 = std::sqrt(e_value[1]);
224  const Real lambda3 = std::sqrt(e_value[2]);
225 
226  N1.vectorOuterProduct(e_vector.column(0), e_vector.column(0));
227  N2.vectorOuterProduct(e_vector.column(1), e_vector.column(1));
228  N3.vectorOuterProduct(e_vector.column(2), e_vector.column(2));
229 
230  const RankTwoTensor Uhat = N1 * lambda1 + N2 * lambda2 + N3 * lambda3;
231  const RankTwoTensor invUhat(Uhat.inverse());
232 
233  rotation_increment = _Fhat[_qp] * invUhat;
234 
235  total_strain_increment =
236  N1 * std::log(lambda1) + N2 * std::log(lambda2) + N3 * std::log(lambda3);
237  break;
238  }
239 
240  default:
241  mooseError("ComputeFiniteStrain Error: Pass valid decomposition type: TaylorExpansion or "
242  "EigenSolution.");
243  }
244 }

Referenced by ComputeFiniteStrain::computeQpStrain().

◆ computeQpStrain()

void ComputeFiniteStrain::computeQpStrain ( )
protectedvirtualinherited

Definition at line 105 of file ComputeFiniteStrain.C.

106 {
107  RankTwoTensor total_strain_increment;
108 
109  // two ways to calculate these increments: TaylorExpansion(default) or EigenSolution
110  computeQpIncrements(total_strain_increment, _rotation_increment[_qp]);
111 
112  _strain_increment[_qp] = total_strain_increment;
113 
114  // Remove the eigenstrain increment
116 
117  if (_dt > 0)
118  _strain_rate[_qp] = _strain_increment[_qp] / _dt;
119  else
120  _strain_rate[_qp].zero();
121 
122  // Update strain in intermediate configuration
124  _total_strain[_qp] = _total_strain_old[_qp] + total_strain_increment;
125 
126  // Rotate strain to current configuration
127  _mechanical_strain[_qp] =
128  _rotation_increment[_qp] * _mechanical_strain[_qp] * _rotation_increment[_qp].transpose();
129  _total_strain[_qp] =
130  _rotation_increment[_qp] * _total_strain[_qp] * _rotation_increment[_qp].transpose();
131 
132  if (_global_strain)
133  _total_strain[_qp] += (*_global_strain)[_qp];
134 }

Referenced by ComputeFiniteStrain::computeProperties(), Compute1DFiniteStrain::computeProperties(), Compute2DFiniteStrain::computeProperties(), and ComputeRSphericalFiniteStrain::computeProperties().

◆ decompositionType()

MooseEnum ComputeFiniteStrain::decompositionType ( )
staticinherited

Definition at line 17 of file ComputeFiniteStrain.C.

18 {
19  return MooseEnum("TaylorExpansion EigenSolution", "TaylorExpansion");
20 }

Referenced by TensorMechanicsActionBase::validParams(), and ComputeFiniteStrain::validParams().

◆ displacementIntegrityCheck()

void Compute2DFiniteStrain::displacementIntegrityCheck ( )
overrideprotectedvirtualinherited

Reimplemented from ComputeStrainBase.

Definition at line 124 of file Compute2DFiniteStrain.C.

125 {
126  if (_out_of_plane_direction != 2 && _ndisp != 3)
127  mooseError("For 2D simulations where the out-of-plane direction is x or y the number of "
128  "supplied displacements must be three.");
129  else if (_out_of_plane_direction == 2 && _ndisp != 2)
130  mooseError("For 2D simulations where the out-of-plane direction is z the number of supplied "
131  "displacements must be two.");
132 }

◆ initialSetup()

void ComputeAxisymmetricRZFiniteStrain::initialSetup ( )
override

Definition at line 35 of file ComputeAxisymmetricRZFiniteStrain.C.

36 {
38 
39  if (getBlockCoordSystem() != Moose::COORD_RZ)
40  mooseError("The coordinate system must be set to RZ for Axisymmetric geometries.");
41 
42  if (_out_of_plane_direction != 2)
43  paramError("out_of_plane_direction",
44  "The out-of-plane direction for axisymmetric systems is currently restricted to z");
45 }

◆ initQpStatefulProperties()

void ComputeIncrementalStrainBase::initQpStatefulProperties ( )
overrideprotectedvirtualinherited

Reimplemented from ComputeStrainBase.

Reimplemented in ComputeCosseratIncrementalSmallStrain.

Definition at line 51 of file ComputeIncrementalStrainBase.C.

52 {
53  _mechanical_strain[_qp].zero();
54  _total_strain[_qp].zero();
55  _deformation_gradient[_qp].setToIdentity();
56 }

Referenced by ComputeCosseratIncrementalSmallStrain::initQpStatefulProperties().

◆ subtractEigenstrainIncrementFromStrain()

void ComputeIncrementalStrainBase::subtractEigenstrainIncrementFromStrain ( RankTwoTensor strain)
protectedinherited

Definition at line 59 of file ComputeIncrementalStrainBase.C.

60 {
61  for (unsigned int i = 0; i < _eigenstrains.size(); ++i)
62  {
63  strain -= (*_eigenstrains[i])[_qp];
64  strain += (*_eigenstrains_old[i])[_qp];
65  }
66 }

Referenced by ComputeIncrementalSmallStrain::computeProperties(), ComputeCosseratIncrementalSmallStrain::computeQpProperties(), and ComputeFiniteStrain::computeQpStrain().

◆ validParams()

InputParameters ComputeAxisymmetricRZFiniteStrain::validParams ( )
static

Definition at line 20 of file ComputeAxisymmetricRZFiniteStrain.C.

21 {
22  InputParameters params = Compute2DFiniteStrain::validParams();
23  params.addClassDescription(
24  "Compute a strain increment for finite strains under axisymmetric assumptions.");
25  return params;
26 }

Member Data Documentation

◆ _base_name

const std::string ComputeStrainBase::_base_name
protectedinherited

Definition at line 44 of file ComputeStrainBase.h.

Referenced by ComputeStrainBase::ComputeStrainBase().

◆ _current_elem_volume

const Real& ComputeStrainBase::_current_elem_volume
protectedinherited

◆ _decomposition_method

const DecompMethod ComputeFiniteStrain::_decomposition_method
privateinherited

Definition at line 46 of file ComputeFiniteStrain.h.

Referenced by ComputeFiniteStrain::computeQpIncrements().

◆ _deformation_gradient

MaterialProperty<RankTwoTensor>& ComputeIncrementalStrainBase::_deformation_gradient
protectedinherited

◆ _disp

std::vector<const VariableValue *> ComputeStrainBase::_disp
protectedinherited

◆ _disp_old_0

const VariableValue& ComputeAxisymmetricRZFiniteStrain::_disp_old_0
protected

the old value of the first component of the displacements vector

Definition at line 39 of file ComputeAxisymmetricRZFiniteStrain.h.

Referenced by computeOutOfPlaneGradDispOld().

◆ _eigenstrain_names

std::vector<MaterialPropertyName> ComputeStrainBase::_eigenstrain_names
protectedinherited

◆ _eigenstrains

std::vector<const MaterialProperty<RankTwoTensor> *> ComputeStrainBase::_eigenstrains
protectedinherited

◆ _eigenstrains_old

std::vector<const MaterialProperty<RankTwoTensor> *> ComputeIncrementalStrainBase::_eigenstrains_old
protectedinherited

◆ _Fhat

std::vector<RankTwoTensor> ComputeFiniteStrain::_Fhat
protectedinherited

◆ _global_strain

const MaterialProperty<RankTwoTensor>* ComputeStrainBase::_global_strain
protectedinherited

◆ _grad_disp

std::vector<const VariableGradient *> ComputeStrainBase::_grad_disp
protectedinherited

◆ _grad_disp_old

std::vector<const VariableGradient *> ComputeIncrementalStrainBase::_grad_disp_old
protectedinherited

◆ _mechanical_strain

MaterialProperty<RankTwoTensor>& ComputeStrainBase::_mechanical_strain
protectedinherited

◆ _mechanical_strain_old

const MaterialProperty<RankTwoTensor>& ComputeIncrementalStrainBase::_mechanical_strain_old
protectedinherited

◆ _ndisp

unsigned int ComputeStrainBase::_ndisp
protectedinherited

◆ _out_of_plane_direction

const unsigned int Compute2DFiniteStrain::_out_of_plane_direction
protectedinherited

◆ _rotation_increment

MaterialProperty<RankTwoTensor>& ComputeIncrementalStrainBase::_rotation_increment
protectedinherited

◆ _strain_increment

MaterialProperty<RankTwoTensor>& ComputeIncrementalStrainBase::_strain_increment
protectedinherited

◆ _strain_rate

MaterialProperty<RankTwoTensor>& ComputeIncrementalStrainBase::_strain_rate
protectedinherited

◆ _total_strain

MaterialProperty<RankTwoTensor>& ComputeStrainBase::_total_strain
protectedinherited

◆ _total_strain_old

const MaterialProperty<RankTwoTensor>& ComputeIncrementalStrainBase::_total_strain_old
protectedinherited

◆ _volumetric_locking_correction

const bool ComputeStrainBase::_volumetric_locking_correction
protectedinherited

The documentation for this class was generated from the following files:
ComputeFiniteStrain::_decomposition_method
const DecompMethod _decomposition_method
Definition: ComputeFiniteStrain.h:46
ComputeIncrementalStrainBase::_strain_rate
MaterialProperty< RankTwoTensor > & _strain_rate
Definition: ComputeIncrementalStrainBase.h:38
ComputeStrainBase::_current_elem_volume
const Real & _current_elem_volume
Definition: ComputeStrainBase.h:56
ComputeFiniteStrain::DecompMethod::EigenSolution
ComputeStrainBase::_disp
std::vector< const VariableValue * > _disp
Definition: ComputeStrainBase.h:41
ComputeIncrementalStrainBase::subtractEigenstrainIncrementFromStrain
void subtractEigenstrainIncrementFromStrain(RankTwoTensor &strain)
Definition: ComputeIncrementalStrainBase.C:59
ComputeAxisymmetricRZFiniteStrain::_disp_old_0
const VariableValue & _disp_old_0
the old value of the first component of the displacements vector
Definition: ComputeAxisymmetricRZFiniteStrain.h:39
ComputeIncrementalStrainBase::_mechanical_strain_old
const MaterialProperty< RankTwoTensor > & _mechanical_strain_old
Definition: ComputeIncrementalStrainBase.h:44
ComputeIncrementalStrainBase::_grad_disp_old
std::vector< const VariableGradient * > _grad_disp_old
Definition: ComputeIncrementalStrainBase.h:36
ComputeFiniteStrain::_Fhat
std::vector< RankTwoTensor > _Fhat
Definition: ComputeFiniteStrain.h:37
Compute2DFiniteStrain::initialSetup
void initialSetup() override
Definition: Compute2DFiniteStrain.C:36
ComputeIncrementalStrainBase::_rotation_increment
MaterialProperty< RankTwoTensor > & _rotation_increment
Definition: ComputeIncrementalStrainBase.h:40
ComputeIncrementalStrainBase::_eigenstrains_old
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains_old
Definition: ComputeIncrementalStrainBase.h:47
ComputeStrainBase::_ndisp
unsigned int _ndisp
Coupled displacement variables.
Definition: ComputeStrainBase.h:40
ComputeStrainBase::_mechanical_strain
MaterialProperty< RankTwoTensor > & _mechanical_strain
Definition: ComputeStrainBase.h:46
Compute2DFiniteStrain::Compute2DFiniteStrain
Compute2DFiniteStrain(const InputParameters &parameters)
Definition: Compute2DFiniteStrain.C:29
ComputeIncrementalStrainBase::_total_strain_old
const MaterialProperty< RankTwoTensor > & _total_strain_old
Definition: ComputeIncrementalStrainBase.h:45
ComputeFiniteStrain::computeQpStrain
virtual void computeQpStrain()
Definition: ComputeFiniteStrain.C:105
ComputeIncrementalStrainBase::_deformation_gradient
MaterialProperty< RankTwoTensor > & _deformation_gradient
Definition: ComputeIncrementalStrainBase.h:42
ComputeStrainBase::_global_strain
const MaterialProperty< RankTwoTensor > * _global_strain
Definition: ComputeStrainBase.h:53
ComputeFiniteStrain::computeQpIncrements
virtual void computeQpIncrements(RankTwoTensor &e, RankTwoTensor &r)
Definition: ComputeFiniteStrain.C:137
Compute2DFiniteStrain::computeOutOfPlaneGradDisp
virtual Real computeOutOfPlaneGradDisp()=0
Computes the current out-of-plane component of the displacement gradient; as a virtual function,...
Compute2DFiniteStrain::_out_of_plane_direction
const unsigned int _out_of_plane_direction
Definition: Compute2DFiniteStrain.h:52
ComputeStrainBase::_eigenstrains
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains
Definition: ComputeStrainBase.h:51
RankTwoTensorTempl< Real >
Compute2DFiniteStrain::computeOutOfPlaneGradDispOld
virtual Real computeOutOfPlaneGradDispOld()=0
Computes the old out-of-plane component of the displacement gradient; as a virtual function,...
ComputeStrainBase::_total_strain
MaterialProperty< RankTwoTensor > & _total_strain
Definition: ComputeStrainBase.h:48
ComputeFiniteStrain::DecompMethod::TaylorExpansion
ComputeStrainBase::_volumetric_locking_correction
const bool _volumetric_locking_correction
Definition: ComputeStrainBase.h:55
ComputeIncrementalStrainBase::_strain_increment
MaterialProperty< RankTwoTensor > & _strain_increment
Definition: ComputeIncrementalStrainBase.h:39
ComputeStrainBase::_grad_disp
std::vector< const VariableGradient * > _grad_disp
Definition: ComputeStrainBase.h:42
Compute2DFiniteStrain::validParams
static InputParameters validParams()
Definition: Compute2DFiniteStrain.C:17