Using OSU (2+1 D viscous) and CCNU (3+1 D ideal) hydro profiles in transport models. 1. Hydro profiles: You do not need to run the hydro code yourself. We can prepare the hydro time evolution profiles for you so that we can make sure we are using the same hydro background. OSU hydro has two files called "JetCtl.dat" and "JetData.dat"; CCNU hydro has one file called "bulk3D.dat". To use them, download them and put their directory into the hydro-transport interface below. 2. Hydro-transport interface: OSU interface is originally written in Fortran, CCNU interface is originally written in C++. However, you can always call fortran functions in your C++ code or call C++ functions in your fortran code. A quick note on how to do that can be found on http://www.yolinux.com/TUTORIALS/LinuxTutorialMixingFortranAndC.html For your convenience, I have prepared two simple examples (taken from this webpage) in "test_link_cf", one for linking C++ functions into fortran main program and the other for linking fortran subroutines into C++ main function. Please test these two examples before moving on to the real hydro-transport interface since the necessary compiling flags or even ways of mixing different coding languages might be different on different machines. I have prepared hydro-transport interfaces for these two hydros for both C++ users and Fortran users. You may find them in either "OSU" or "CCNU" directory. To use the one you need, you may go to the corresponding directory and compile/test the codes first. In the main function (testF.f or testC.cpp), apart from necessary declaration of variables and functions, there are only two major functions. One reads in the hydro data file and the other converts your particle (t,x,y,z) into local hydro information like (T,e,s,vx,vy,vz). In OSU interface, these two functions look like setHydroFilesEZ(1,"JetData.dat",2,"JetCtl.dat",1000) readHydroInfoShanShan(t,x,y,z,e,s,temp,betax,betay,betaz,flag) And in CCNU interface, these two functions look like InitHydro("bulk3D.dat") GetTVtz(t,x,y,z,flag,temp,vx,vy,vz,frac) Note that both OSU and CCNU interfaces return a "flag", it's 0 if everything works well and it's non-zero if the particle space-time is outside the hydro grid. For OSU hydro, the critical temperature is around 165 MeV, above it is QGP phase and below it is considered as hadron phase. For CCNU hydro, they define two critical temperatures, above 220 MeV is QGP phase, below 184 MeV is hadron phase, and in between is a mix phase. Therefore, their interface also returns a variable called "frac" which denotes the the fraction of QGP. It's 1 above 220 MeV, 0 below 184 MeV, and between 0 and 1 between 184 and 220 MeV. 3. Combining hydro with your own transport codes: Step 1. Copy and paste necessary hydro-transport interface codes into your source code directory. For OSU, it's just "JetOutput-0.7.f". For CCNU, there are three files calld "inter.h", "read_data.cpp" and "read_data.h". Usually you don't need to modify these files at all. Step 2. Copy the two major functions mentioned above together with the necessary declarations of variables from "testF.f" or "testC.cpp" into your transport code: one at the beginning of your code to read in the hydro data file (with the correct directory) and the other at the place where you want to extract the local hydro information for a particular particle at a given space-time. Step 3. Compile/link your code and run your code as you usually do. Note: If you want to run OSU hydro by yourself, the lastest version of OSU hydro package can be found at https://github.com/chunshen1987/iEBE However, the format of its output hydro profiles is different from what I provide here. To link the new data file to your transport model, you need to use their new hydro-transport interface which can be found at https://github.com/chunshen1987/JetReader_h5 The usage is almost the same as what I provide here except that one needs to install hdf5 library and do some extra conversions between the t-z coordinate and tau-eta coordinate. Shanshan