18 params.
addClassDescription(
"Calculate eigenstrain-like contribution from the homogenization " 19 "strain used to satisfy the homogenization constraints.");
20 params.
addParam<std::string>(
"base_name",
"Material property base name");
22 "homogenization_constraint",
"The UserObject for defining the homogenization constraint");
23 params.
addParam<MaterialPropertyName>(
"homogenization_gradient_name",
24 "homogenization_gradient",
25 "Name of the constant gradient field");
27 "Scalar field defining the " 35 _base_name(isParamValid(
"base_name") ? getParam<
std::string>(
"base_name") +
"_" :
""),
37 _cmap(_constraint.getConstraintMap()),
38 _macro_gradient(coupledScalarValue(
"macro_gradient")),
39 _homogenization_contribution(
40 declareProperty<
RankTwoTensor>(_base_name +
"homogenization_gradient_name"))
48 unsigned int count = 0;
49 for (
auto && indices :
_cmap)
51 auto && [i,
j] = indices.first;
MaterialProperty< RankTwoTensor > & _homogenization_contribution
Unwrapped into a tensor.
const VariableValue & _macro_gradient
ScalarVariable with the field.
Computes ${V}(X_{ij}-{X}_{ij})dV$.
virtual void computeQpProperties() override
registerMooseObject("SolidMechanicsApp", ComputeHomogenizedLagrangianStrain)
static InputParameters validParams()
const Homogenization::ConstraintMap & _cmap
Constraint map.
ComputeHomogenizedLagrangianStrain(const InputParameters ¶meters)
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
static InputParameters validParams()
Calculate the tensor corresponding to homogenization gradient.