Line data Source code
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 : 10 : #include "ADComputeAxisymmetricRZSmallStrain.h" 11 : #include "FEProblem.h" 12 : #include "MooseMesh.h" 13 : 14 : registerMooseObject("SolidMechanicsApp", ADComputeAxisymmetricRZSmallStrain); 15 : 16 : InputParameters 17 168 : ADComputeAxisymmetricRZSmallStrain::validParams() 18 : { 19 168 : InputParameters params = ADCompute2DSmallStrain::validParams(); 20 168 : params.addClassDescription("Compute a small strain in an Axisymmetric geometry"); 21 168 : return params; 22 0 : } 23 : 24 126 : ADComputeAxisymmetricRZSmallStrain::ADComputeAxisymmetricRZSmallStrain( 25 126 : const InputParameters & parameters) 26 126 : : ADCompute2DSmallStrain(parameters) 27 : { 28 126 : } 29 : 30 : void 31 126 : ADComputeAxisymmetricRZSmallStrain::initialSetup() 32 : { 33 126 : ADCompute2DSmallStrain::initialSetup(); 34 : 35 126 : if (getBlockCoordSystem() != Moose::COORD_RZ) 36 0 : mooseError("The coordinate system must be set to RZ for Axisymmetric geometries."); 37 : 38 126 : if (_out_of_plane_direction != 2) 39 0 : paramError("out_of_plane_direction", 40 : "The out-of-plane direction for axisymmetric systems is currently restricted to z"); 41 126 : } 42 : 43 : ADReal 44 440112 : ADComputeAxisymmetricRZSmallStrain::computeOutOfPlaneStrain() 45 : { 46 440112 : if (!MooseUtils::absoluteFuzzyEqual(_q_point[_qp](0), 0.0)) 47 440112 : return (*_disp[0])[_qp] / _q_point[_qp](0); 48 : else 49 0 : return 0.0; 50 : }