21 params.
addParam<std::string>(
"base_name",
"Material property base name");
22 params.
addCoupledVar(
"args",
"Vector of variable arguments of the free energy function");
25 "Vector of displacement gradient variables (see " 26 "Modules/PhaseField/DisplacementGradients " 33 _base_name(isParamValid(
"base_name") ? getParam<
std::string>(
"base_name") +
"_" :
""),
34 _stress(getMaterialPropertyByName<
RankTwoTensor>(_base_name +
"stress")),
35 _elasticity_tensor(getMaterialPropertyByName<
RankFourTensor>(_base_name +
"elasticity_tensor")),
36 _strain(getMaterialPropertyByName<
RankTwoTensor>(_base_name +
"elastic_strain"))
45 for (
unsigned int i = 0; i <
_nargs; ++i)
47 _dstrain[i] = &getMaterialPropertyDerivativeByName<RankTwoTensor>(
_base_name +
"elastic_strain",
57 _d2strain[i][
j] = &getMaterialPropertyDerivativeByName<RankTwoTensor>(
68 validateCoupling<RankTwoTensor>(
_base_name +
"elastic_strain");
69 validateCoupling<RankFourTensor>(
_base_name +
"elasticity_tensor");
Material class to compute the elastic free energy and its derivatives.
virtual void initialSetup() override
const MaterialProperty< RankTwoTensor > & _stress
Stress tensor.
std::vector< std::vector< const MaterialProperty< RankTwoTensor > * > > _d2strain
const std::string _base_name
static InputParameters validParams()
std::vector< std::string > _arg_names
const MaterialProperty< RankFourTensor > & _elasticity_tensor
Elasticity tensor derivatives.
virtual Real computeF() override
registerMooseObject("PhaseFieldApp", ElasticEnergyMaterial)
ElasticEnergyMaterial(const InputParameters ¶meters)
virtual Real computeDF(unsigned int i_var) override
std::vector< const MaterialProperty< RankTwoTensor > * > _dstrain
const MaterialProperty< RankTwoTensor > & _strain
Strain and derivatives.
unsigned int argIndex(unsigned int i_var) const
std::vector< std::vector< const MaterialProperty< RankFourTensor > * > > _d2elasticity_tensor
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
std::vector< const MaterialProperty< RankFourTensor > * > _delasticity_tensor
virtual Real computeD2F(unsigned int i_var, unsigned int j_var) override
static InputParameters validParams()