20 "Term for inserting grain nuclei or phases in non-conserved order parameter fields");
21 params.
addRequiredParam<UserObjectName>(
"map",
"DiscreteNucleationMap user object");
22 params.
addParam<
Real>(
"no_nucleus_value", 0.0,
"Variable value indicating no nucleus is present");
24 "nucleus_value", 1.0,
"Variable value indicating the presence of a nucleus");
31 _v0(getParam<
Real>(
"no_nucleus_value")),
32 _v1(getParam<
Real>(
"nucleus_value"))
static InputParameters validParams()
This UserObject maintains a per QP map that indicates if a nucleus is present or not.
const std::vector< Real > * _nucleus
nucleus data for the current element
void precalculateResidual() override
const VariableTestValue & _test
static InputParameters validParams()
const DiscreteNucleationMap & _map
UserObject providing a map of currently active nuclei.
DiscreteNucleationForce(const InputParameters ¶ms)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
registerMooseObject("PhaseFieldApp", DiscreteNucleationForce)
Real computeQpResidual() override
const Real _v0
Bounds for the returned values.
const Elem *const & _current_elem
const std::vector< Real > & nuclei(const Elem *) const
Free energy penalty contribution to force the nucleation of subresolution particles.