32 params.
addClassDescription(
"Calculate the scalar equation residual and Jacobian associated with " 33 "the homogenization constraint.");
35 "The UserObject defining the homogenization constraint");
44 _residual(_constraint.getResidual()),
45 _jacobian(_constraint.getJacobian()),
46 _cmap(_constraint.getConstraintMap())
49 mooseError(
"Homogenization kernel requires a variable of order ",
_cmap.size());
62 for (
auto && indices :
_cmap)
64 auto && [i,
j] = indices.first;
75 for (
auto && indices1 :
_cmap)
77 auto && [i,
j] = indices1.first;
79 for (
auto && indices2 :
_cmap)
81 auto && [
a,
b] = indices2.first;
const RankFourTensor & _jacobian
The actual tensor jacobian, from the user object.
const RankTwoTensor & _residual
The actual tensor residual, from the user object.
const Homogenization::ConstraintMap & _cmap
The constraint map.
void accumulateTaggedLocalResidual()
unsigned int number() const
MooseVariableScalar & _var
DenseMatrix< Number > _local_ke
Computes ${V}(X_{ij}-{X}_{ij})dV$.
virtual void computeJacobian()
Copies the on-diagonal Jacobian from the user object.
void accumulateTaggedLocalMatrix()
Enforces a cell-average constraint.
libMesh::Order order() const
registerMooseObject("SolidMechanicsApp", HomogenizationConstraintScalarKernel)
HomogenizationConstraintScalarKernel(const InputParameters ¶meters)
DenseVector< Number > _local_re
void mooseError(Args &&... args) const
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
void prepareVectorTag(Assembly &assembly, unsigned int ivar)
void prepareMatrixTag(Assembly &assembly, unsigned int ivar, unsigned int jvar)
static InputParameters validParams()
static InputParameters validParams()
virtual void computeResidual()
Copies the residual from the user object.