Skip to content

SU(3) initial conditions and new module for energy density

David Mueller requested to merge dmueller/curraun:su3 into master

This merge request consists of two parts: su3 initial conditions and a new module for the computation of energy density, pressures etc..

SU(3) initial conditions

I wrote a new module for SU(3) initial conditions (see initial_su3_new.py) based on a simple fixed point scheme, since I couldn't get the initial conditions of @aipp 's 'su3_initial' branch to work. This new module works with both Numba and CUDA. The CUDA version is less than beautiful because I had to implement code for the explicit inversion of an 8x8 real matrix. The Numba version uses numpy.linalg.solve. Nevertheless, the method seems to work well and converges after only a few iterations. I've only had some problems with extremely small lattices (4^2, 8^2), which are not interesting for our applications.

Here are some timings for running curraun.initial.init(s, va, vb) using SU(3), CUDA and double precision.

  • 256^2: ~5.3 s
  • 1024^2: ~6.6 s
  • 2048^2: ~11.30 s

If we had some means to invert a general N_c^2 -1 \times N_c^2 -1 real matrix, this method could be generalized to SU(N_c).

Module for computing energy density, pressures, etc

I also added a new module energy.py for computing the energy density of the Glasma that works for SU(N_c). It simply computes the square of the longitudinal and transverse color-electric and magnetic fields in the transverse plane as two-dimensional arrays. In order to obtain the energy density or pressure components I use numpy.mean in order not to disturb the original 2D arrays. This is very wasteful with memory, but I could still simulate 1024^2 lattices on our Titan V.

As a full test of the whole simulation, I ran our code with the parameters used in Lappi's 2006 paper (arXiv:hep-ph/0606207). I was able to reproduce the quoted energy density of ~130 GeV/fm^3 at \tau = 0.1 fm/c for RHIC. In order to get this number right, basically all parts of the code (initial conditions, leapfrog solver, su3 code, energy density computation) have to work correctly.

Additional notes

At the time of writing this merge request also includes all commits of @aipp 's 'su3_initial' branch. I can change this if necessary and submit a new merge request using a cleaner branch.

Edited by Andreas Ipp

Merge request reports