15#include "libmesh/quadrature.h"
24 "Compute a strain increment for incremental strains in 1D spherical symmetry problems.");
39 const auto & subdomainIDs = _mesh.meshSubdomains();
40 for (
auto subdomainID : subdomainIDs)
42 mooseError(
"The coordinate system must be set to RSPHERICAL for 1D R spherical simulations.");
60 if (!MooseUtils::relativeFuzzyEqual(_q_point[_qp](0), 0.0))
62 A(1, 1) = (*
_disp[0])[_qp] / _q_point[_qp](0);
68 Fbar(2, 2) = Fbar(1, 1);
77 total_strain_increment = 0.5 * (
A +
A.transpose());
registerMooseObject("SolidMechanicsApp", ComputeRSphericalIncrementalStrain)
void mooseError(Args &&... args)
std::vector< const VariableGradient * > _grad_disp_old
MaterialProperty< RankTwoTensor > & _deformation_gradient
void initialSetup() override
ComputeIncrementalStrain defines a strain increment and rotation increment (=1), for small strains.
static InputParameters validParams()
ComputeRSphericalIncrementalStrain defines a strain increment only for small strains in 1D spherical ...
virtual void initialSetup() override
const VariableValue & _disp_old_0
the old value of the first component of the displacements vector
virtual void computeTotalStrainIncrement(RankTwoTensor &total_strain_increment) override
Computes the current and old deformation gradients with the assumptions for 1D spherical symmetry geo...
ComputeRSphericalIncrementalStrain(const InputParameters ¶meters)
static InputParameters validParams()
std::vector< const VariableGradient * > _grad_disp
Gradient of displacements.
std::vector< const VariableValue * > _disp
Displacement variables.