Version: SMASH-3.1
Projectile and target

Within the Collider section, two sections can be used for further customizations:

  • Projectile → Section for projectile nucleus. The projectile will start at \(z<0\) and fly in positive \(z\)-direction, at \(x\ge 0\).
  • Target → Section for target nucleus. The target will start at \(z>0\) and fly in negative \(z\)-direction, at \(x \le 0\).

All keys described here below can be specified in the Projectile and/or in the Target section. Examples are given after the keys description.


Diffusiveness — double, optional, default = \(d(A)\)

Diffusiveness of the Woods-Saxon distribution for the nucleus in fm. In general, the default value is

\[ d(A)=\begin{cases} 0.545 & A \le 16\\ 0.54 & A > 16 \end{cases}\;. \]

For copper, zirconium, ruthenium, xenon, gold, lead and uranium, a more specific default value is used (see nucleus.cc).


Particles — map<int,int>, required

A map in which the keys are PDG codes and the values are number of particles with that PDG code that should be in the current nucleus. For example:

  • {2212: 82, 2112: 126} → a lead-208 nucleus (82 protons and 126 neutrons = 208 nucleons)
  • {2212: 1, 2112: 1, 3122: 1} → for Hyper-Triton (one proton, one neutron and one \(\Lambda\)).

Radius — double, optional, default = \(r(A)\)

Radius of nucleus in fm. In general, the default value is

\[ r(A)=\begin{cases} 1.2 \, A^{1/3} & A \le 16\\ 1.12 \, A^{1/3} - 0.86 \, A^{-1/3} & A > 16 \end{cases}\;. \]

For copper, zirconium, ruthenium, xenon, gold, lead, and uranium, a more specific default value is used (see nucleus.cc).


Saturation_Density — double, optional, default = \(\int\rho(r)\:\mathrm{d}^3r=N_{nucleons}\)

Saturation density of the nucleus in 1/fm³. If not any value is specified, the saturation density is calculated such that the integral over the Woods-Saxon distribution returns the number of nucleons in the nucleus.


Possible incident energies given per beam

E_Kin — double, required

Set the kinetic energy in GeV per particle of the beam. This key, if used, must be present in both Projectile and Target section. This key can be omitted if the incident energy is specified in a different way.

E_Tot — double, required

Set the totat energy in GeV per particle of the beam. This key, if used, must be present in both Projectile and Target section. This key can be omitted if the incident energy is specified in a different way.

P_Lab — double, required

Set the momentum in GeV per particle of the beam. This key, if used, must be present in both Projectile and Target section. This key can be omitted if the incident energy is specified in a different way.

Note
If the beam specific kinetic energy or momentum is set using either of these keys, then it must be specified in the same way (not necessarily same value) for both beams. This is for example useful to simulate for p-Pb collisions at the LHC, where the centre-of-mass system does not correspond to the laboratory system (see example).

Custom nuclei

It is possible to further customize the projectile and/or target using the Custom section, which should then contain few required keys, if given.

File_Directory — string, required

The directory where the external list with the nucleon configurations is located. Make sure to use an absolute path!

File_Name — string, required

The file name of the external list with the nucleon configurations.


Deformed nuclei

It is possible to deform the projectile and/or target nuclei using the Deformed section, which should then contain some configuration, if given.

Automatic — bool, required

  • true → Set parameters of spherical deformation based on mass number of the nucleus. Currently the following deformed nuclei are implemented: Cu, Zr, Ru, Au, Pb, U, and Xe (see deformednucleus.cc). If set to true the other parameters should not be provided.
  • false → Manually set parameters of spherical deformation. This requires the additional specification of at least one among Beta_2, Beta_3, Beta_4, which follow Moller:1993ed [7] and Schenke:2019ruo [10]. These parameters enter the radius in the Wood-Saxon profile as follows,

    \[ R(\theta,\phi) = R_0 \cdot \biggl\{ 1+ \beta_2\,\Bigl[\cos\gamma\, Y_2^0(\theta,\phi) + \sqrt{2}\,\sin\gamma\,\Re\bigl(Y_2^2(\theta,\phi)\bigr)\Bigr]+ \beta_3^{\phantom{0}}\,Y_3^0(\theta,\phi)+ \beta_4^{\phantom{0}}\,Y_4^0(\theta,\phi) \biggr\} \]

    and are set to 0 if not specified.

Beta_2 — double, optional, default = 0.0

The deformation coefficient \(\beta_2\) for the spherical harmonic \(Y_2^0\) in \(R(\theta,\phi)\) above.

Beta_3 — double, optional, default = 0.0

The deformation coefficient \(\beta_3\) for the spherical harmonic \(Y_3^0\) in \(R(\theta,\phi)\) above.

Beta_4 — double, optional, default = 0.0

