18 params.
addClassDescription(
"Kernel for asymptotic expansion homogenization for elasticity");
20 "component >= 0 & component < 3",
21 "An integer corresponding to the direction " 22 "the variable this kernel acts in. (0 for x, " 27 "The column of the material matrix this kernel acts in. " 28 "(xx, yy, zz, yz, xz, or xy)");
30 params.
addParam<std::string>(
"base_name",
31 "Optional parameter that allows the user to define " 32 "multiple mechanics material systems on the same " 33 "block, i.e. for multiple phases");
42 _base_name(isParamValid(
"base_name") ? getParam<
std::string>(
"base_name") +
"_" :
""),
43 _elasticity_tensor(getMaterialPropertyByName<
RankFourTensor>(_base_name +
"elasticity_tensor")),
44 _component(getParam<unsigned
int>(
"component")),
46 _k_index({{0, 1, 2, 1, 0, 0}}),
47 _l_index({{0, 1, 2, 2, 2, 1}}),
48 _k(_k_index[_column]),
58 for (
unsigned j = 0;
j < 3;
j++)
static InputParameters validParams()
static InputParameters validParams()
const unsigned int _component
An integer corresponding to the direction this kernel acts in.
AsymptoticExpansionHomogenizationKernel(const InputParameters ¶meters)
virtual Real computeQpResidual()
virtual const OutputTools< Real >::VariableValue & value()
registerMooseObject("SolidMechanicsApp", AsymptoticExpansionHomogenizationKernel)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const VariableTestGradient & _grad_test
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
const MaterialProperty< RankFourTensor > & _elasticity_tensor
void ErrorVector unsigned int