#include <spheremodus.h>
SphereModus: Provides a modus for expanding matter calculations.
Matter is put in a sphere of radius R with uniform density; isotropic thermal momenta are typically used for initialization, although other initial momentum states are also included, see Bazow:2016oky and Tindall:2016try
To use this modus, choose
in the configuration file.
Options for SphereModus go in the "Modi"→"Sphere" section of the configuration:
The following configuration options are understood: Sphere
Definition at line 47 of file spheremodus.h.
Public Member Functions | |
SphereModus (Configuration modus_config, const ExperimentParameters ¶meters) | |
Constructor. More... | |
double | initial_conditions (Particles *particles, const ExperimentParameters ¶meters) |
Generates initial state of the particles in the system according to specified parameters: number of particles of each species, momentum and coordinate space distributions. More... | |
![]() | |
int | impose_boundary_conditions (Particles *, const OutputsList &={}) |
Enforces sensible positions for the particles. More... | |
int | total_N_number () const |
int | proj_N_number () const |
bool | cll_in_nucleus () const |
bool | is_collider () const |
double | impact_parameter () const |
double | velocity_projectile () const |
double | velocity_target () const |
FermiMotion | fermi_motion () const |
double | max_timestep (double) const |
double | length () const |
Grid< GridOptions::Normal > | create_grid (const Particles &particles, double min_cell_length, double timestep_duration, CellSizeStrategy strategy=CellSizeStrategy::Optimal) const |
Creates the Grid with normal boundary conditions. More... | |
Private Attributes | |
double | radius_ |
Sphere radius (in fm/c) More... | |
double | sphere_temperature_ |
Temperature for momentum distribution (in GeV) More... | |
const double | start_time_ = 0. |
Starting time for the Sphere. More... | |
const bool | use_thermal_ = false |
Whether to use a thermal initialization for all particles instead of specific numbers. More... | |
const double | mub_ |
Baryon chemical potential for thermal initialization; only used if use_thermal_ is true. More... | |
const double | mus_ |
Strange chemical potential for thermal initialization; only used if use_thermal_ is true. More... | |
const std::map< PdgCode, int > | init_multipl_ |
Particle multiplicities at initialization; required if use_thermal_ is false. More... | |
std::map< PdgCode, double > | average_multipl_ |
Average multiplicities in case of thermal initialization. More... | |
const SphereInitialCondition | init_distr_ |
Initialization scheme for momenta in the sphere; used for expanding metric setup. More... | |
const bool | insert_jet_ = false |
Whether to insert a single high energy particle at the center of the expanding sphere (0,0,0). More... | |
const PdgCode | jet_pdg_ |
Pdg of the particle to use as a jet; necessary if insert_jet_ is true, unused otherwise. More... | |
const double | jet_mom_ |
Initial momentum of the jet particle; only used if insert_jet_ is true. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &, const SphereModus &) |
Writes the initial state for the Sphere to the output stream. More... | |
|
explicit |
Constructor.
Takes all there is to take from the (truncated!) configuration object (only contains configuration for this modus).
[in] | modus_config | The configuration object that sets all initial conditions of the experiment. |
[in] | parameters | Unused, but necessary because of templated initialization |
Definition at line 159 of file spheremodus.cc.
double smash::SphereModus::initial_conditions | ( | Particles * | particles, |
const ExperimentParameters & | parameters | ||
) |
Generates initial state of the particles in the system according to specified parameters: number of particles of each species, momentum and coordinate space distributions.
Susbsequently makes the total 3-momentum 0.
[out] | particles | An empty list that gets filled up by this function |
[in] | parameters | The initialization parameters of the box |
Definition at line 203 of file spheremodus.cc.
|
private |
Sphere radius (in fm/c)
Definition at line 78 of file spheremodus.h.
|
private |
Temperature for momentum distribution (in GeV)
Definition at line 80 of file spheremodus.h.
|
private |
Starting time for the Sphere.
Definition at line 82 of file spheremodus.h.
|
private |
Whether to use a thermal initialization for all particles instead of specific numbers.
Definition at line 87 of file spheremodus.h.
|
private |
Baryon chemical potential for thermal initialization; only used if use_thermal_ is true.
Definition at line 92 of file spheremodus.h.
|
private |
Strange chemical potential for thermal initialization; only used if use_thermal_ is true.
Definition at line 97 of file spheremodus.h.
|
private |
Particle multiplicities at initialization; required if use_thermal_ is false.
Definition at line 102 of file spheremodus.h.
|
private |
Average multiplicities in case of thermal initialization.
Saved to avoid recalculating at every event
Definition at line 107 of file spheremodus.h.
|
private |
Initialization scheme for momenta in the sphere; used for expanding metric setup.
Definition at line 112 of file spheremodus.h.
|
private |
Whether to insert a single high energy particle at the center of the expanding sphere (0,0,0).
This particle will initially be moving along the x axis, outwards from the sphere.
Definition at line 118 of file spheremodus.h.
|
private |
Pdg of the particle to use as a jet; necessary if insert_jet_ is true, unused otherwise.
Definition at line 123 of file spheremodus.h.
|
private |
Initial momentum of the jet particle; only used if insert_jet_ is true.
Definition at line 127 of file spheremodus.h.