20 params.
addParam<FunctionName>(
"force_x", 0.0,
"The forcing function in x direction.");
21 params.
addParam<FunctionName>(
"force_y", 0.0,
"The forcing function in y direction.");
22 params.
addParam<FunctionName>(
"force_z", 0.0,
"The forcing function in z direction.");
24 "etas",
"var_name_base",
"op_num",
"Array of coupled order parameters");
26 params.
addParam<
Real>(
"k", 1.0,
"stiffness constant multiplier");
32 _force_x(getFunction(
"force_x")),
33 _force_y(getFunction(
"force_y")),
34 _force_z(getFunction(
"force_z")),
35 _c(coupledValue(
"c")),
36 _c_name(coupledName(
"c", 0)),
37 _k(getParam<
Real>(
"k")),
38 _op_num(coupledComponents(
40 _vals(coupledValues(
"etas")),
41 _vals_name(coupledNames(
"etas")),
43 _dFdc(isCoupledConstant(_c_name) ? nullptr
45 "force_density_ext", _c_name)),
49 for (
unsigned int i = 0; i <
_op_num; ++i)
52 &declarePropertyDerivative<std::vector<RealGradient>>(
"force_density_ext",
_vals_name[i]);
62 for (
unsigned int i = 0; i <
_op_num; ++i)
76 for (
unsigned int i = 0; i <
_op_num; ++i)
const MooseArray< Point > & _q_point
This Material calculates the force density acting on a particle/grain due to interaction between part...
virtual bool isCoupledConstant(const std::string &var_name) const
ExternalForceDensityMaterial(const InputParameters ¶meters)
static InputParameters validParams()
const std::vector< const VariableValue * > _vals
const VariableValue & _c
concentration field considered to be the density of particles
const Real _k
stiffness constant
std::vector< MaterialProperty< std::vector< RealGradient > > * > _dFdeta
static InputParameters validParams()
MaterialProperty< std::vector< RealGradient > > & _dF
force density material
virtual void computeQpProperties()
registerMooseObject("PhaseFieldApp", ExternalForceDensityMaterial)
MaterialProperty< std::vector< RealGradient > > * _dFdc
first order derivative of force density material w.r.t c
const std::vector< VariableName > _vals_name
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Function & _force_y
const Function & _force_z
const unsigned int _op_num
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
virtual Real value(Real t, const Point &p) const
const Function & _force_x