www.mooseframework.org
ComputeAxisymmetricRZIncrementalStrain.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 #include "Assembly.h"
12 #include "FEProblem.h"
13 #include "MooseMesh.h"
14 
16 
18 
19 InputParameters
21 {
22  InputParameters params = Compute2DIncrementalStrain::validParams();
23  params.addClassDescription("Compute a strain increment and rotation increment for small strains "
24  "under axisymmetric assumptions.");
25  return params;
26 }
27 
29  const InputParameters & parameters)
30  : Compute2DIncrementalStrain(parameters), _disp_old_0(coupledValueOld("displacements", 0))
31 {
32 }
33 
34 void
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 }
46 
47 Real
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 }
55 
56 Real
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 }
defineLegacyParams
defineLegacyParams(ComputeAxisymmetricRZIncrementalStrain)
ComputeAxisymmetricRZIncrementalStrain::validParams
static InputParameters validParams()
Definition: ComputeAxisymmetricRZIncrementalStrain.C:20
ComputeStrainBase::_disp
std::vector< const VariableValue * > _disp
Definition: ComputeStrainBase.h:41
ComputeAxisymmetricRZIncrementalStrain
ComputeAxisymmetricRZIncrementalStrain defines a strain increment only for incremental strains in an ...
Definition: ComputeAxisymmetricRZIncrementalStrain.h:24
ComputeAxisymmetricRZIncrementalStrain.h
ComputeAxisymmetricRZIncrementalStrain::computeOutOfPlaneGradDisp
Real computeOutOfPlaneGradDisp() override
Computes the current out-of-plane component of the displacement gradient; as a virtual function,...
Definition: ComputeAxisymmetricRZIncrementalStrain.C:48
registerMooseObject
registerMooseObject("TensorMechanicsApp", ComputeAxisymmetricRZIncrementalStrain)
ComputeAxisymmetricRZIncrementalStrain::_disp_old_0
const VariableValue & _disp_old_0
the old value of the first component of the displacements vector
Definition: ComputeAxisymmetricRZIncrementalStrain.h:39
Compute2DIncrementalStrain::_out_of_plane_direction
const unsigned int _out_of_plane_direction
Definition: Compute2DIncrementalStrain.h:57
ComputeIncrementalStrainBase::initialSetup
void initialSetup() override
Definition: ComputeIncrementalStrainBase.C:38
ComputeAxisymmetricRZIncrementalStrain::ComputeAxisymmetricRZIncrementalStrain
ComputeAxisymmetricRZIncrementalStrain(const InputParameters &parameters)
Definition: ComputeAxisymmetricRZIncrementalStrain.C:28
ComputeAxisymmetricRZIncrementalStrain::computeOutOfPlaneGradDispOld
Real computeOutOfPlaneGradDispOld() override
Computes the old out-of-plane component of the displacement gradient; as a virtual function,...
Definition: ComputeAxisymmetricRZIncrementalStrain.C:57
Compute2DIncrementalStrain::validParams
static InputParameters validParams()
Definition: Compute2DIncrementalStrain.C:17
ComputeAxisymmetricRZIncrementalStrain::initialSetup
void initialSetup() override
Definition: ComputeAxisymmetricRZIncrementalStrain.C:35
Compute2DIncrementalStrain
Compute2DIncrementalStrain defines a strain increment only for incremental strains in 2D geometries,...
Definition: Compute2DIncrementalStrain.h:26