29 _nrots(coupledComponents(
"Cosserat_rotations")),
32 for (
unsigned i = 0; i <
_nrots; ++i)
33 _wc_var[i] = coupled(
"Cosserat_rotations", i);
const unsigned int _component
An integer corresponding to the direction this kernel acts in.
registerMooseObject("SolidMechanicsApp", CosseratStressDivergenceTensors)
static InputParameters validParams()
Computes grad_i(stress_{i component}) This is exactly the same as StressDivergenceTensors, only the Jacobian entries are correct for the Cosserat case.
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const MaterialProperty< RankFourTensor > & _Jacobian_mult
CosseratStressDivergenceTensors(const InputParameters ¶meters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
static const std::string v
static InputParameters validParams()
const unsigned int _nrots
Number of Cosserat rotation variables supplied by user.
std::vector< unsigned int > _wc_var
The MOOSE variable numbers of the Cosserat rotation variables.
StressDivergenceTensors mostly copies from StressDivergence.