7 #ifndef SRC_INCLUDE_SMASH_BOXMODUS_H_
8 #define SRC_INCLUDE_SMASH_BOXMODUS_H_
91 const OutputsList &output_list = {});
95 const Particles &particles,
double min_cell_length,
97 const bool include_unformed_particles,
108 include_unformed_particles,
121 const std::array<double, 3> origin = {0., 0., 0.};
122 const bool periodicity =
true;
123 return std::make_unique<GrandCanThermalizer>(conf, lat_size, origin,
129 return 0.5 * std::sqrt(
length_ *
length_ - max_transverse_distance_sqr);
BoxModus: Provides a modus for infinite matter calculations.
std::unique_ptr< GrandCanThermalizer > create_grandcan_thermalizer(Configuration &conf) const
Creates GrandCanThermalizer.
const std::optional< PdgCode > jet_pdg_
Optional PDG code of the particle to use as a jet.
double equilibration_time() const
double max_timestep(double max_transverse_distance_sqr) const
const double muq_
Charge chemical potential for thermal initialization; only used if use_thermal_ is true.
const double jet_mom_
Initial momentum of the jet particle; only used if insert_jet_ is true.
int impose_boundary_conditions(Particles *particles, const OutputsList &output_list={})
Enforces that all particles are inside the box at the beginning of an event.
BoxModus(Configuration modus_config, const ExperimentParameters ¶meters)
Constructor.
const bool use_thermal_
Whether to use a thermal initialization for all particles instead of specific numbers.
const double mub_
Baryon chemical potential for thermal initialization; only used if use_thermal_ is true.
Grid< GridOptions::PeriodicBoundaries > create_grid(const Particles &particles, double min_cell_length, double timestep_duration, CollisionCriterion crit, const bool include_unformed_particles, CellSizeStrategy strategy=CellSizeStrategy::Optimal) const
Creates the Grid with normal boundary conditions.
double initial_conditions(Particles *particles, const ExperimentParameters ¶meters)
Generates initial state of the particles in the system according to specified parameters: number of p...
const BoxInitialCondition initial_condition_
Initial momenta distribution: thermal or peaked momenta.
const std::map< PdgCode, int > init_multipl_
Particle multiplicities at initialization; required if use_thermal_ is false.
const bool account_for_resonance_widths_
In case of thermal initialization: true – account for resonance spectral functions,...
const double temperature_
Temperature of the Box in GeV.
const double mus_
Strange chemical potential for thermal initialization; only used if use_thermal_ is true.
std::map< PdgCode, double > average_multipl_
Average multiplicities in case of thermal initialization.
const double start_time_
Initial time of the box.
const double equilibration_time_
time after which output is written
const double length_
Length of the cube's edge in fm.
Interface to the SMASH configuration files.
Base class for Modus classes that provides default function implementations.
The Particles class abstracts the storage and manipulation of particles.
CollisionCriterion
Criteria used to check collisions.
@ Stochastic
Stochastic Criteiron.
BoxInitialCondition
Initial condition for a particle in a box.
friend std::ostream & operator<<(std::ostream &out, const BoxModus &m)
Console output on startup of box specific parameters; writes the initial state for the box to the out...
CellNumberLimitation
Identifies whether the number of cells should be limited.
@ ParticleNumber
Limit the number of cells to the number of particles.
@ None
No cell number limitation.
CellSizeStrategy
Indentifies the strategy of determining the cell size.
@ Optimal
Look for optimal cell size.
Helper structure for Experiment.