20 params.
addRequiredParam<UserObjectName>(
"map",
"DiscreteNucleationMap user object");
21 params.
addParam<
Real>(
"no_nucleus_value", 0.0,
"Variable value indicating no nucleus is present");
23 "nucleus_value", 1.0,
"Variable value indicating the presence of a nucleus");
30 _v0(getParam<
Real>(
"no_nucleus_value")),
31 _v1(getParam<
Real>(
"nucleus_value"))
34 paramError(
"variable",
"This kernel must operate on an elemental AuxVariable.");
Project the DiscreteNucleationMap onto an AuxVariable field.
This UserObject maintains a per QP map that indicates if a nucleus is present or not.
const DiscreteNucleationMap & _map
UserObject providing a map of currently active nuclei.
void precalculateValue() override
registerMooseObject("PhaseFieldApp", DiscreteNucleationAux)
static InputParameters validParams()
Real computeValue() override
const std::vector< Real > * _nucleus
nucleus data for the current element
void paramError(const std::string ¶m, Args... args) const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Elem *const & _current_elem
static InputParameters validParams()
DiscreteNucleationAux(const InputParameters ¶ms)
const std::vector< Real > & nuclei(const Elem *) const
const Real _v0
Bounds for the returned values.