The deformation coefficient \(\beta_4\) for the spherical harmonic \(Y_4^0\) in \(R(\theta,\phi)\) above.

Gamma — double, optional, default = 0.0

The parameter describes triaxiality \(\gamma\) of the nucleus in \(R(\theta,\phi)\) above.

Defining orientation

In the Orientation section it is possible to specify the orientation of the nucleus by rotations which are performed about the axes of a coordinate system that is fixed with respect to the nucleus and whose axes are parallel to those of the computational frame before the first rotation. Note that the nucleus is first rotated by phi and then by theta.

Phi — double, optional, default = 0.0

The angle by which to rotate the nucleus about the z-axis.

Psi — double, optional, default = 0.0

The angle by which to rotate the nucleus about the rotated y-axis.

Random_Rotation — bool, optional, default = false

Whether the created nucleus object should be randomly rotated in space.

Theta — double, optional, default = π/2

The angle by which to rotate the nucleus about the rotated x-axis.


p-Pb collisions at the LHC

Note that SMASH performs its calculation in the centre-of-velocity and the particles are returned in the centre-of-mass frame. The particles therefore need to be boosted by the rapidity of the centre-of-mass (-0.465 for p-Pb at 5.02TeV).

Modi:
    Collider:
        Calculation_Frame: center of velocity
        Impact:
            Random_Reaction_Plane: True
            Range: [0, 8.5]
        Projectile:
            E_Tot: 1580
            Particles:
                2212: 82
                2112: 126
        Target:
            E_Tot: 4000
            Particles:
                2212: 1
                2112: 0

Configuring custom nuclei from external file

The following example illustrates how to configure a center-of-mass heavy-ion collision with nuclei generated from an external file. The nucleon positions are not sampled by SMASH but read in from an external file. The given path and name of the external file are made up and should be defined by the user according to the used file.

Modi:
    Collider:
        Projectile:
            Particles: {2212: 79, 2112: 118}
            Custom:
                File_Directory: "/home/username/custom_lists"
                File_Name: "Au197_custom.txt"
        Target:
            Particles: {2212: 79, 2112: 118}
            Custom:
                File_Directory: "/home/username/custom_lists"
                File_Name: "Au197_custom.txt"
        Sqrtsnn: 7.7

The Au197_custom.txt file should be formatted as follows:

0.20100624 0.11402423 -2.40964466 0 0
1.69072087 -3.21471918 1.06050693 0 1
-1.95791109 -3.51483782 2.47294656 1 1
0.43554894 4.35250733 0.13331011 1 0
...

It contains 5 columns (x, y, z, s, c). The first three columns specify the spatial cordinates in fm. The fourth column denotes the spin projection. The fifth contains the charge with 1 and 0 for protons and neutrons respectively. In the example given the first line defines a neutron and the second one a proton. Please make sure that your file contains as many particles as you specified in the configuration. For the example considered here, the file needs to contain 79 protons and 118 neutrons in the first 197 lines. And the same number in the following 197 lines. The read in nuclei are randomly rotated and recentered. Therefore you can run SMASH even if your file does not contain enough nuclei for the number of events you want to simulate as the missing nuclei are generated by rotation of the given configurations.

Note
SMASH is shipped with an example configuration file to set up a collision with externally generated nucleon positions. This requires a particle list to be read in. Both, the configuration file and the particle list, are located in the input/custom_nucleus folder at the top-level of SMASH codebase. To run SMASH with the provided example configuration and particle list, execute
   ./smash -i INPUT_DIR/custom_nucleus/config.yaml
where INPUT_DIR needs to be replaced by the path to the input directory at the top-level of SMASH codebase.

Configuring a deformed nucleus

To configure a fixed target heavy-ion collision with deformed nuclei, whose spherical deformation is explicitly declared, it can be done according to the following example. For explanatory (and not physics) reasons, the projectile's Woods-Saxon distribution is initialized automatically and its spherical deformation manually, while the target nucleus is configured just the opposite.

Modi:
    Collider:
        Projectile:
            Particles: {2212: 29, 2112: 34}
            Deformed:
                # Manually set deformation parameters
                Automatic: false
                Beta_2: 0.1
                Beta_3: 0.2
                Beta_4: 0.3
                Orientation:
                    Theta: 0.8
                    Phi: 0.02
                    Psi: 0.13
        Target:
            Particles: {2212: 29, 2112: 34}
            # manually set Woods-Saxon parameters
            Saturation_Density: 0.1968
            Diffusiveness: 0.8
            Radius: 2.0
            Deformed:
                # Automatically set deformation parameters
                Automatic: true
                Orientation:
                    # Randomly rotate nucleus
                    Random_Rotation: true
        E_kin: 1.2
        Calculation_Frame: "fixed target"