# DiscreteNucleationInserter

Manages the list of currently active nucleation sites and adds new sites according to a given probability function.

The inserter manages the global list of currently active nucleus stabilization sites. This user object takes two parameters * hold_time - the duration in time for which a stabilization site remains active * probability - a material property containing a nucleation rate density. This material property can be calculated using classical nucleation theory for example.

The inserter object keeps track if any changes to the nucleus list occurred in the current timestep.

The DiscreteNucleationInserter is part of the Discrete Nucleation system.

Input Parameters

  • hold_timeTime to keep each nucleus active

    C++ Type:double

    Description:Time to keep each nucleus active

  • probabilityProbability density for inserting a discrete nucleus

    C++ Type:MaterialPropertyName

    Description:Probability density for inserting a discrete nucleus

Required Parameters

  • testInsert a fixed nucleus at a point in the simulation cell

    C++ Type:libMesh::Point

    Description:Insert a fixed nucleus at a point in the simulation cell

  • execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.

    Default:TIMESTEP_END

    C++ Type:ExecFlagEnum

    Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.

  • blockThe list of block ids (SubdomainID) that this object will be applied

    C++ Type:std::vector

    Description:The list of block ids (SubdomainID) that this object will be applied

Optional Parameters

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Description:Set the enabled status of the MooseObject.

  • use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

    Default:False

    C++ Type:bool

    Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

    Default:False

    C++ Type:bool

    Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

  • seed0The seed for the master random number generator

    Default:0

    C++ Type:unsigned int

    Description:The seed for the master random number generator

  • implicitTrueDetermines whether this object is calculated using an implicit or explicit form

    Default:True

    C++ Type:bool

    Description:Determines whether this object is calculated using an implicit or explicit form

Advanced Parameters