Nucleation system in action on a FeCuNi system. Clockwise from top left: Copper concentration, nickel concentration, nucleation penalty energy density, bulk free energy density. (Click for animation)

The discrete nucleation system allows users to incorporate nucleation phenomena in phase field simulations. Due to the lack of thermal fluctuations (also see Langevin Noise) nucleation phenomena are not intrinsic to the phase field method. We introduce nucleation by artificially triggering and stabilizing the formation of nuclei through local modifications of the free energy density.

The comprises two user objects and a material class:

• DiscreteNucleationInserter - a user object that maintains a global list of currently active nucleus positions.
• DiscreteNucleationMap - a user object that maintains a smooth density map for nuclei locations (obtained from a DiscreteNucleationInserter).
• DiscreteNucleation - a material user object that calculates a local free energy penalty based on the difference of a set of given concentration variables and their target concentrations (using the data from the DiscreteNucleationMap).

## DiscreteNucleationInserter

Doxygen

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.

## DiscreteNucleationMap

Doxygen

The map objects builds a smooth map of nucleation sites in the simulation domain, expanding the point description from the DiscreteNucleationInserter to a description in which nucleation sites have a finite size and a smooth interface. This object takes three parameters radius - the radius of the area in which each nucleation site modifies the local free energy. This should be chosen sufficiently large to generate a stable precipitate, but small enough to minimize the influence on the phase field evolution periodic - a variable to take the periodicity information of the simulation domain * inserter - the DiscreteNucleationInserter object that maintains the nucleus list The map object only updates the map if during a timestep the nucleus list was changed.

## DiscreteNucleation

Doxygen

The nucleation material computes a local free energy density contribution...

F_{nuc} = \gamma\sum_i (c_i-c_{0,i})^2

• op_names - order parameters $$c_i$$$to utilize in the nucleation penalty energy calculation • op_values - corresponding order parameter target values $$c_{0,i}$$$
• map - the DiscreteNucleationMap user object that manages the nucleation site map
• penalty - the penalty factor $$\gamma$$\$
• penalty_mode - One of MATCH, MIN, MAX, determining whether to match the target concentration or take it as a minimum or maximum concentration target

# Discussion

The nucleation free energy penalty is added to the physical free energy contributions of the system using a DerivativeSumMaterial

# Example

An example input file is located at

moose/modules/phase_field/examples/nucleation/cahn_hilliard.i