20 "Name of stress based chemical potential");
21 params.
addRequiredParam<MaterialPropertyName>(
"stress_name",
"Name of stress property variable");
23 "Name of direction tensor variable");
24 params.
addRequiredParam<MaterialPropertyName>(
"prefactor_name",
"Name of prefactor variable");
31 _chemical_potential(declareProperty<
Real>(getParam<MaterialPropertyName>(
"property_name"))),
32 _stress_old(getMaterialPropertyOld<
RankTwoTensor>(
"stress_name")),
33 _direction_tensor(getMaterialProperty<
RealTensorValue>(
"direction_tensor_name")),
34 _prefactor(getMaterialProperty<
Real>(
"prefactor_name")),
35 _has_coupled_c(isCoupled(
"c") && !isCoupledConstant(
"c"))
40 getParam<MaterialPropertyName>(
"property_name"),
coupledName(
"c", 0));
51 (*_dchemical_potential)[
_qp] = 0.0;
62 (*_dchemical_potential)[
_qp] =
63 -
_stress_old[
_qp].doubleContraction(direction_tensor_rank_two) * (*_dprefactor_dc)[
_qp];
const MaterialProperty< Real > * _dprefactor_dc
MaterialProperty< Real > * _dchemical_potential
StressBasedChemicalPotential(const InputParameters ¶meters)
VariableName coupledName(const std::string &var_name, unsigned int comp=0) const
virtual void computeQpProperties()
TensorValue< Real > RealTensorValue
static InputParameters validParams()
const MaterialProperty< RealTensorValue > & _direction_tensor
const MaterialProperty< RankTwoTensor > & _stress_old
The old stress tensor.
MaterialProperty< Real > & _chemical_potential
registerMooseObject("SolidMechanicsApp", StressBasedChemicalPotential)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
const MaterialProperty< Real > & _prefactor
StressBasedChemicalPotential computes chemical potential based on stress and a direction tensor Fores...
virtual void initQpStatefulProperties()