19 "homogenization constraint Jacobian terms");
22 "The UserObject defining the homogenization constraint");
30 _macro_gradient_num(coupledScalar(
"macro_gradient")),
32 _cmap(_constraint.getConstraintMap())
41 prepareMatrixTag(_assembly, _var.number(), jvar,
_ken);
42 prepareMatrixTag(_assembly, jvar, _var.number(),
_kne);
44 for (_qp = 0; _qp < _qrule->n_points(); _qp++)
46 const Real dV = _JxW[_qp] * _coord[_qp];
48 for (
auto && [indices, constraint] :
_cmap)
50 auto && [i,
j] = indices;
51 auto && ctype = constraint.first;
52 for (_i = 0; _i < _test.size(); _i++)
72 mooseError(
"Unknown constraint type in kernel calculation!");
77 accumulateTaggedLocalMatrix(_assembly, _var.number(), jvar,
_ken);
78 accumulateTaggedLocalMatrix(_assembly, jvar, _var.number(),
_kne);
const unsigned int _alpha
Which component of the vector residual this kernel is responsible for.
static InputParameters validParams()
void mooseError(Args &&... args)
DenseMatrix< Number > _kne
Derivatives of jvar with respect to ivar.
static InputParameters validParams()
registerMooseObject("SolidMechanicsApp", HomogenizedTotalLagrangianStressDivergence)
Computes ${V}(X_{ij}-{X}_{ij})dV$.
virtual RankTwoTensor gradTest(unsigned int component) override
virtual void computeOffDiagJacobianScalar(unsigned int jvar) override
Homogenization constraint diagonal term.
const bool _large_kinematics
If true use large deformation kinematics.
DenseMatrix< Number > _ken
Derivatives of ivar with respect to jvar.
const Homogenization::ConstraintMap & _cmap
The constraint map.
Total Lagrangian formulation with cross-jacobian homogenization terms.
const MaterialProperty< RankFourTensor > & _dpk1
The derivative of the PK1 stress with respect to the deformation gradient.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Enforce equilibrium with a total Lagrangian formulation.
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
HomogenizedTotalLagrangianStressDivergence(const InputParameters ¶meters)
virtual RankTwoTensor gradTrial(unsigned int component) override
const unsigned int _macro_gradient_num
The scalar variable used to enforce the homogenization constraints.