#include <listmodus.h>
ListBox: Provides a modus for running the SMASH Box with an external particle list,.
To use this modus, choose Modus: ListBox
in the configuration file.
Options for ListBox go in the "Modi"→"ListBox" section of the configuration:
The ListBoxModus inherits all functionality from the ListModus. For more detailed configuring see List.
Since SMASH is searching for collisions in computational frame time 't', all particles need to be at the same time. If this is not the case in the list provided, the particles will be propagated backwards on straight lines ("anti-freestreaming"). To avoid unphysical interactions of these particles, the back-propagated particles receive a formation_time and zero cross_section_scaling_factor. The cross-sections are set to zero during the time, where the particle will just propagate on a straight line again to appear at the formation_time into the system.
Definition at line 260 of file listmodus.h.
Public Member Functions | |
ListBoxModus (Configuration modus_config, const ExperimentParameters ¶meters) | |
Constructor (This is the same as for the ListModus) More... | |
bool | is_box () const |
in the case of the ListBoxModus is_box has to be true More... | |
int | impose_boundary_conditions (Particles *particles, const OutputsList &output_list={}) |
Enforces that all particles are inside the box at the beginning of an event. More... | |
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. More... | |
Public Member Functions inherited from smash::ListModus | |
ListModus (Configuration modus_config, const ExperimentParameters ¶meters) | |
Constructor. More... | |
ListModus ()=default | |
Construct an empty list. More... | |
double | initial_conditions (Particles *particles, const ExperimentParameters ¶meters) |
Generates initial state of the particles in the system according to a list. More... | |
void | backpropagate_to_same_time (Particles &particles) |
Judge whether formation times are the same for all the particles; Don't do anti-freestreaming if all particles start already at the same time. More... | |
void | try_create_particle (Particles &particles, PdgCode pdgcode, double t, double x, double y, double z, double mass, double E, double px, double py, double pz) |
Tries to add a new particle to particles and performs consistency checks: (i) The PDG code is legal and exists in SMASH. More... | |
bool | is_list () 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... | |
std::unique_ptr< GrandCanThermalizer > | create_grandcan_thermalizer (Configuration &conf) const |
Creates GrandCanThermalizer. More... | |
Private Attributes | |
const double | length_ |
Length of the cube's edge in fm. More... | |
Additional Inherited Members | |
Protected Attributes inherited from smash::ListModus | |
double | start_time_ = 0. |
Starting time for the List; changed to the earliest formation time. More... | |
|
explicit |
Constructor (This is the same as for the ListModus)
Gathers all configuration variables for the List.
[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 274 of file listmodus.cc.
|
inline |
in the case of the ListBoxModus is_box has to be true
Definition at line 276 of file listmodus.h.
int smash::ListBoxModus::impose_boundary_conditions | ( | Particles * | particles, |
const OutputsList & | output_list = {} |
||
) |
Enforces that all particles are inside the box at the beginning of an event.
It checks if the particles were placed correctly inside the box at initialization and places them inside if they are not.
[in] | particles | particles to check their position and possibly move it |
[in] | output_list | output objects |
In BoxModus if a particle crosses the wall of the box, it is inserted from the opposite side. However these wall crossings are not performed by this function but in the Experiment constructor when the WallCrossActionsFinder are created. Wall crossings are written to collision output: this is where OutputsList is used.
Definition at line 294 of file listmodus.cc.
|
inline |
Creates the Grid with normal boundary conditions.
[in] | particles | The Particles object containing all particles of the currently running Experiment. |
[in] | min_cell_length | The minimal length of the grid cells. |
[in] | timestep_duration | Duration of the timestep. It is necessary for formation times treatment: if particle is fully or partially formed before the end of the timestep, it has to be on the grid. |
[in] | crit | Collision criterion (decides if cell number can be limited) |
[in] | include_unformed_particles | include unformed particles from the grid (worsens runtime, necessary for IC output) |
[in] | strategy | The strategy to determine the cell size |
Definition at line 283 of file listmodus.h.
|
private |
Length of the cube's edge in fm.
Definition at line 303 of file listmodus.h.