Version: SMASH-3.1
Thermodynamics lattice output

The thermodynamics lattice output prints "smeared" thermodynamic quantities evaluated at the nodes of a Lattice, defined as defined in Lattice.

The calculated quantities can include: the Eckart density, the energy-momentum tensor in the lab and/or Landau frame, the Landau velocity and the electric/baryonic/strange currents. Which of these quantities are outputted needs to be specified in the config file. They will be calculated using one of the following density types: hadron, baryon, baryonic isospin, pion, or none.

A separate output file is printed for each quantity and each event.

It is possible to print the output in:

  • ASCII format (option "Lattice_ASCII")
  • Binary format (option "Lattice_Binary")

For example:

 Output:
   Output_Interval: 4.0
   Thermodynamics:
     Format: ["Lattice_ASCII","Lattice_Binary"]
     Type: "baryon"
     Quantities: ["rho_eckart", "tmn", "tmn_landau","landau_velocity","j_QBS"]

Please, note that the Thermodynamic output is not printed at the end of an event, even if the end time of the simulation is a multiple of Output_Interval (if this final output is important, just increase a little the parameter End_Time).

Output files Each file has a header and a payload. The content is the same both in Lattice_ASCII and Lattice_Binary formats, but, of course, the details are a bit different.

Header of the output files

  • version of the output (ASCII: fixed 2 digits float, Binary: double)
  • thermodynamic quantity (ASCII: string, Binary: int)
  • nx, ny, nz: cells of the lattice along x, y, z, respectively (set in: Lattice->Cell_Number, see Lattice) (3 ints)
  • x0, y0, z0: coordinates of the origin of the lattice (set in Lattice->Origin) (ASCII: 3 fixed 6 digits precision floats, Binary: 3 doubles)
  • dx, dy, dz: size of the lattice (set in Lattice->Sizes) (ASCII: 3 fixed 6 digits precision floats, Binary: 3 doubles)

In "Lattice_ASCII" the data entries are separated by 1 space and each line of the header starts with "#", followed by the description of the entry.

The numbers corresponding to the various thermodynamic quantities are: -0 EckartDensity -1 Tmn (energy momentum tensor in the lab frame) -2 TmnLandau (energy momentum tensor in Landau's frame) -3 LandauVelocity -4 j_QBS (electric charge, baryon and strangeness four currents) -99 Unknown quantity

Payload of the output files

All the data in the payload are represented as:

  • ASCII files: scientific format, 14 precision digits
  • Binary files: double type

In the case of the energy-momentum tensor, the data payload consists in the values of the quantity in the following order:

for (h=0;h<{number of timesteps};h++) {
output time
for (l=0;l<{number of components};l++) {
for (k=0;k<nz;k++) {
for (j=0;j<ny;j++) {
for (i=0;i<nx;i++) {
energy momentum tensor component T[l]
}
\newline (only in ASCII files)
}
}
}
}

(see SMASH documentation of the function tmn_index for more details about the components)

In the case of densities, the data payload consists in the values of the quantity in the following order:

for (h=0;h<{number of timesteps};h++) {
output time
for (k=0;k<nz;k++) {
for (j=0;j<ny;j++) {
for (i=0;i<nx;i++) {
density value
}
\newline (only in ASCII files)
}
}
}

In the case of Landau velocity the data payload consists in the values of the components Vx, Vy, Vz in the following order:

for (h=0;h<{number of timesteps};h++) {
output time
for (k=0;k<nz;k++) {
for (j=0;j<ny;j++) {
for (i=0;i<nx;i++) {
Vx Vy Vz (+ \newline in ASCII files)
}
}
}
}

In the case of the electric charge, baryon and strangeness currents jQ, jB and jS the data payload consists in the values of their components in following order:

for (h=0;h<{number of timesteps};h++) {
output time
for (k=0;k<nz;k++) {
for (j=0;j<ny;j++) {
for (i=0;i<nx;i++) {
jQ[0] jQ[1] jQ[2] jQ[3] jB[0] jB[1] jB[2] jB[3] jS[0] jS[1] jS[2] jS[3]
(+ \newline in ASCII files)
}
}
}
}

(see SMASH documentation of the function current_eckart for more details about the definition of the currents) Please, note that note that all currents are given in units of "number of charges"; multiply the electric current by the elementary charge \(\sqrt{4 \pi \alpha_{EM}} \) for charge units.

Please, have a look also at input_output_thermodynamics_ for additional information about the computation of the various Thermodynamics quantities.