18 params.
addClassDescription(
"Computes an Eigenstrain and its derivatives that is a function of " 19 "multiple variables, where the prefactor is defined in a derivative " 27 _num_args(coupledComponents(
"args")),
28 _dprefactor(_num_args),
29 _d2prefactor(_num_args),
30 _delastic_strain(_num_args),
31 _d2elastic_strain(_num_args)
34 for (
unsigned int i = 0; i <
_num_args; ++i)
36 const VariableName & iname = coupledName(
"args", i);
37 _dprefactor[i] = &getMaterialPropertyDerivative<Real>(
"prefactor", iname);
39 &declarePropertyDerivative<RankTwoTensor>(_base_name +
"elastic_strain", iname);
46 const VariableName & jname = coupledName(
"args",
j);
47 _d2prefactor[i][
j] = &getMaterialPropertyDerivative<Real>(
"prefactor", iname, jname);
49 &declarePropertyDerivative<RankTwoTensor>(_base_name +
"elastic_strain", iname, jname);
60 for (
unsigned int i = 0; i <
_num_args; ++i)
static InputParameters validParams()
virtual void computeQpEigenstrain()
const unsigned int _num_args
number of variables the prefactor depends on
static InputParameters validParams()
virtual void computeQpEigenstrain() override
Compute the eigenstrain and store in _eigenstrain.
ComputeVariableEigenstrain(const InputParameters ¶meters)
std::vector< std::vector< MaterialProperty< RankTwoTensor > * > > _d2elastic_strain
second derivatives of the elastic strain w.r.t. to the args
std::vector< std::vector< const MaterialProperty< Real > * > > _d2prefactor
second derivatives of the prefactor w.r.t. to the args
std::vector< MaterialProperty< RankTwoTensor > * > _delastic_strain
first derivatives of the elastic strain w.r.t. to the args
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
std::vector< const MaterialProperty< Real > * > _dprefactor
first derivatives of the prefactor w.r.t. to the args
ComputeVariableEigenstrain computes an Eigenstrain that is a function of variables defined by a base ...
ComputeEigenstrain computes an Eigenstrain that is a function of a single variable defined by a base ...
registerMooseObject("SolidMechanicsApp", ComputeVariableEigenstrain)