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

Struct that holds nucleation parameters. More...

#include <nucleation_parameters.h>

Inheritance diagram for NucleationParameters:
[legend]
Collaboration diagram for NucleationParameters:
[legend]

Public Member Functions

void assign (dealii::ParameterHandler &parameter_handler, unsigned int n_subsections=Numbers::default_subsections) override
 Assign the parameters from file.
 
void validate (const std::vector< FieldAttributes > &field_attributes, const std::vector< SolveBlock > &solve_blocks) const override
 Validate.
 
bool should_attempt_nucleation (unsigned int increment) const
 Whether a given increment should attempt nucleation.
 
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.
 
- Public Member Functions inherited from ParameterBase
 ParameterBase ()=default
 
virtual ~ParameterBase ()=default
 
 ParameterBase (const ParameterBase &)=default
 
 ParameterBase (ParameterBase &&)=default
 
ParameterBaseoperator= (const ParameterBase &)=default
 
ParameterBaseoperator= (ParameterBase &&)=default
 

Static Public Member Functions

static void declare (dealii::ParameterHandler &parameter_handler, unsigned int n_subsections=Numbers::default_subsections)
 Declare the parameters to be read from file.
 

Public 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

◆ assign()

void NucleationParameters::assign ( dealii::ParameterHandler & parameter_handler,
unsigned int n_subsections = Numbers::default_subsections )
overridevirtual

Assign the parameters from file.

Implements ParameterBase.

◆ check_active()

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

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.

◆ declare()

PRISMS_PF_BEGIN_NAMESPACE void NucleationParameters::declare ( dealii::ParameterHandler & parameter_handler,
unsigned int n_subsections = Numbers::default_subsections )
static

Declare the parameters to be read from file.

◆ should_attempt_nucleation()

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

Whether a given increment should attempt nucleation.

◆ validate()

void NucleationParameters::validate ( const std::vector< FieldAttributes > & field_attributes,
const std::vector< SolveBlock > & solve_blocks ) const
overridevirtual

Validate.

Implements ParameterBase.

Member Data Documentation

◆ nucleation_period

unsigned int NucleationParameters::nucleation_period = UINT_MAX

◆ nucleus_exclusion_distance

double NucleationParameters::nucleus_exclusion_distance = 0.0

◆ pp_nucleation_rate_exists

bool NucleationParameters::pp_nucleation_rate_exists = false

◆ refinement_radius

double NucleationParameters::refinement_radius = 0.0

◆ same_field_nucleus_exclusion_distance

double NucleationParameters::same_field_nucleus_exclusion_distance = 0.0

◆ seeding_increments

unsigned int NucleationParameters::seeding_increments = 1

◆ seeding_time

double NucleationParameters::seeding_time = 0.0

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