PRISMS-PF Manual
Loading...
Searching...
No Matches
NucleationParameters Struct Reference

Struct that holds nucleation parameters. More...

#include <nucleation_parameters.h>

Public Member Functions

bool should_attempt_nucleation (unsigned int increment) const
 Return if the increment should be nucleationted.
 
void validate () const
 Postprocess and validate parameters.
 
void print_parameter_summary () const
 Print parameters to summary.log.
 
void set_nucleation_period (const unsigned int &_nucleation_period)
 Set the print nucleation period.
 
unsigned int get_nucleation_period () const
 Get the nucleation period.
 
void set_exclusion_distance (const double &_nucleus_exclusion_distance)
 Set the nucleus exclusion distance.
 
double get_exclusion_distance () const
 Get the nucleus exclusion distance.
 
void set_same_field_exclusion_distance (const double &exclusion_distance)
 Set the nucleus exclusion distance.
 
double get_same_field_exclusion_distance () const
 Get the nucleus exclusion distance.
 
void set_refinement_radius (const double &_refinement_radius)
 Set the refinement radius.
 
double get_refinement_radius () const
 Get the refinement radius.
 
void set_seeding_time (const double &_seeding_time)
 Set the seeding time.
 
double get_seeding_time () const
 Get the seeding time.
 
void set_seeding_increments (const unsigned int &_seeding_increments)
 Set the seeding increments.
 
unsigned int get_seeding_increments () const
 Get the seeding increments.
 
template<unsigned int dim>
bool check_active (const Nucleus< dim > &nucleus, const SimulationTimer &time_info) const
 Check if a nucleus is still active based on its seed time and increment. A nucleus is considered active if the current time or increment is within the greater of the seeding time or seeding increments. The exclusion distance and active refinement are only applied to active nuclei.
 
bool postprocessed_nucleation_rate_exists () const
 Whether a postprocessed nucleation rate exists.
 

Private Attributes

unsigned int nucleation_period = UINT_MAX
 
bool pp_nucleation_rate_exists = false
 
double nucleus_exclusion_distance = 0.0
 
double same_field_nucleus_exclusion_distance = 0.0
 
double refinement_radius = 0.0
 
double seeding_time = 0.0
 
unsigned int seeding_increments = 1
 

Detailed Description

Struct that holds nucleation parameters.

Member Function Documentation

◆ check_active()

template<unsigned int dim>
bool NucleationParameters::check_active ( const Nucleus< dim > &  nucleus,
const SimulationTimer time_info 
) const
inline

Check if a nucleus is still active based on its seed time and increment. A nucleus is considered active if the current time or increment is within the greater of the seeding time or seeding increments. The exclusion distance and active refinement are only applied to active nuclei.

◆ get_exclusion_distance()

double NucleationParameters::get_exclusion_distance ( ) const
inline

Get the nucleus exclusion distance.

◆ get_nucleation_period()

unsigned int NucleationParameters::get_nucleation_period ( ) const
inline

Get the nucleation period.

◆ get_refinement_radius()

double NucleationParameters::get_refinement_radius ( ) const
inline

Get the refinement radius.

◆ get_same_field_exclusion_distance()

double NucleationParameters::get_same_field_exclusion_distance ( ) const
inline

Get the nucleus exclusion distance.

◆ get_seeding_increments()

unsigned int NucleationParameters::get_seeding_increments ( ) const
inline

Get the seeding increments.

◆ get_seeding_time()

double NucleationParameters::get_seeding_time ( ) const
inline

Get the seeding time.

◆ postprocessed_nucleation_rate_exists()

bool NucleationParameters::postprocessed_nucleation_rate_exists ( ) const
inline

Whether a postprocessed nucleation rate exists.

◆ print_parameter_summary()

void NucleationParameters::print_parameter_summary ( ) const
inline

Print parameters to summary.log.

◆ set_exclusion_distance()

void NucleationParameters::set_exclusion_distance ( const double _nucleus_exclusion_distance)
inline

Set the nucleus exclusion distance.

◆ set_nucleation_period()

void NucleationParameters::set_nucleation_period ( const unsigned int _nucleation_period)
inline

Set the print nucleation period.

◆ set_refinement_radius()

void NucleationParameters::set_refinement_radius ( const double _refinement_radius)
inline

Set the refinement radius.

◆ set_same_field_exclusion_distance()

void NucleationParameters::set_same_field_exclusion_distance ( const double exclusion_distance)
inline

Set the nucleus exclusion distance.

◆ set_seeding_increments()

void NucleationParameters::set_seeding_increments ( const unsigned int _seeding_increments)
inline

Set the seeding increments.

◆ set_seeding_time()

void NucleationParameters::set_seeding_time ( const double _seeding_time)
inline

Set the seeding time.

◆ should_attempt_nucleation()

bool NucleationParameters::should_attempt_nucleation ( unsigned int  increment) const
inline

Return if the increment should be nucleationted.

◆ validate()

void NucleationParameters::validate ( ) const
inline

Postprocess and validate parameters.

Member Data Documentation

◆ nucleation_period

unsigned int NucleationParameters::nucleation_period = UINT_MAX
private

◆ nucleus_exclusion_distance

double NucleationParameters::nucleus_exclusion_distance = 0.0
private

◆ pp_nucleation_rate_exists

bool NucleationParameters::pp_nucleation_rate_exists = false
private

◆ refinement_radius

double NucleationParameters::refinement_radius = 0.0
private

◆ same_field_nucleus_exclusion_distance

double NucleationParameters::same_field_nucleus_exclusion_distance = 0.0
private

◆ seeding_increments

unsigned int NucleationParameters::seeding_increments = 1
private

◆ seeding_time

double NucleationParameters::seeding_time = 0.0
private

The documentation for this struct was generated from the following file: