www.mooseframework.org
ADComputeAxisymmetricRZIncrementalStrain.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 template <ComputeStage compute_stage>
20 InputParameters
22 {
24  params.addClassDescription("Compute a strain increment and rotation increment for finite strains "
25  "under axisymmetric assumptions.");
26  return params;
27 }
28 
29 template <ComputeStage compute_stage>
31  const InputParameters & parameters)
32  : ADCompute2DIncrementalStrain<compute_stage>(parameters),
33  _disp_old_0(coupledValueOld("displacements", 0))
34 {
35 }
36 
37 template <ComputeStage compute_stage>
38 void
40 {
42 
43  if (getBlockCoordSystem() != Moose::COORD_RZ)
44  mooseError("The coordinate system must be set to RZ for Axisymmetric geometries.");
45 
46  if (_out_of_plane_direction != 2)
47  paramError("out_of_plane_direction",
48  "The out-of-plane direction for axisymmetric systems is currently restricted to z");
49 }
50 
51 template <ComputeStage compute_stage>
52 ADReal
54 {
55  if (!MooseUtils::absoluteFuzzyEqual(_q_point[_qp](0), 0.0))
56  return (*_disp[0])[_qp] / _q_point[_qp](0);
57  else
58  return 0.0;
59 }
60 
61 template <ComputeStage compute_stage>
62 Real
64 {
65  if (!MooseUtils::absoluteFuzzyEqual(_q_point[_qp](0), 0.0))
66  return _disp_old_0[_qp] / _q_point[_qp](0);
67  else
68  return 0.0;
69 }
ADCompute2DIncrementalStrain
ADCompute2DIncrementalStrain defines a strain increment only for incremental strains in 2D geometries...
Definition: ADCompute2DIncrementalStrain.h:21
ADComputeAxisymmetricRZIncrementalStrain::ADComputeAxisymmetricRZIncrementalStrain
ADComputeAxisymmetricRZIncrementalStrain(const InputParameters &parameters)
Definition: ADComputeAxisymmetricRZIncrementalStrain.C:30
defineADLegacyParams
defineADLegacyParams(ADComputeAxisymmetricRZIncrementalStrain)
ADComputeAxisymmetricRZIncrementalStrain
ADComputeAxisymmetricRZIncrementalStrain defines a strain increment only for incremental strains in a...
Definition: ADComputeAxisymmetricRZIncrementalStrain.h:15
ADComputeAxisymmetricRZIncrementalStrain.h
ADCompute2DIncrementalStrain::validParams
static InputParameters validParams()
Definition: ADCompute2DIncrementalStrain.C:18
registerADMooseObject
registerADMooseObject("TensorMechanicsApp", ADComputeAxisymmetricRZIncrementalStrain)
ADComputeIncrementalStrainBase::initialSetup
void initialSetup() override
Definition: ADComputeIncrementalStrainBase.C:41
ADComputeAxisymmetricRZIncrementalStrain::computeOutOfPlaneGradDisp
ADReal computeOutOfPlaneGradDisp() override
Computes the current out-of-plane component of the displacement gradient; as a virtual function,...
Definition: ADComputeAxisymmetricRZIncrementalStrain.C:53
ADComputeAxisymmetricRZIncrementalStrain::validParams
static InputParameters validParams()
Definition: ADComputeAxisymmetricRZIncrementalStrain.C:21
ADComputeAxisymmetricRZIncrementalStrain::computeOutOfPlaneGradDispOld
Real computeOutOfPlaneGradDispOld() override
Computes the old out-of-plane component of the displacement gradient; as a virtual function,...
Definition: ADComputeAxisymmetricRZIncrementalStrain.C:63
ADComputeAxisymmetricRZIncrementalStrain::initialSetup
void initialSetup() override
Definition: ADComputeAxisymmetricRZIncrementalStrain.C:39