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;
registerMooseObject("SolidMechanicsApp", ComputeHomogenizedLagrangianStrain)
Calculate the tensor corresponding to homogenization gradient.
virtual void computeQpProperties() override
MaterialProperty< RankTwoTensor > & _homogenization_contribution
Unwrapped into a tensor.
const VariableValue & _macro_gradient
ScalarVariable with the field.
ComputeHomogenizedLagrangianStrain(const InputParameters ¶meters)
static InputParameters validParams()
Interface for objects that use the homogenization constraint.
static InputParameters validParams()
const Homogenization::ConstraintMap & cmap() const
Get the constraint map.