Warning, /JETSCAPE/jail/vhlle/README.txt is written in an unsupported language. File is not indexed.
0001 *******************************************************************************
0002 * *
0003 * vHLLE : a 3D viscous hydrodynamic code *
0004 * by Iurii Karpenko *
0005 * For the detailed description please refer to: *
0006 * Comput. Phys. Commun. 185 (2014), 3016 [arXiv:1312.4160] *
0007 * *
0008 * This code can be freely used and redistributed, provided that this *
0009 * copyright appear in all the copies. If you decide to make modifications *
0010 * to the code, please contact the authors, especially if you plan to publish *
0011 * the results obtained with such modified code. Any publication of results *
0012 * obtained using this code must include the reference to: *
0013 * Comput. Phys. Commun. 185 (2014), 3016 [arXiv:1312.4160] *
0014 * *
0015 *******************************************************************************
0016
0017
0018 This package contains source code of vHLLE.
0019 To get familiar with the code please use 'cpc_final' branch.
0020
0021 The description below applies for the 'cpc_final' branch of the code.
0022
0023
0024 0. BRIEF DESCRIPTION OF THE PACKAGE
0025
0026 The package contains the following files:
0027 Makefile
0028 src/ : source subdirectory
0029 |- inc.h : predefined constants
0030 |- rmn.h, rmn.cpp : transformation procedures from conserved variables to
0031 | primitive variables and back
0032 |- cll.h, cll.cpp : Cell class which stores and manipulates the properties of
0033 | the individual hydro cell
0034 |- eos.h, eos.cpp : EoS class, equation of state information
0035 |- fld.h, fld.cpp : Fluid class, which contains fluid (3D array of fluid cells)
0036 | as a whole and performs auxiliary actions on a fluid
0037 |- ic.h, ic.cpp : initial conditions for fluid-dynamical evolution from
0038 | optical Glauber or Guber flow
0039 |- s95p.h, s95p.cpp: manages tabular initial conditions and EoS 's95' (for optional use)
0040 |- trancoeff.h, trancoeff.cpp : Trancoeff class containing transport
0041 | coefficients: (T-dependent) shear, bulk
0042 | viscosites and corresponding relaxation times
0043 |- hdo.h, hdo.cpp : Hydro class, which contains the algorithms of hydrodynamic solution
0044 \- main.cpp : main() function, initializes all the objects and calls ecolution
0045 loop, also takes care of reading the parameters of the
0046 simulation from parameter file
0047 params/ : subdirectory with parameter files, see their description below
0048 eos/Laine_nf3.dat : equation of state, latticeQCD inspired results
0049 from M. Laine and Y. Schroder, PRD 73, 085009
0050 ic/ : sample tabulated initial conditions, used for 3D run
0051 hydro_output/ : subdirectory containing hydrodynamic optput (generated by the
0052 code) and Gnuplot scripts to make some of the plots presented
0053 in the paper. See the description in Sect. II below.
0054
0055
0056 I. BUILDING vHLLE on Linux
0057
0058 1) The following software must be installed in order to compile the code:
0059 make, g++, binutils, ROOT
0060
0061 To install those packages,
0062 -> on Ubuntu 11.x - 14.x run:
0063 sudo apt-get install make g++ binutils root-system
0064 -> on Fedora 18 and above run:
0065 sudo yum install make gcc binutils root
0066
0067 The latest version of the ROOT package is also available at http://root.cern.ch/
0068
0069 Optionally, to run Gluplot scripts provided in the program package one has to
0070 install Gnuplot and awk (gawk).
0071
0072 2) Unpack the code:
0073 mkdir vHLLE
0074 tar xzf vHLLE.tar.gz -C vHLLE
0075 cd vHLLE
0076
0077 3) make the code:
0078 make
0079
0080
0081 II. RUNNING vHLLE
0082
0083 1. to run the code, type
0084 ./hlle_visc <parameter-file>
0085
0086 Sample parameter files are located in "params" subdirectory. They cover several
0087 of the presented results:
0088
0089 1) comparison to VISH2+1 code in Section 4.3 ("Matter expansion in heavy ion
0090 collisions"). The corresponding parameter files are:
0091 params/song2DCPC.*
0092 The filename suffixes correspond to:
0093 b0 = impact parameter 0 fm
0094 b7 = impact parameter 7 fm
0095 etas008 = viscous hydro simulation with eta/s=0.08
0096 ideal = ideal hydro simulation
0097
0098 In order to reproduce the comparison plots (Figures 9, 10) one should run the
0099 code with all 4 input files. This will create subdirectories "song2D.*" with
0100 hydrodynamic output for each parameter set. Then Gunplot scripts hydro_output/*.plot
0101 will read and parse the hydrodynamic output and draw the corresponding plots.
0102 Then run Gnuplot with "hydro_output" as working directory, and load one of the
0103 scripts in Gnuplot prompt:
0104
0105 cd hydro_output
0106 gnuplot
0107 gnuplot> load 'radFlow.plot' # which creates "vradSong.eps" postscript containing Figure 9,
0108 gnuplot> load 'epsilonp.plot' # which creates "epsilonpSong.eps" postscript containing Figure 10
0109
0110 2)numerical solution for ideal Gubser flow (end of Section 4.1).
0111 The corresponding parameter file is:
0112 params/gubserCPC
0113
0114 To produce the plots run Gnuplot with "hydro_output" as working directory. In Gnuplot prompt, type:
0115 gnuplot> load 'gubser.plot'
0116 which creates "gubserEps.eps" and "gubserVx.eps", which are Figures 5 and 6,
0117 respectively.
0118
0119 3)3D hydro simulation described in Section 4.4 ("Energy conservation").
0120 The corresponding parameter file is:
0121 params/3DCPC
0122
0123 Note that this simulation uses full 3D grid. With the parameters provided, the
0124 program consumes about 1900 Mbytes of RAM. Therefore please make sure that the
0125 host machine has enough RAM to run this simulation.
0126
0127 The purpose of this simulation is to check the energy/entropy conservation
0128 during 3D hydrodynamic expansion of a closed system. The corresponding results
0129 are presented in Table 1 of the paper. To reproduce the results, please watch
0130 the console output of the program, which contains total energy and total entropy
0131 after each timestep.
0132 Note that by default the code uses the equation of state 'p=epsilon/3'.
0133 To reproduce the numbers in the middle column of the Table 1 corresponding to
0134 'Laine' EoS, please recompile the code with 'EXTRA_FLAGS = -D TABLE' in Makefile.
0135 The typical console output of the program is the following:
0136
0137 -----
0138 .....
0139 step= 0 dtau= 0.05
0140
0141 calcTotals: E = 1402.31 Efull = 1402.33
0142 Px = 0 S = 6869.23
0143 .....
0144 ------
0145 where
0146 E : total energy of the system [GeV], computed from ideal part of the
0147 energy-momentum system only,
0148 Efull : total energy of system including viscous terms in energy-momentum tensor,
0149 Px : x-component of the total momentum
0150 S : total enrgopy including viscous terms
0151
0152
0153 III. STRUCTURE OF THE OUTPUT FILES
0154
0155 Each hydrodynamic simulation records its results in a separate directory, which
0156 is specified by the value of 'outputDir' parameter in the corresponding parameter
0157 file. Below we denote the cells used for the output as cell(ix,iy,iz), where
0158 ix=[0...nx-1] is x-coordinate of cell on 3D grid
0159 iy=[0...ny-1] is y-coordinate of cell on 3D grid
0160 iz=[0...nz-1] is z-coordinate of cell on 3D grid
0161
0162 As a result of the simulation the output directory contains the following files:
0163 outx.dat : distributions in cells along X direction at every timestep.
0164 The cells used are cell(ix,ny/2,nz/2), ix=0...nx-1
0165 outy.dat : distributions in cells along Y direction at every timestep.
0166 The cells used are cell(nx/2,iy,nz/2), iy=0...ny-1
0167 outz.dat : distributions in cells along Z direction at every timestep.
0168 The cells used are cell(nx/2,ny/2,iz), iz=0...nz-1
0169 outdiag.dat : distributions in cells along diagonal direction in XY plane
0170 at every timestep. The cells used are cell(ix,ix,iz), ix=0...nx-1
0171 Works reliabaly if nx=ny
0172 out.aniz.dat: grid-integrated quantities $\epsilon_p$, $\epsilon_p'$
0173 (see Subsection 4.3 "Matter expansion in ...")
0174
0175 The format of the columns in the output files is:
0176
0177 outx.dat:
0178 t x vx vy eps nb T mub [pi*10] Pi cut_flag
0179
0180 outy.dat:
0181 t y vy vx eps nb T mub [pi*10] Pi cut_flag
0182
0183 outz.dat:
0184 t z vz vx eps nb T mub [pi*10] Pi cut_flag
0185
0186 outdiag.dat:
0187 t sqrt(x*x+y*y) vx vy eps nb T mub [pi*10] Pi cut_flag
0188
0189 out.aniz.dat:
0190 t <vt> <epsilon_p> <epsilon_p'>
0191
0192 where
0193 t : proper time [fm/c]
0194 x : x coordinate [fm]
0195 y : y coordinate [fm]
0196 z : rapidity
0197 vx : x-component of 3-velocity
0198 vy : x-component of 3-velocity
0199 vz : longitudinal flow rapifity
0200 eps : energy density in fluid rest frame [GeV/fm^3]
0201 nb : baryon density in fluid rest frame [1/fm^3]
0202 T : temperature [GeV]
0203 mub : baryon chemical potential [GeV]
0204 [pi*10] : $\pi^{mu\nu}$ components: $\pi^{\tau\tau}$, $\pi^{\tau x}$,
0205 $\pi^{\tau y}$, $\pi^{\tau\eta}$, $\pi^{xx}$, $\pi^{xy}$, $\pi^{x\eta}$,
0206 $\pi^{yy}$, $\pi^{y\eta}$, $\pi^{\eta\eta}$. All the components
0207 correspond to $\tilde{\pi^{\mu\nu}}$, see Section 2. Unirs are [GeV/fm^3]
0208 Pi : bulk pressure [GeV/fm^3]
0209 cut_flag : viscous corrections are cut by cut_flag factor in the cell
0210 (not cut if cut_flag = 1.0)