|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
Super-droplets initialization structure. More...
#include <ERF_SDInitialization.H>


Public Member Functions | |
| virtual | ~SDInjection ()=default |
| void | updateDt (const amrex::Real a_dt) |
| Update time-dependent quantities for particle injection. More... | |
| void | readInputs (const std::string &, const std::string &, const amrex::Geometry &, const MatVec &, const MatVec &) override |
| void | readInputs (const std::string &a_prefix, const amrex::Geometry &a_geom, const MatVec &a_species_mat, const MatVec &a_aerosol_mat, const amrex::Real a_dt) |
| Read super-droplet injection parameters from input file. More... | |
| void | printParameters (const MatVec &, const MatVec &) const override |
| int | numSDPerCell (const amrex::Real a_dv) const override |
| Compute number of super-droplets to inject per grid cell. More... | |
| amrex::Real | numParticlesPerCell (const amrex::Real a_dv) const override |
Public Member Functions inherited from SDInitProperties | |
| virtual void | setDefaults (const amrex::Geometry &a_geom, const MatVec &a_species_mat, const MatVec &a_aerosol_mat) |
| Set default values for initialization parameters. More... | |
| void | getDistribution (amrex::Vector< amrex::Real > &a_mass, const int a_np, const amrex::Real a_density, const std::string &a_init_type, const amrex::Real a_mass_min, const amrex::Real a_mass_max, const amrex::Real a_mass_mean, const amrex::Real a_radius_min, const amrex::Real a_radius_max, const amrex::Real a_radius_mean, const amrex::Real a_radius_gstd, std::mt19937 &a_rng) const |
| Get a distribution with constant multiplicity. More... | |
| void | getDistribution (amrex::Vector< amrex::Real > &a_mass, amrex::Vector< amrex::Real > &a_mult, const amrex::Real a_dV, const int a_np, const amrex::Real a_density, const std::string &a_init_type, const amrex::Real a_mass_min, const amrex::Real a_mass_max, const amrex::Real a_mass_mean, const amrex::Real a_radius_min, const amrex::Real a_radius_max, const amrex::Real a_radius_mean, const amrex::Real a_radius_gstd, std::mt19937 &a_rng) const |
| Get a distribution with sampled multiplicity. More... | |
| void | getAerosolDistribution (amrex::Vector< amrex::Real > &a_mass, const int a_idx, const int a_np, const amrex::Real a_density, std::mt19937 &a_rng) const |
| Compute the aerosol mass distribution. More... | |
| void | getAerosolDistribution (amrex::Vector< amrex::Real > &a_mass, amrex::Vector< amrex::Real > &a_mult, amrex::Real a_dV, int a_idx, int a_np, amrex::Real a_density, std::mt19937 &a_rng) const |
| Compute the aerosol mass distribution with sampled multiplicity. More... | |
| void | getSpeciesDistribution (amrex::Vector< amrex::Real > &a_mass, const int a_idx, const int a_np, const amrex::Real a_density, std::mt19937 &a_rng) const |
| Compute the species mass distribution with constant multiplicity. More... | |
| void | getSpeciesDistribution (amrex::Vector< amrex::Real > &a_mass, amrex::Vector< amrex::Real > &a_mult, amrex::Real a_dV, int a_idx, int a_np, amrex::Real a_density, std::mt19937 &a_rng) const |
| Compute the species mass distribution with sampled multiplicity. More... | |
| bool | sampledMultiplicity () const |
| Determine whether multiplicity is sampled or constant. More... | |
| amrex::Real | volume () const |
| Calculate the volume of the particle domain. More... | |
Additional Inherited Members | |
Public Types inherited from SDInitProperties | |
| using | MatVec = std::vector< std::unique_ptr< MaterialProperties > > |
Super-droplets initialization structure.
|
virtualdefault |
Injection rate (number of physical particles per meter^3 second)
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Compute number of super-droplets to inject per grid cell.
Determines the number of super-droplets to inject based on either:
| [in] | a_dv | Volume of the grid cell |
Implements SDInitProperties.
|
overridevirtual |
print super-droplets injection parameters to screen
Reimplemented from SDInitProperties.

|
inlineoverridevirtual |
read super-droplets injection parameters
Reimplemented from SDInitProperties.
| void SDInjection::readInputs | ( | const std::string & | a_prefix, |
| const amrex::Geometry & | a_geom, | ||
| const MatVec & | a_species_mat, | ||
| const MatVec & | a_aerosol_mat, | ||
| const amrex::Real | a_dt | ||
| ) |
Read super-droplet injection parameters from input file.
This function reads injection-specific parameters like injection rate, timing parameters, and domain velocity.
| [in] | a_prefix | Prefix for parameter parser |
| [in] | a_geom | Simulation geometry information |
| [in] | a_species_mat | Vector of species material properties |
| [in] | a_aerosol_mat | Vector of aerosol material properties |
| [in] | a_dt | Current timestep size |

|
inline |
Update time-dependent quantities for particle injection.
This function updates:
| [in] | a_dt | Timestep size in seconds |
| amrex::Vector<amrex::Real> SDInjection::m_domain_vel = {0.0,0.0,0.0} |
Start time for injection
Referenced by updateDt().
| amrex::Real SDInjection::m_inj_rate = 0 |
Injection rate (number of SDs per meter^3 second)
| amrex::Real SDInjection::m_numdens_sd = -1 |
Injection domain velocity
Referenced by numSDPerCell(), and updateDt().
| amrex::Real SDInjection::m_sd_inj_rate = 0 |
Initial number density of super-droplets
Referenced by updateDt().
| amrex::Real SDInjection::m_tstart = 0.0 |
Stop time for injection
| amrex::Real SDInjection::m_tstop = 1.0e17 |