20 "Postprocessor for asymptotic expansion homogenization for elasticity");
39 params.
addParam<std::string>(
"base_name",
40 "Optional parameter that allows the user to define "
41 "multiple mechanics material systems on the same "
42 "block, i.e. for multiple phases");
46 "The column of the material matrix this kernel acts in. "
47 "(xx, yy, zz, yz, xz, or xy)");
50 "The row of the material matrix this kernel acts in. "
51 "(xx, yy, zz, yz, xz, or xy)");
58 _base_name(isParamValid(
"base_name") ? getParam<
std::string>(
"base_name") +
"_" :
""),
77 _elasticity_tensor(getMaterialPropertyByName<RankFourTensor>(_base_name +
"elasticity_tensor")),
78 _column(getParam<MooseEnum>(
"column")),
79 _row(getParam<MooseEnum>(
"row")),
80 _ik_index({{0, 1, 2, 1, 0, 0}}),
81 _jl_index({{0, 1, 2, 2, 2, 1}}),
84 _k(_ik_index[_column]),
85 _l(_jl_index[_column]),
132 for (
unsigned p = 0;
p < 3; ++
p)
133 for (
unsigned q = 0; q < 3; ++q)
registerMooseObject("SolidMechanicsApp", AsymptoticExpansionHomogenizationElasticConstants)
const std::vector< double > y
This postprocessor computes homogenized elastic constants.
virtual void initialize() override
virtual void execute() override
static InputParameters validParams()
virtual Real computeQpIntegral() override
virtual void threadJoin(const UserObject &y) override
const MaterialProperty< RankFourTensor > & _elasticity_tensor
virtual void finalize() override
const std::array< std::array< const VariableGradient *, 3 >, 6 > _grad
virtual Real getValue() const override
AsymptoticExpansionHomogenizationElasticConstants(const InputParameters ¶meters)
const unsigned int _column
const VariableGradient & _grad_zero
virtual const VariableGradient & coupledGradient(const std::string &var_name, unsigned int comp=0) const
static InputParameters validParams()
virtual Real computeIntegral()
const Real & _current_elem_volume
virtual unsigned int dimension() const
virtual MooseMesh & mesh()=0