20 params.addClassDescription(
"Kernel for asymptotic expansion homogenization for elasticity");
21 params.addRequiredRangeCheckedParam<
unsigned int>(
"component",
22 "component >= 0 & component < 3",
23 "An integer corresponding to the direction "
24 "the variable this kernel acts in. (0 for x, "
26 MooseEnum column(
"xx yy zz yz xz xy");
27 params.addRequiredParam<MooseEnum>(
"column",
29 "The column of the material matrix this kernel acts in. "
30 "(xx, yy, zz, yz, xz, or xy)");
32 params.addParam<std::string>(
"base_name",
33 "Optional parameter that allows the user to define "
34 "multiple mechanics material systems on the same "
35 "block, i.e. for multiple phases");
41 const InputParameters & parameters)
44 _base_name(isParamValid(
"base_name") ? getParam<std::string>(
"base_name") +
"_" :
""),
45 _elasticity_tensor(getMaterialPropertyByName<
RankFourTensor>(_base_name +
"elasticity_tensor")),
46 _component(getParam<unsigned int>(
"component")),
47 _column(getParam<MooseEnum>(
"column")),
48 _k_index({{0, 1, 2, 1, 0, 0}}),
49 _l_index({{0, 1, 2, 2, 2, 1}}),
50 _k(_k_index[_column]),
60 for (
unsigned j = 0; j < 3; j++)