22 "Calculate stress divergence for a spherically symmetric 1D problem in polar coordinates.");
23 params.
set<
unsigned int>(
"component") = 0;
24 params.
set<
bool>(
"use_displaced_mesh") =
true;
33 mooseError(
"Invalid component for this 1D RSpherical problem.");
40 mooseError(
"The coordinate system in the Problem block must be set to RSPHERICAL for 1D "
41 "spherically symmetric geometries.");
47 return _grad_test[_i][_qp](0) *
_stress[_qp](0, 0) +
48 +(_test[_i][_qp] / _q_point[_qp](0)) *
_stress[_qp](1, 1) +
49 +(_test[_i][_qp] / _q_point[_qp](0)) *
_stress[_qp](2, 2);
61 for (
unsigned int i = 0; i <
_ndisp; ++i)
70 unsigned int libmesh_dbg_var(jvar))
72 mooseAssert(ivar == 0 && jvar == 0,
73 "Invalid component in Jacobian Calculation");
75 const Real test = _grad_test[_i][_qp](0);
76 const Real test_r1 = _test[_i][_qp] / _q_point[_qp](0);
79 const Real phi = _grad_phi[_j][_qp](0);
80 const Real phi_r1 = _phi[_j][_qp] / _q_point[_qp](0);
81 const Real phi_r2 = phi_r1;
84 const Real term2 = test *
_Jacobian_mult[_qp](0, 0, 1, 1) * phi_r1;
87 const Real term4 = test_r1 *
_Jacobian_mult[_qp](1, 1, 0, 0) * phi;
88 const Real term5 = test_r1 *
_Jacobian_mult[_qp](1, 1, 1, 1) * phi_r1;
89 const Real term6 = test_r1 *
_Jacobian_mult[_qp](1, 1, 2, 2) * phi_r2;
95 return term1 + 2 * (term2 + term4 + term5 + term6);
void mooseError(Args &&... args)
registerMooseObject("SolidMechanicsApp", StressDivergenceRSphericalTensors)
StressDivergenceRSphericalTensors is a modification of StressDivergenceTensors for 1D spherically sym...
Real calculateJacobian(unsigned int ivar, unsigned int jvar)
virtual Real computeQpJacobian() override
virtual Real computeQpResidual() override
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
virtual void initialSetup() override
StressDivergenceRSphericalTensors(const InputParameters ¶meters)
static InputParameters validParams()
StressDivergenceTensors mostly copies from StressDivergence.
std::vector< unsigned int > _disp_var
Displacement variables IDs.
const unsigned int _component
An integer corresponding to the direction this kernel acts in.
const MaterialProperty< RankTwoTensor > & _stress
The stress tensor that the divergence operator operates on.
const MaterialProperty< RankFourTensor > & _Jacobian_mult
static InputParameters validParams()
unsigned int _ndisp
Coupled displacement variables.