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 
19 {
21  params.addClassDescription(
22  "Compute a strain increment for finite strains under axisymmetric assumptions.");
23  return params;
24 }
25 
27  const InputParameters & parameters)
28  : Compute2DFiniteStrain(parameters), _disp_old_0(coupledValueOld("displacements", 0))
29 {
30 }
31 
32 void
34 {
36 
38  mooseError("The coordinate system must be set to RZ for Axisymmetric geometries.");
39 
40  if (_out_of_plane_direction != 2)
41  paramError("out_of_plane_direction",
42  "The out-of-plane direction for axisymmetric systems is currently restricted to z");
43 }
44 
45 Real
47 {
49  return (*_disp[0])[_qp] / _q_point[_qp](0);
50  else
51  return 0.0;
52 }
53 
54 Real
56 {
58  return _disp_old_0[_qp] / _q_point[_qp](0);
59  else
60  return 0.0;
61 }
const MooseArray< Point > & _q_point
static InputParameters validParams()
ComputeAxisymmetricRZFiniteStrain defines a strain increment and rotation increment for finite strain...
bool absoluteFuzzyEqual(const T &var1, const T2 &var2, const T3 &tol=libMesh::TOLERANCE *libMesh::TOLERANCE)
Real computeOutOfPlaneGradDispOld() override
Computes the old out-of-plane component of the displacement gradient; as a virtual function...
ComputeAxisymmetricRZFiniteStrain(const InputParameters &parameters)
Moose::CoordinateSystemType getBlockCoordSystem()
Real computeOutOfPlaneGradDisp() override
Computes the current out-of-plane component of the displacement gradient; as a virtual function...
std::vector< const VariableValue * > _disp
Displacement variables.
const VariableValue & _disp_old_0
the old value of the first component of the displacements vector
void paramError(const std::string &param, Args... args) const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
registerMooseObject("SolidMechanicsApp", ComputeAxisymmetricRZFiniteStrain)
void mooseError(Args &&... args) const
void addClassDescription(const std::string &doc_string)
const unsigned int _out_of_plane_direction
Compute2DFiniteStrain defines a strain increment and a rotation increment for finite strains in 2D ge...