19 params.
addCoupledVar(
"etas",
"Array of coupled order parameters");
21 params.
addParam<Real>(
"ceq", 0.9816,
"Equilibrium density");
22 params.
addParam<Real>(
"cgb", 0.25,
"Threshold Concentration for GB");
23 params.
addParam<Real>(
"k", 100.0,
"stiffness constant");
29 _c(coupledValue(
"c")),
30 _c_name(coupledName(
"c", 0)),
31 _ceq(getParam<Real>(
"ceq")),
32 _cgb(getParam<Real>(
"cgb")),
33 _k(getParam<Real>(
"k")),
34 _op_num(coupledComponents(
36 _vals(coupledValues(
"etas")),
37 _grad_vals(coupledGradients(
"etas")),
38 _vals_name(coupledNames(
"etas")),
39 _product_etas(_op_num),
40 _sum_grad_etas(_op_num),
41 _dF(declareProperty<
std::vector<RealGradient>>(
"force_density")),
42 _dFdc(declarePropertyDerivative<
std::vector<RealGradient>>(
"force_density", _c_name)),
46 for (
unsigned int i = 0; i <
_op_num; ++i)
49 &declarePropertyDerivative<std::vector<Real>>(
"force_density",
_vals_name[i]);
58 for (
unsigned int i = 0; i <
_op_num; ++i)
61 for (
unsigned int j = 0; j <
_op_num; ++j)
71 for (
unsigned int i = 0; i <
_op_num; ++i)
75 for (
unsigned int j = 0; j <
_op_num; ++j)
77 for (
unsigned int k = 0; k <
_op_num; ++k)
registerMooseObject("PhaseFieldApp", ForceDensityMaterial)
This Material calculates the force density acting on a particle/grain due to interaction between part...
const VariableValue & _c
concentration field considered to be the density of particles
Real _cgb
thresold value for identifying grain boundaries
std::vector< RealGradient > _sum_grad_etas
Real _ceq
equilibrium density at the grain boundaries
static InputParameters validParams()
const std::vector< VariableName > _vals_name
MaterialProperty< std::vector< RealGradient > > & _dF
force density material
std::vector< Real > _product_etas
Real _k
stiffness constant
const std::vector< const VariableValue * > _vals
const std::vector< const VariableGradient * > _grad_vals
MaterialProperty< std::vector< RealGradient > > & _dFdc
first order derivative of force density material w.r.t c
std::vector< MaterialProperty< std::vector< Real > > * > _dFdgradeta
first order derivative of force density material w.r.t etas
virtual void computeQpProperties()
ForceDensityMaterial(const InputParameters ¶meters)
const unsigned int _op_num
virtual void resize(const std::size_t size) override final
static InputParameters validParams()