www.mooseframework.org
ComputeAxisymmetricRZFiniteStrain.C
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 
9 #include "Assembly.h"
10 #include "FEProblem.h"
11 #include "MooseMesh.h"
12 
13 template <>
14 InputParameters
16 {
17  InputParameters params = validParams<Compute2DFiniteStrain>();
18  params.addClassDescription(
19  "Compute a strain increment for finite strains under axisymmetric assumptions.");
20  return params;
21 }
22 
24  const InputParameters & parameters)
25  : Compute2DFiniteStrain(parameters), _disp_old_0(coupledValueOld("displacements", 0))
26 {
27 }
28 
29 void
31 {
32  if (getBlockCoordSystem() != Moose::COORD_RZ)
33  mooseError("The coordinate system must be set to RZ for Axisymmetric geometries.");
34 }
35 
36 Real
38 {
39  if (!MooseUtils::absoluteFuzzyEqual(_q_point[_qp](0), 0.0))
40  return (*_disp[0])[_qp] / _q_point[_qp](0);
41  else
42  return 0.0;
43 }
44 
45 Real
47 {
48  if (!MooseUtils::absoluteFuzzyEqual(_q_point[_qp](0), 0.0))
49  return _disp_old_0[_qp] / _q_point[_qp](0);
50  else
51  return 0.0;
52 }
ComputeAxisymmetricRZFiniteStrain(const InputParameters &parameters)
Real computeGradDispZZOld() override
Computes the old dUz/dz for axisymmetric problems, where .
InputParameters validParams< Compute2DFiniteStrain >()
std::vector< const VariableValue * > _disp
const VariableValue & _disp_old_0
the old value of the first component of the displacements vector
InputParameters validParams< ComputeAxisymmetricRZFiniteStrain >()
Real computeGradDispZZ() override
Computes the current dUz/dz for axisymmetric problems, where .
Compute2DFiniteStrain defines a strain increment and a rotation increment for finite strains in 2D ge...