www.mooseframework.org
ADComputeAxisymmetricRZFiniteStrain.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 {
23  InputParameters params = ADCompute2DFiniteStrain<compute_stage>::validParams();
24  params.addClassDescription(
25  "Compute a strain increment for finite strains under axisymmetric assumptions.");
26  return params;
27 }
28 
29 template <ComputeStage compute_stage>
31  const InputParameters & parameters)
32  : ADCompute2DFiniteStrain<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 }
ADComputeAxisymmetricRZFiniteStrain::validParams
static InputParameters validParams()
Definition: ADComputeAxisymmetricRZFiniteStrain.C:21
ADComputeAxisymmetricRZFiniteStrain.h
ADCompute2DFiniteStrain::validParams
static InputParameters validParams()
Definition: ADCompute2DFiniteStrain.C:18
ADComputeAxisymmetricRZFiniteStrain::initialSetup
void initialSetup() override
Definition: ADComputeAxisymmetricRZFiniteStrain.C:39
ADComputeAxisymmetricRZFiniteStrain::computeOutOfPlaneGradDisp
ADReal computeOutOfPlaneGradDisp() override
Computes the current out-of-plane component of the displacement gradient; as a virtual function,...
Definition: ADComputeAxisymmetricRZFiniteStrain.C:53
ADComputeAxisymmetricRZFiniteStrain::computeOutOfPlaneGradDispOld
Real computeOutOfPlaneGradDispOld() override
Computes the old out-of-plane component of the displacement gradient; as a virtual function,...
Definition: ADComputeAxisymmetricRZFiniteStrain.C:63
defineADLegacyParams
defineADLegacyParams(ADComputeAxisymmetricRZFiniteStrain)
ADComputeAxisymmetricRZFiniteStrain::ADComputeAxisymmetricRZFiniteStrain
ADComputeAxisymmetricRZFiniteStrain(const InputParameters &parameters)
Definition: ADComputeAxisymmetricRZFiniteStrain.C:30
registerADMooseObject
registerADMooseObject("TensorMechanicsApp", ADComputeAxisymmetricRZFiniteStrain)
ADCompute2DFiniteStrain
ADCompute2DFiniteStrain defines a strain increment and a rotation increment for finite strains in 2D ...
Definition: ADCompute2DFiniteStrain.h:21
ADComputeAxisymmetricRZFiniteStrain
ADComputeAxisymmetricRZFiniteStrain defines a strain increment and rotation increment for finite stra...
Definition: ADComputeAxisymmetricRZFiniteStrain.h:15
ADCompute2DFiniteStrain::initialSetup
void initialSetup() override
Definition: ADCompute2DFiniteStrain.C:39