Home - chunshen1987/iEBE-MUSIC GitHub Wiki

Welcome to the iEBE-MUSIC wiki!

This is a repository is an overarching numerical framework for event-by-event simulations of relativistic heavy-ion collisions.

If you have any questions, please email the iEBE-MUSIC google groups, [email protected]

Setup

First, you can download the code package by git clone https://github.com/chunshen1987/iEBE-MUSIC. All the individual code packages can be downloaded from online git repositories. Please use codes/get_code_packages.sh to download the code packages and codes/compile_code_packages.sh to compile all the packages before event-by-event simulations.

Ingradients

Initial conditions:

Pre-equilibrium evolution:

Hydrodynamics:

Particlization & hadronic transport:

Usage:

type ./generate_jobs.py -h for help information

Usage: generate_jobs.py [-h] [-w] [-c] [-n] [-n_hydro] [-n_urqmd] [-n_th] [-par] [-b] [-id] [-seed] [--nocopy] [--continueFlag]

⚛ Welcome to iEBE-MUSIC package

optional arguments:
  -h, --help            show this help message and exit
  -w , --working_folder_name 
                        working folder path (default: playground)
  -c , --cluster_name   name of the cluster (default: local)
  -n , --n_jobs         number of jobs (default: 1)
  -n_hydro , --n_hydro_per_job 
                        number of hydro events per job to run (default: 1)
  -n_urqmd , --n_urqmd_per_hydro 
                        number of oversampled UrQMD events per hydro to run (default: 1)
  -n_th , --n_threads   number of threads used for each job (default: 1)
  -par , --par_dict     user-defined parameter dictionary file (default: parameters_dict_user.py)
  -b , --bayes_file     parameters from bayesian analysis (default: )
  -id , --OSG_process_id 
                        OSG job process id number (default: 0)
  -seed , --random_seed 
                        Random Seed (-1: according to system time) (default: -1)
  --nocopy
  --continueFlag

Model Parameters:

Users can pass model parameters through a python script parameters_dict_user.py. The example user parameter files can be found under the config folder. The parameter file contains multiple dictionaries, which are related to each code module inside the iEBE-MUSIC framework. This script will update the master parameters dictionaries in config/parameters_dict_master.py. One can read config/parameters_dict_master.py for all the available parameters options for each module. If a user wants to modify any parameters, he can add them in the parameters_dict_user.py.

initial_dict

The initial_dict dictionary specifies the type of the initial condition to use,

  • IPGlasma
  • 3DMCGlauber

For the IPGlasma initial condition, the user needs to specify the HDF5 database filename.

For the 3DMCGlauber initial condition,

  1. If database_name : "self", initial condition will be generated on the fly with the rest part of the simulations.

  2. If database_name : database_file, the code package will use the pre-generated initial coniditions stored in the database (HDF5).

music_dict

The music_dict has all the parameters to run MUSIC for (3+1)D hydrodynamic simulations.

    'Initial_profile': 9,  for IPGlasma initial condition
        - 9: IPGlasma (full Tmunu),
        - 91: e and u^\mu,
        - 92: e only,
        - 93: e, u^\mu, and pi^\munu
    'Initial_profile': 13,  for 3D MCGlauber initial condition
        - 13: 3D MCGlauber initial condition with dynamical initialization,
        - 131: 3D MCGlauber initial condition with instantaneous initialization

Settings on NERSC:

The clusters on NERSC do not use utf-8 as default. To run the script properly, one needs to add the following commands in the ~/.bashrc.ext file,

export PYTHONIOENCODING=utf-8
export LC_CTYPE=en_US.UTF8

Docker/Singularity Container Support

The iEBE-MUSIC has its official docker image on the DockerHub iebe-music.

Running jobs on the Wayne State Grid system

You can find a useful cheat sheet of commands here.

Running jobs on the Open Science Grid

You can find detailed instructions here.

Running jobs on the TACC Stampede2

You can find detailed instructions here.

Running jobs on the Purdue Anvil

You can find detailed instructions here