|
| static bool | attempt_nucleation (const SolveContext< dim, degree, number > &solve_context, std::vector< Nucleus< dim > > &nuclei) |
| | Main nucleation function. Iterates over the domain and stochastically adds nuclei to the list.
|
| |
| static unsigned int | calculate_number_of_events (const double &rate, const double &delta_t, const double &volume, RNGEngine &rng) |
| | Samples the poisson distribution to calculate a number of events in a time-volume given a rate.
|
| |
| static bool | gather_exclude_broadcast_nuclei (std::list< Nucleus< dim > > &new_nuclei_list, std::vector< Nucleus< dim > > &global_nuclei, const UserInputParameters< dim > &user_inputs, const SimulationTimer &time_info) |
| | Gathers the potential new nuclei from each processor onto the root process, eliminates any nuclei that need be excluded, then updates and redistributes the global list to each process.
|
| |
| static void | mpi_gather_nuclei (std::vector< Nucleus< dim > > &local_nuclei) |
| | Gathers nuclei lists to root. Modifies.
|
| |
| static void | mpi_broadcast_nuclei (std::vector< Nucleus< dim > > &local_nuclei) |
| | Broadcasts nuclei lists from root. Modifies.
|
| |
template<unsigned int dim, unsigned int degree, typename number>
class NucleationManager< dim, degree, number >
The class handles the stochastic nucleation in PRISMS-PF.