-
Notifications
You must be signed in to change notification settings - Fork 3
Linear kinetic theory propagator for initial conditions of heavy ion collisions
License
KMPST/KoMPoST
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
#/* # * Copyright (c) 2018, Aleksi Kurkela, Aleksas Mazeliauskas, Jean-Francois # * Paquet, Soeren Schlichting and Derek Teaney # * All rights reserved. # * # * KoMPoST is distributed under MIT license; # * see the LICENSE file that should be present in the root # * of the source distribution, or alternately available at: # * https://github.com/KMPST/KoMPoST/ # */ # KoMPoST -- simple kinetic propagator of heavy ion initial conditions # COMPILATION (gsl v2.0 or higher is needed): make # RUNING KOMPOST: ./KoMPoST.exe setup.ini # where setup.ini specifies the input file and other parameters # HOW KOMPOST WORKS: 1) First input parameters are parsed from ini file and stored in namespaces described in /src/EventInput.h. See /src/Main.cpp 2) Then the input energy momentum tensor is read in from the file specified in the setup.ini file. The read-in is done by EnergyMomentumTensorMapLoad(Tmunu_In, InputFile); function which should be user provided. See src/EnergyMomentumTensorIO_music.inc for an example implementation. // File format // // for iy in Ns: // for ix in Ns: // 1:ix 2:iy // 3:T^{tautau} 4:T^{xx} 5:T^{yy} 6:tau^2 T^{etaeta} // 7:-T^{tau x} 8:-T^{tauy} 9:-tau T^{taueta} // 10:-T^{xy} 11:-tau T^{yeta} 12:-tau T^{etax} // // where ix and iy are cell indecies with grid parameters given by EventInput // with grid spacing afm in [fm] and grid size [Ns x Ns] // // T^{munu} given in units Gev/fm^3, but saved in units of [GeV^4] 3) KoMPoST::Setup() calls Greenfunctions::Setup() which in turn call kinetic or free streaming response function setups. In particular for kinetic theory a momentum space response data is loaded from data files in /EKT/ and bessel transformed to produce a coordinate space response functions which are interpolated on a 2D grid (time or radial coordinate). 4) KoMPoST::Run() see KineticEvolution.cpp for details. In short, for each point in the transferse place a gaussian averaged background energy density is found which is then mapped to background energy momentum tensor at final time according to the scaling curve parametrized in BackgroundEvolution.cpp. The perturbations are then propagated by coordinate space Green functions in local causal neighbourgood around given point. Result is regulated for small energy densities and steep gradients (See code and paper for details). 5) After the energy-momentum tensor is evolved the output is generated by user provided function EnergyMomentumTensorMapSave and write_initial_conditions_MUSIC. See src/EnergyMomentumTensorIO_music.inc for an example implementation. The local hydro fields and sigmaij can be also found. // SAVE TMUNU TO FILE // // File format // // for iy in Ns: // for ix in Ns: // 1:x 2:y // 3:T^{tautau} 4:T^{xx} 5:T^{yy} 6:tau^2 T^{etaeta} // 7:-T^{tau x} 8:-T^{tauy} 9:-tau T^{taueta} // 10:-T^{xy} 11:-tau T^{yeta} 12:-tau T^{etax} // 13-28:CellData[0 -- 15] -- additonal cell data. See KineticEvolution.cpp for definitions // // where ix and iy are cell indecies with grid parameters given by EventInput // with grid spacing afm in [fm] and grid size [Ns x Ns] // x, y given in [fm] // // T^{munu} writen out in units [Gev/fm^3] MUSIC input file // Write initial condition file that can be read by MUSIC // for ix in Ns: // for iy in Ns: // 1:ieta 2:ix 3:iy // 4:e [GeV/fm^3] 5:u^tau 6:u^x 7:u^y 8:u^eta [fm^{-1}] // 9: pit^{tautau} 10:pi^{taux} 11:pi^{tauy} 12: pi^{taueta} // 13:pi^{xx} 14:pi^{xy} 15:pi^{xeta} 16:pi^{yy} 17:pi^{yeta} 18:pi^{etaeta} // // where ieta=0, and ix and iy are cell indecies with grid parameters given by EventInput // with grid spacing afm in [fm] and grid size [Ns x Ns] // //\pi^{\mu\nu} is in units of fermi. // Note that the loop order is different than in the input file 6) The generated data files can be then passed on to hydrodynamic evolution. # # FILES: # # MAIN KOMPOST CODE: src/Main.cpp src/EnergyMomentumTensor.h src/EventInput.h src/EventInput.cpp src/KineticEvolution.h src/KineticEvolution.cpp src/BackgroundEvolution.h src/BackgroundEvolution.cpp src/ScalingVariable.h src/ScalingVariable.cpp src/GreensFunctions.h src/GreensFunctions.cpp src/EnergyMomentumDecomposition.inc src/ENERGYRESPONSE/CoordinateSpaceFreeStreaming.inc src/ENERGYRESPONSE/CoordinateSpaceKineticTheory.inc src/ENERGYRESPONSE/CoordinateSpaceLowKLimit.inc src/ENERGYRESPONSE/MomentumSpaceKineticTheory.inc src/ENERGYRESPONSE/MomentumSpaceFreeStreaming.inc src/ENERGYRESPONSE/BesselTransform.inc src/MOMENTUMRESPONSE/CoordinateSpaceFreeStreaming.inc src/MOMENTUMRESPONSE/CoordinateSpaceKineticTheory.inc src/MOMENTUMRESPONSE/MomentumSpaceKineticTheory.inc src/MOMENTUMRESPONSE/MomentumSpaceFreeStreaming.inc src/MOMENTUMRESPONSE/BesselTransform.inc # INPUT/OUTPUT ROUTINES: src/EnergyMomentumTensorIO_music.inc src/ComputeSigma.inc inih/INIReader.cpp inih/INIReader.h inih/ini.c inih/ini.h # DATA FILES: EKT/ENERGYRESPONSE/EnergyGreensFunctionT1-XX.txt EKT/MOMENTUMRESPONSE/MomentumGreensFunctionT1-XX.txt # OUTPUT FILES: see Main.cpp and EnergyMomentumTensorIO_music.inc
About
Linear kinetic theory propagator for initial conditions of heavy ion collisions
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published