Go to the documentation of this file.
12 #include "FEProblem.h"
13 #include "MooseMesh.h"
15 #include "libmesh/quadrature.h"
25 params.addClassDescription(
"Compute a strain increment and rotation increment for finite strains "
26 "in 1D spherical symmetry problems.");
40 const auto & subdomainIDs = _mesh.meshSubdomains();
41 for (
auto subdomainID : subdomainIDs)
42 if (_fe_problem.getCoordSystem(subdomainID) != Moose::COORD_RSPHERICAL)
43 mooseError(
"The coordinate system must be set to RSPHERICAL for 1D R spherical simulations.");
52 for (_qp = 0; _qp < _qrule->n_points(); ++_qp)
65 if (!MooseUtils::relativeFuzzyEqual(_q_point[_qp](0), 0.0))
67 A(1, 1) = (*
_disp[0])[_qp] / _q_point[_qp](0);
73 Fbar(2, 2) = Fbar(1, 1);
86 _Fhat[_qp] = A * Fbar.inverse();
87 _Fhat[_qp].addIa(1.0);
std::vector< const VariableValue * > _disp
registerMooseObject("TensorMechanicsApp", ComputeRSphericalFiniteStrain)
ComputeFiniteStrain defines a strain increment and rotation increment, for finite strains.
std::vector< const VariableGradient * > _grad_disp_old
std::vector< RankTwoTensor > _Fhat
defineLegacyParams(ComputeRSphericalFiniteStrain)
const VariableValue & _disp_old_0
the old value of the first component of the displacements vector
ComputeRSphericalFiniteStrain(const InputParameters ¶meters)
virtual void computeQpStrain()
MaterialProperty< RankTwoTensor > & _deformation_gradient
virtual void initialSetup()
void initialSetup() override
virtual void computeProperties()
Computes the current and old deformation gradients with the assumptions for 1D spherical symmetry geo...
static InputParameters validParams()
static InputParameters validParams()
std::vector< const VariableGradient * > _grad_disp
ComputeRSphericalFiniteStrain defines a strain increment and a rotation increment for finite strains ...