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)
const std::array< std::array< const VariableGradient *, 3 >, 6 > _grad
virtual MooseMesh & mesh()=0
registerMooseObject("SolidMechanicsApp", AsymptoticExpansionHomogenizationElasticConstants)
const MaterialProperty< RankFourTensor > & _elasticity_tensor
virtual Real getValue() const override
const VariableGradient & _grad_zero
const unsigned int _column
virtual void threadJoin(const UserObject &y) override
const std::vector< double > y
AsymptoticExpansionHomogenizationElasticConstants(const InputParameters ¶meters)
const Real & _current_elem_volume
virtual const VariableGradient & coupledGradient(const std::string &var_name, unsigned int comp=0) const
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
static InputParameters validParams()
virtual unsigned int dimension() const
static InputParameters validParams()
virtual void initialize() override
This postprocessor computes homogenized elastic constants.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeIntegral()
virtual void execute() override
virtual Real computeQpIntegral() override
virtual void finalize() override