www.mooseframework.org
ComputeAxisymmetricRZIncrementalStrain.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 /****************************************************************/
8 #include "Assembly.h"
9 #include "FEProblem.h"
10 #include "MooseMesh.h"
11 
12 template <>
13 InputParameters
15 {
16  InputParameters params = validParams<Compute2DIncrementalStrain>();
17  params.addClassDescription("Compute a strain increment and rotation increment for finite strains "
18  "under axisymmetric assumptions.");
19  return params;
20 }
21 
23  const InputParameters & parameters)
24  : Compute2DIncrementalStrain(parameters), _disp_old_0(coupledValueOld("displacements", 0))
25 {
26 }
27 
28 void
30 {
31  if (getBlockCoordSystem() != Moose::COORD_RZ)
32  mooseError("The coordinate system must be set to RZ for Axisymmetric geometries.");
33 }
34 
35 Real
37 {
38  if (!MooseUtils::absoluteFuzzyEqual(_q_point[_qp](0), 0.0))
39  return (*_disp[0])[_qp] / _q_point[_qp](0);
40  else
41  return 0.0;
42 }
43 
44 Real
46 {
47  if (!MooseUtils::absoluteFuzzyEqual(_q_point[_qp](0), 0.0))
48  return _disp_old_0[_qp] / _q_point[_qp](0);
49  else
50  return 0.0;
51 }
InputParameters validParams< ComputeAxisymmetricRZIncrementalStrain >()
InputParameters validParams< Compute2DIncrementalStrain >()
Real computeGradDispZZOld() override
Computes the old dUz/dz for axisymmetric problems, where .
std::vector< const VariableValue * > _disp
Real computeGradDispZZ() override
Computes the current dUz/dz for axisymmetric problems, where .
const VariableValue & _disp_old_0
the old value of the first component of the displacements vector
Compute2DIncrementalStrain defines a strain increment only for incremental strains in 2D geometries...
ComputeAxisymmetricRZIncrementalStrain(const InputParameters &parameters)