Go to the documentation of this file.
18 InputParameters params = validParams<Material>();
19 params.addClassDescription(
"Calculating the force density acting on a grain");
20 params.addCoupledVar(
"etas",
"Array of coupled order parameters");
21 params.addCoupledVar(
"c",
"Concentration field");
22 params.addParam<Real>(
"ceq", 0.9816,
"Equilibrium density");
23 params.addParam<Real>(
"cgb", 0.25,
"Threshold Concentration for GB");
24 params.addParam<Real>(
"k", 100.0,
"stiffness constant");
29 : DerivativeMaterialInterface<Material>(parameters),
30 _c(coupledValue(
"c")),
31 _c_name(getVar(
"c", 0)->
name()),
32 _ceq(getParam<Real>(
"ceq")),
33 _cgb(getParam<Real>(
"cgb")),
34 _k(getParam<Real>(
"k")),
35 _op_num(coupledComponents(
40 _product_etas(_op_num),
41 _sum_grad_etas(_op_num),
42 _dF(declareProperty<std::vector<
RealGradient>>(
"force_density")),
43 _dFdc(declarePropertyDerivative<std::vector<
RealGradient>>(
"force_density", _c_name)),
47 for (
unsigned int i = 0; i <
_op_num; ++i)
49 _vals[i] = &coupledValue(
"etas", i);
62 for (
unsigned int i = 0; i <
_op_num; ++i)
65 for (
unsigned int j = 0; j <
_op_num; ++j)
75 for (
unsigned int i = 0; i <
_op_num; ++i)
78 for (
unsigned int j = 0; j <
_op_num; ++j)
80 for (
unsigned int k = 0; k <
_op_num; ++k)
std::vector< VariableName > _vals_name
registerMooseObject("PhaseFieldApp", ForceDensityMaterial)
This Material calculates the force density acting on a particle/grain due to interaction between part...
ForceDensityMaterial(const InputParameters ¶meters)
VectorValue< Real > RealGradient
Real _ceq
equilibrium density at the grain boundaries
std::vector< const VariableValue * > _vals
const VariableValue & _c
concentration field considered to be the density of particles
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()
std::vector< const VariableGradient * > _grad_vals
std::vector< Real > _product_etas
std::vector< RealGradient > _sum_grad_etas
Real _k
stiffness constant
Real _cgb
thresold value for identifying grain boundaries
InputParameters validParams< ForceDensityMaterial >()
MaterialProperty< std::vector< RealGradient > > & _dF
force density material