#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 [6] and Tindall:2016try [52]
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... | |
| bool | is_sphere () const |
| double | radius () const |
Public Member Functions inherited from smash::ModusDefault | |
| int | impose_boundary_conditions (Particles *, const OutputsList &={}) |
| Enforces sensible positions for the particles. More... | |
| bool | is_collider () const |
| bool | is_box () const |
| bool | is_list () const |
| bool | is_sphere () const |
| double | sqrt_s_NN () const |
| double | impact_parameter () const |
| void | sample_impact () const |
| sample impact parameter for collider modus More... | |
| double | velocity_projectile () const |
| double | velocity_target () const |
| FermiMotion | fermi_motion () const |
| double | max_timestep (double) const |
| double | equilibration_time () const |
| double | length () const |
| double | radius () const |
| bool | calculation_frame_is_fixed_target () const |
| double | nuclei_passing_time () const |
| Get the passing time of the two nuclei in a collision. More... | |
| Grid< GridOptions::Normal > | 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. 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 double | muq_ |
| Charge chemical potential for thermal initialization; only used if use_thermal_ is true. More... | |
| const bool | account_for_resonance_widths_ |
| In case of thermal initialization: true – account for resonance spectral functions, while computing multiplicities and sampling masses, false – simply use pole masses. 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 double | radial_velocity_ |
| Wether to add a constant radial velocity profile to the momenta of the particles in the sphere. 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 &out, const SphereModus &m) |
| 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 168 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 239 of file spheremodus.cc.
|
inline |
Definition at line 77 of file spheremodus.h.
|
inline |
|
private |
Sphere radius (in fm/c)
Definition at line 83 of file spheremodus.h.
|
private |
Temperature for momentum distribution (in GeV)
Definition at line 85 of file spheremodus.h.
|
private |
Starting time for the Sphere.
Definition at line 87 of file spheremodus.h.
|
private |
Whether to use a thermal initialization for all particles instead of specific numbers.
Definition at line 92 of file spheremodus.h.
|
private |
Baryon chemical potential for thermal initialization; only used if use_thermal_ is true.
Definition at line 97 of file spheremodus.h.
|
private |
Strange chemical potential for thermal initialization; only used if use_thermal_ is true.
Definition at line 102 of file spheremodus.h.
|
private |
Charge chemical potential for thermal initialization; only used if use_thermal_ is true.
Definition at line 107 of file spheremodus.h.
|
private |
In case of thermal initialization: true – account for resonance spectral functions, while computing multiplicities and sampling masses, false – simply use pole masses.
Definition at line 113 of file spheremodus.h.
|
private |
Particle multiplicities at initialization; required if use_thermal_ is false.
Definition at line 118 of file spheremodus.h.
|
private |
Average multiplicities in case of thermal initialization.
Saved to avoid recalculating at every event
Definition at line 123 of file spheremodus.h.
|
private |
Initialization scheme for momenta in the sphere; used for expanding metric setup.
Definition at line 128 of file spheremodus.h.
|
private |
Wether to add a constant radial velocity profile to the momenta of the particles in the sphere.
The underlying velocity field has the form u = u_0 * r / R.
Definition at line 134 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 140 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 145 of file spheremodus.h.
|
private |
Initial momentum of the jet particle; only used if insert_jet_ is true.
Definition at line 149 of file spheremodus.h.