www.mooseframework.org
ComputeAxisymmetricRZFiniteStrain.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 = Compute2DFiniteStrain::validParams();
23  params.addClassDescription(
24  "Compute a strain increment for finite strains under axisymmetric assumptions.");
25  return params;
26 }
27 
29  const InputParameters & parameters)
30  : Compute2DFiniteStrain(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 }
ComputeAxisymmetricRZFiniteStrain::initialSetup
void initialSetup() override
Definition: ComputeAxisymmetricRZFiniteStrain.C:35
ComputeAxisymmetricRZFiniteStrain
ComputeAxisymmetricRZFiniteStrain defines a strain increment and rotation increment for finite strain...
Definition: ComputeAxisymmetricRZFiniteStrain.h:24
ComputeStrainBase::_disp
std::vector< const VariableValue * > _disp
Definition: ComputeStrainBase.h:41
Compute2DFiniteStrain
Compute2DFiniteStrain defines a strain increment and a rotation increment for finite strains in 2D ge...
Definition: Compute2DFiniteStrain.h:26
ComputeAxisymmetricRZFiniteStrain::computeOutOfPlaneGradDisp
Real computeOutOfPlaneGradDisp() override
Computes the current out-of-plane component of the displacement gradient; as a virtual function,...
Definition: ComputeAxisymmetricRZFiniteStrain.C:48
ComputeAxisymmetricRZFiniteStrain::_disp_old_0
const VariableValue & _disp_old_0
the old value of the first component of the displacements vector
Definition: ComputeAxisymmetricRZFiniteStrain.h:39
Compute2DFiniteStrain::initialSetup
void initialSetup() override
Definition: Compute2DFiniteStrain.C:36
ComputeAxisymmetricRZFiniteStrain::validParams
static InputParameters validParams()
Definition: ComputeAxisymmetricRZFiniteStrain.C:20
defineLegacyParams
defineLegacyParams(ComputeAxisymmetricRZFiniteStrain)
ComputeAxisymmetricRZFiniteStrain::ComputeAxisymmetricRZFiniteStrain
ComputeAxisymmetricRZFiniteStrain(const InputParameters &parameters)
Definition: ComputeAxisymmetricRZFiniteStrain.C:28
registerMooseObject
registerMooseObject("TensorMechanicsApp", ComputeAxisymmetricRZFiniteStrain)
ComputeAxisymmetricRZFiniteStrain::computeOutOfPlaneGradDispOld
Real computeOutOfPlaneGradDispOld() override
Computes the old out-of-plane component of the displacement gradient; as a virtual function,...
Definition: ComputeAxisymmetricRZFiniteStrain.C:57
Compute2DFiniteStrain::_out_of_plane_direction
const unsigned int _out_of_plane_direction
Definition: Compute2DFiniteStrain.h:52
ComputeAxisymmetricRZFiniteStrain.h
Compute2DFiniteStrain::validParams
static InputParameters validParams()
Definition: Compute2DFiniteStrain.C:17