www.mooseframework.org
ADComputeAxisymmetricRZSmallStrain.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 "FEProblem.h"
12 #include "MooseMesh.h"
13 
15 
17 
18 template <ComputeStage compute_stage>
19 InputParameters
21 {
22  InputParameters params = ADCompute2DSmallStrain<compute_stage>::validParams();
23  params.addClassDescription("Compute a small strain in an Axisymmetric geometry");
24  return params;
25 }
26 
27 template <ComputeStage compute_stage>
29  const InputParameters & parameters)
30  : ADCompute2DSmallStrain<compute_stage>(parameters)
31 {
32 }
33 
34 template <ComputeStage compute_stage>
35 void
37 {
39 
40  if (getBlockCoordSystem() != Moose::COORD_RZ)
41  mooseError("The coordinate system must be set to RZ for Axisymmetric geometries.");
42 
43  if (_out_of_plane_direction != 2)
44  paramError("out_of_plane_direction",
45  "The out-of-plane direction for axisymmetric systems is currently restricted to z");
46 }
47 
48 template <ComputeStage compute_stage>
49 ADReal
51 {
52  if (!MooseUtils::absoluteFuzzyEqual(_q_point[_qp](0), 0.0))
53  return (*_disp[0])[_qp] / _q_point[_qp](0);
54  else
55  return 0.0;
56 }
registerADMooseObject
registerADMooseObject("TensorMechanicsApp", ADComputeAxisymmetricRZSmallStrain)
ADCompute2DSmallStrain
ADCompute2DSmallStrain defines a strain tensor, assuming small strains, in 2D geometries / simulation...
Definition: ADCompute2DSmallStrain.h:20
ADComputeAxisymmetricRZSmallStrain::ADComputeAxisymmetricRZSmallStrain
ADComputeAxisymmetricRZSmallStrain(const InputParameters &parameters)
Definition: ADComputeAxisymmetricRZSmallStrain.C:28
ADComputeAxisymmetricRZSmallStrain.h
ADComputeAxisymmetricRZSmallStrain::initialSetup
virtual void initialSetup() override
Definition: ADComputeAxisymmetricRZSmallStrain.C:36
defineADLegacyParams
defineADLegacyParams(ADComputeAxisymmetricRZSmallStrain)
ADComputeAxisymmetricRZSmallStrain::computeOutOfPlaneStrain
virtual ADReal computeOutOfPlaneStrain() override
Definition: ADComputeAxisymmetricRZSmallStrain.C:50
ADCompute2DSmallStrain::initialSetup
void initialSetup() override
Definition: ADCompute2DSmallStrain.C:37
ADComputeAxisymmetricRZSmallStrain
ADComputeAxisymmetricRZSmallStrain defines small strains in an Axisymmetric system.
Definition: ADComputeAxisymmetricRZSmallStrain.h:15
ADComputeAxisymmetricRZSmallStrain::validParams
static InputParameters validParams()
Definition: ADComputeAxisymmetricRZSmallStrain.C:20
ADCompute2DSmallStrain::validParams
static InputParameters validParams()
Definition: ADCompute2DSmallStrain.C:18