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");
21 params.
addParam<MaterialPropertyName>(
"homogenization_gradient_name",
22 "homogenization_gradient",
23 "Name of the constant gradient field");
25 "Scalar field defining the " 33 _base_name(isParamValid(
"base_name") ? getParam<
std::string>(
"base_name") +
"_" :
""),
34 _macro_gradient(coupledScalarValue(
"macro_gradient")),
35 _homogenization_contribution(
36 declareProperty<
RankTwoTensor>(_base_name +
"homogenization_gradient_name"))
44 unsigned int count = 0;
45 for (
const auto & [indices, constraint] :
cmap())
47 const auto [i,
j] = indices;
MaterialProperty< RankTwoTensor > & _homogenization_contribution
Unwrapped into a tensor.
const VariableValue & _macro_gradient
ScalarVariable with the field.
virtual void computeQpProperties() override
registerMooseObject("SolidMechanicsApp", ComputeHomogenizedLagrangianStrain)
Interface for objects that use the homogenization constraint.
ComputeHomogenizedLagrangianStrain(const InputParameters ¶meters)
static InputParameters validParams()
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.
const Homogenization::ConstraintMap & cmap() const
Get the constraint map.