https://mooseframework.inl.gov
ADComputeAxisymmetricRZSmallStrain.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 "FEProblem.h"
12 #include "MooseMesh.h"
13 
15 
18 {
20  params.addClassDescription("Compute a small strain in an Axisymmetric geometry");
21  return params;
22 }
23 
25  const InputParameters & parameters)
26  : ADCompute2DSmallStrain(parameters)
27 {
28 }
29 
30 void
32 {
34 
36  mooseError("The coordinate system must be set to RZ for Axisymmetric geometries.");
37 
38  if (_out_of_plane_direction != 2)
39  paramError("out_of_plane_direction",
40  "The out-of-plane direction for axisymmetric systems is currently restricted to z");
41 }
42 
43 ADReal
45 {
47  return (*_disp[0])[_qp] / _q_point[_qp](0);
48  else
49  return 0.0;
50 }
const MooseArray< Point > & _q_point
bool absoluteFuzzyEqual(const T &var1, const T2 &var2, const T3 &tol=libMesh::TOLERANCE *libMesh::TOLERANCE)
ADCompute2DSmallStrain defines a strain tensor, assuming small strains, in 2D geometries / simulation...
Moose::CoordinateSystemType getBlockCoordSystem()
ADComputeAxisymmetricRZSmallStrain defines small strains in an Axisymmetric system.
DualNumber< Real, DNDerivativeType, true > ADReal
unsigned int _qp
static InputParameters validParams()
void paramError(const std::string &param, Args... args) const
ADComputeAxisymmetricRZSmallStrain(const InputParameters &parameters)
registerMooseObject("SolidMechanicsApp", ADComputeAxisymmetricRZSmallStrain)
void mooseError(Args &&... args) const
void addClassDescription(const std::string &doc_string)
const unsigned int _out_of_plane_direction
std::vector< const ADVariableValue * > _disp
Displacement variables.