https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ComputeAxisymmetricRZIncrementalStrain.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 "Assembly.h"
12#include "FEProblem.h"
13#include "MooseMesh.h"
14
16
19{
21 params.addClassDescription("Compute a strain increment and rotation increment for small strains "
22 "under axisymmetric assumptions.");
23 return params;
24}
25
27 const InputParameters & parameters)
28 : Compute2DIncrementalStrain(parameters), _disp_old_0(coupledValueOld("displacements", 0))
29{
30}
31
32void
34{
36
37 if (getBlockCoordSystem() != Moose::COORD_RZ)
38 mooseError("The coordinate system must be set to RZ for Axisymmetric geometries.");
39
41 paramError("out_of_plane_direction",
42 "The out-of-plane direction for axisymmetric systems is currently restricted to z");
43}
44
45Real
47{
48 if (!MooseUtils::absoluteFuzzyEqual(_q_point[_qp](0), 0.0))
49 return (*_disp[0])[_qp] / _q_point[_qp](0);
50 else
51 return 0.0;
52}
53
54Real
56{
57 if (!MooseUtils::absoluteFuzzyEqual(_q_point[_qp](0), 0.0))
58 return _disp_old_0[_qp] / _q_point[_qp](0);
59 else
60 return 0.0;
61}
registerMooseObject("SolidMechanicsApp", ComputeAxisymmetricRZIncrementalStrain)
void mooseError(Args &&... args)
Compute2DIncrementalStrain defines a strain increment only for incremental strains in 2D geometries,...
static InputParameters validParams()
ComputeAxisymmetricRZIncrementalStrain defines a strain increment only for incremental strains in an ...
Real computeOutOfPlaneGradDispOld() override
Computes the old out-of-plane component of the displacement gradient; as a virtual function,...
const VariableValue & _disp_old_0
the old value of the first component of the displacements vector
ComputeAxisymmetricRZIncrementalStrain(const InputParameters &parameters)
Real computeOutOfPlaneGradDisp() override
Computes the current out-of-plane component of the displacement gradient; as a virtual function,...
std::vector< const VariableValue * > _disp
Displacement variables.
void addClassDescription(const std::string &doc_string)