Skip to content

Commit d4b3634

Browse files
authored
Merge pull request #69 from JETSCAPE/dukeMedium
Duke medium changes without MusicWrapper.cc changes
2 parents 6e9d242 + df595a8 commit d4b3634

File tree

7 files changed

+190
-29
lines changed

7 files changed

+190
-29
lines changed

config/jetscape_main.xml

+10
Original file line numberDiff line numberDiff line change
@@ -377,12 +377,22 @@
377377
<!--shear viscosity settings-->
378378
<shear_viscosity_eta_over_s>0.08</shear_viscosity_eta_over_s>
379379
<T_dependent_Shear_to_S_ratio>3</T_dependent_Shear_to_S_ratio>
380+
<!-- Parameters for parametrization 2-->
381+
<shear_viscosity_2_curv>-0.48</shear_viscosity_2_curv>
382+
<shear_viscosity_2_slope>1.11</shear_viscosity_2_slope>
383+
<shear_viscosity_2_min>0.081</shear_viscosity_2_min>
384+
<!-- Parameters for parametrization 3-->
380385
<shear_viscosity_3_T_kink_in_GeV>0.16</shear_viscosity_3_T_kink_in_GeV>
381386
<shear_viscosity_3_at_kink>0.08</shear_viscosity_3_at_kink>
382387
<shear_viscosity_3_low_T_slope_in_GeV>0</shear_viscosity_3_low_T_slope_in_GeV>
383388
<shear_viscosity_3_high_T_slope_in_GeV>0</shear_viscosity_3_high_T_slope_in_GeV>
384389
<!--bulk viscosity settings-->
385390
<temperature_dependent_bulk_viscosity>3</temperature_dependent_bulk_viscosity>
391+
<!-- Parameters for parametrization 2-->
392+
<bulk_viscosity_2_normalisation>0.052</bulk_viscosity_2_normalisation>
393+
<bulk_viscosity_2_width_in_GeV>0.022</bulk_viscosity_2_width_in_GeV>
394+
<bulk_viscosity_2_peak_in_GeV>0.183</bulk_viscosity_2_peak_in_GeV>
395+
<!-- Parameters for parametrization 3-->
386396
<bulk_viscosity_3_max>0.06</bulk_viscosity_3_max>
387397
<bulk_viscosity_3_T_peak_in_GeV>0.17</bulk_viscosity_3_T_peak_in_GeV>
388398
<bulk_viscosity_3_width_in_GeV>0.02</bulk_viscosity_3_width_in_GeV>

config/jetscape_user_AA_dukeTune.xml

+115
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
<?xml version="1.0"?>
2+
3+
<jetscape>
4+
5+
<vlevel> 0 </vlevel>
6+
<nEvents> 1 </nEvents>
7+
8+
9+
<setReuseHydro> false </setReuseHydro>
10+
<nReuseHydro> 1 </nReuseHydro>
11+
12+
<Random>
13+
<seed>0</seed>
14+
</Random>
15+
16+
<outputFilename>event</outputFilename>
17+
<JetScapeWriterAscii> on </JetScapeWriterAscii>
18+
<JetScapeWriterAsciiGZ> off </JetScapeWriterAsciiGZ>
19+
<write_pthat> 1 </write_pthat>
20+
21+
<!-- Inital State Module -->
22+
<IS>
23+
<grid_max_x> 15 </grid_max_x>
24+
<grid_max_y> 15 </grid_max_y>
25+
<grid_max_z> 0 </grid_max_z>
26+
<!-- <grid_step_x> 0.2 </grid_step_x>
27+
<grid_step_y> 0.2 </grid_step_y> -->
28+
<grid_step_x> 0.2 </grid_step_x>
29+
<grid_step_y> 0.2 </grid_step_y>
30+
31+
<Trento>
32+
<PhysicsInputs projectile='Pb'
33+
target='Pb'
34+
sqrts='5020'
35+
cross-section='6.7'
36+
normalization='18.38'>
37+
</PhysicsInputs>
38+
<CutInputs
39+
centrality-low='0'
40+
centrality-high='5'>
41+
</CutInputs>
42+
<TransInputs reduced-thickness='0.007'
43+
fluctuation="0.918"
44+
nucleon-width="0.956"
45+
nucleon-min-dist="1.27">
46+
</TransInputs>
47+
<LongiInputs mean-coeff="1.0"
48+
std-coeff="3.0"
49+
skew-coeff="0.0"
50+
skew-type="1"
51+
jacobian="0.8">
52+
</LongiInputs>
53+
</Trento>
54+
</IS>
55+
56+
<!--Preequilibrium Dynamics Module -->
57+
<Preequilibrium>
58+
<!-- starting long. proper time for Preequilibrium dynamics -->
59+
<tau0>0.0</tau0>
60+
<tauj>0.1</tauj>
61+
<!-- switching long. proper time from Preequilibrium dynamics to Hydrodynamics (Landau Matching) -->
62+
<taus>1.16</taus>
63+
<evolutionInMemory>1</evolutionInMemory>
64+
65+
<!-- Individual Preequilibrium Dynamics models -->
66+
<FreestreamMilne>
67+
<name>FreestreamMilne</name>
68+
<freestream_input_file>freestream_input</freestream_input_file>
69+
<E_DEP_FS>0</E_DEP_FS>
70+
</FreestreamMilne>
71+
</Preequilibrium>
72+
73+
<!-- Hydro Module -->
74+
<Hydro>
75+
<MUSIC>
76+
<beastMode>0</beastMode>
77+
<output_evolution_to_file>0</output_evolution_to_file>
78+
<output_evolution_to_memory>1</output_evolution_to_memory>
79+
<surface_in_memory>1</surface_in_memory>
80+
<Initial_time_tau_0>1.16</Initial_time_tau_0>
81+
<T_dependent_Shear_to_S_ratio>2</T_dependent_Shear_to_S_ratio>
82+
<shear_viscosity_2_curv>-0.48</shear_viscosity_2_curv>
83+
<shear_viscosity_2_slope>1.11</shear_viscosity_2_slope>
84+
<shear_viscosity_2_min>0.081</shear_viscosity_2_min>
85+
<temperature_dependent_bulk_viscosity>2</temperature_dependent_bulk_viscosity>
86+
<bulk_viscosity_2_normalisation>0.052</bulk_viscosity_2_normalisation>
87+
<bulk_viscosity_2_width_in_GeV>0.022</bulk_viscosity_2_width_in_GeV>
88+
<bulk_viscosity_2_peak_in_GeV>0.183</bulk_viscosity_2_peak_in_GeV>
89+
<freezeout_temperature>0.151</freezeout_temperature>
90+
</MUSIC>
91+
</Hydro>
92+
93+
<SoftParticlization>
94+
<iSS>
95+
<!-- file path for the default input file -->
96+
<iSS_input_file>iSS_parameters.dat</iSS_input_file>
97+
<!-- directory path where the hydro surface is stored -->
98+
<iSS_table_path>iSS_tables</iSS_table_path>
99+
<!-- file path for the default particle table files -->
100+
<iSS_particle_table_path>iSS_tables</iSS_particle_table_path>
101+
<afterburner_type>2</afterburner_type>
102+
<number_of_repeated_sampling>100</number_of_repeated_sampling>
103+
<Perform_resonance_decays>0</Perform_resonance_decays>
104+
</iSS>
105+
</SoftParticlization>
106+
107+
<!-- Hadronic Afterburner -->
108+
<Afterburner>
109+
<!-- SMASH -->
110+
<SMASH>
111+
<name>SMASH</name>
112+
</SMASH>
113+
</Afterburner>
114+
115+
</jetscape>

external_packages/get_music.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
# using a commit from the MUSIC repository that is compatible with the current X-SCAPE version
1818
folderName="music"
19-
commitHash="63476c2dd7d05a265a137aac813e294019fdb229"
19+
commitHash="132448235467999067f1c01f340736139499ce16"
2020

2121
git clone https://github.com/MUSIC-fluid/MUSIC.git -b JETSCAPE $folderName
2222
cd $folderName

src/framework/FluidCellInfo.h

+14-11
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,21 @@ namespace Jetscape {
2424
class FluidCellInfo {
2525
public:
2626
// data structure for outputing fluid cell information
27-
Jetscape::real energy_density; //!< Local energy density [GeV/fm^3].
28-
Jetscape::real entropy_density; //!< Local entropy density [1/fm^3].
29-
Jetscape::real temperature; //!< Local temperature [GeV].
30-
Jetscape::real pressure; //!< Thermal pressure [GeV/fm^3].
27+
Jetscape::real energy_density = 0.; //!< Local energy density [GeV/fm^3].
28+
Jetscape::real entropy_density = 0.; //!< Local entropy density [1/fm^3].
29+
Jetscape::real temperature = 0.; //!< Local temperature [GeV].
30+
Jetscape::real pressure = 0.; //!< Thermal pressure [GeV/fm^3].
3131
Jetscape::real
32-
qgp_fraction; //!< Fraction of quark gluon plasma assuming medium is in QGP+HRG phase.
33-
Jetscape::real mu_B; //!< Net baryon chemical potential [GeV].
34-
Jetscape::real mu_C; //!< Net charge chemical potential [GeV]
35-
Jetscape::real mu_S; //!< Net strangeness chemical potential [GeV].
36-
Jetscape::real vx, vy, vz; //!< Flow velocity.
37-
Jetscape::real pi[4][4]; //!< Shear stress tensor [GeV/fm^3].
38-
Jetscape::real bulk_Pi; //!< Bulk viscous pressure [GeV/fm^3].
32+
qgp_fraction = 0.; //!< Fraction of quark gluon plasma assuming medium is in QGP+HRG phase.
33+
Jetscape::real mu_B = 0.; //!< Net baryon chemical potential [GeV].
34+
Jetscape::real mu_C = 0.; //!< Net charge chemical potential [GeV]
35+
Jetscape::real mu_S = 0.; //!< Net strangeness chemical potential [GeV].
36+
Jetscape::real vx = 0., vy = 0., vz = 0.; //!< Flow velocity.
37+
Jetscape::real pi[4][4] = {{0., 0., 0., 0.},
38+
{0., 0., 0., 0.},
39+
{0., 0., 0., 0.},
40+
{0., 0., 0., 0.}}; //!< Shear stress tensor [GeV/fm^3].
41+
Jetscape::real bulk_Pi = 0.; //!< Bulk viscous pressure [GeV/fm^3].
3942

4043
/** Default constructor.*/
4144
FluidCellInfo();

src/framework/FluidEvolutionHistory.cc

+8-1
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,14 @@ FluidCellInfo EvolutionHistory::get_tz(Jetscape::real t, Jetscape::real x,
295295
VERBOSE(4) << "the quest point is outside the light cone! "
296296
<< "t = " << t << ", z = " << z;
297297
}
298-
return (get(tau, x, y, eta));
298+
auto cell = get(tau, x, y, eta);
299+
if (boost_invariant) {
300+
cell.vz = z / t;
301+
Jetscape::real gammaL = 1.0 / sqrt(1.0 - cell.vz * cell.vz);
302+
cell.vx /= gammaL;
303+
cell.vy /= gammaL;
304+
}
305+
return (cell);
299306
}
300307

301308
} // end namespace Jetscape

src/hydro/MusicWrapper.cc

+40-16
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ void MpiMusic::InitializeHydro(Parameter parameter_list) {
6868
music_hydro_ptr->set_parameter("output_evolution_data", 0);
6969
}
7070

71+
flag_preEq_output_evo_to_memory = (
72+
GetXMLElementInt({"Preequilibrium", "evolutionInMemory"}));
7173
flag_output_evo_to_memory = (
7274
GetXMLElementInt({"Hydro", "MUSIC", "output_evolution_to_memory"}));
7375
if (flag_output_evo_to_memory == 1) {
@@ -148,6 +150,16 @@ void MpiMusic::InitializeHydro(Parameter parameter_list) {
148150
double shear_kink = (
149151
GetXMLElementDouble({"Hydro", "MUSIC", "shear_viscosity_3_at_kink"}));
150152
music_hydro_ptr->set_parameter("shear_viscosity_3_at_kink", shear_kink);
153+
} else if (flag_shear_Tdep == 2) {
154+
double shear_min = GetXMLElementDouble(
155+
{"Hydro", "MUSIC", "shear_viscosity_2_min"});
156+
music_hydro_ptr->set_parameter("shear_viscosity_2_min", shear_min);
157+
double shear_slope = GetXMLElementDouble(
158+
{"Hydro", "MUSIC", "shear_viscosity_2_slope"});
159+
music_hydro_ptr->set_parameter("shear_viscosity_2_slope", shear_slope);
160+
double shear_curv = GetXMLElementDouble(
161+
{"Hydro", "MUSIC", "shear_viscosity_2_curv"});
162+
music_hydro_ptr->set_parameter("shear_viscosity_2_curv", shear_curv);
151163
}
152164
}
153165

@@ -173,6 +185,19 @@ void MpiMusic::InitializeHydro(Parameter parameter_list) {
173185
{"Hydro", "MUSIC", "bulk_viscosity_3_lambda_asymm"});
174186
music_hydro_ptr->set_parameter("bulk_viscosity_3_lambda_asymm",
175187
bulk_asy);
188+
} else if (flag_bulkvis == 2) {
189+
double bulk_norm = GetXMLElementDouble(
190+
{"Hydro", "MUSIC", "bulk_viscosity_2_normalisation"});
191+
music_hydro_ptr->set_parameter("bulk_viscosity_2_normalisation",
192+
bulk_norm);
193+
double bulk_width = GetXMLElementDouble(
194+
{"Hydro", "MUSIC", "bulk_viscosity_2_width_in_GeV"});
195+
music_hydro_ptr->set_parameter("bulk_viscosity_2_width_in_GeV",
196+
bulk_width);
197+
double bulk_T = GetXMLElementDouble(
198+
{"Hydro", "MUSIC", "bulk_viscosity_2_peak_in_GeV"});
199+
music_hydro_ptr->set_parameter("bulk_viscosity_2_peak_in_GeV",
200+
bulk_T);
176201
}
177202
}
178203

@@ -210,19 +235,18 @@ void MpiMusic::InitializeHydroEnergyProfile() {
210235

211236
if (pre_eq_ptr == nullptr) {
212237
JSWARN << "Missing the pre-equilibrium module ...";
213-
music_hydro_ptr->initialize_hydro();
214-
} else {
215-
double tau0 = pre_eq_ptr->GetPreequilibriumEndTime();
216-
JSINFO << "hydro initial time tau0 = " << tau0 << " fm";
217-
music_hydro_ptr->initialize_hydro_from_jetscape_preequilibrium_vectors(
218-
tau0,
219-
dx, dz, z_max, nz, pre_eq_ptr->e_, pre_eq_ptr->P_,
220-
pre_eq_ptr->utau_, pre_eq_ptr->ux_, pre_eq_ptr->uy_, pre_eq_ptr->ueta_,
221-
pre_eq_ptr->pi00_, pre_eq_ptr->pi01_, pre_eq_ptr->pi02_,
222-
pre_eq_ptr->pi03_, pre_eq_ptr->pi11_, pre_eq_ptr->pi12_,
223-
pre_eq_ptr->pi13_, pre_eq_ptr->pi22_, pre_eq_ptr->pi23_,
224-
pre_eq_ptr->pi33_, pre_eq_ptr->bulk_Pi_);
238+
exit(1);
225239
}
240+
double tau0 = pre_eq_ptr->GetPreequilibriumEndTime();
241+
JSINFO << "hydro initial time tau0 = " << tau0 << " fm";
242+
music_hydro_ptr->initialize_hydro_from_jetscape_preequilibrium_vectors(
243+
tau0,
244+
dx, dz, z_max, nz, pre_eq_ptr->e_, pre_eq_ptr->P_,
245+
pre_eq_ptr->utau_, pre_eq_ptr->ux_, pre_eq_ptr->uy_, pre_eq_ptr->ueta_,
246+
pre_eq_ptr->pi00_, pre_eq_ptr->pi01_, pre_eq_ptr->pi02_,
247+
pre_eq_ptr->pi03_, pre_eq_ptr->pi11_, pre_eq_ptr->pi12_,
248+
pre_eq_ptr->pi13_, pre_eq_ptr->pi22_, pre_eq_ptr->pi23_,
249+
pre_eq_ptr->pi33_, pre_eq_ptr->bulk_Pi_);
226250
JSINFO << "initial density profile dx = " << dx << " fm";
227251
hydro_status = INITIALIZED;
228252
JSINFO << "number of source terms: "
@@ -261,7 +285,7 @@ void MpiMusic::EvolveHydro() {
261285
has_source_terms = true;
262286
}
263287

264-
if (pre_eq_ptr != nullptr) {
288+
if (flag_preEq_output_evo_to_memory == 1) {
265289
double tau0 = pre_eq_ptr->GetPreequilibriumEndTime();
266290
JSINFO << "hydro initial time set by PreEq module tau0 = "
267291
<< tau0 << " fm/c";
@@ -292,14 +316,13 @@ void MpiMusic::EvolveHydro() {
292316
if (!has_source_terms) {
293317
// only the first hydro without source term will be stored
294318
// in memory for jet energy loss calculations
295-
if (pre_eq_ptr == nullptr) {
319+
if (flag_preEq_output_evo_to_memory == 0) {
296320
clear_up_evolution_data();
297321
}
298322
PassHydroEvolutionHistoryToFramework();
299323
JSINFO << "number of fluid cells received by the JETSCAPE: "
300324
<< bulk_info.data.size();
301325
}
302-
music_hydro_ptr->clear_hydro_info_from_memory();
303326
}
304327

305328
if (flag_output_evo_to_file == 1) {
@@ -368,7 +391,7 @@ void MpiMusic::SetHydroGridInfo() {
368391

369392
bulk_info.boost_invariant = music_hydro_ptr->is_boost_invariant();
370393

371-
if (pre_eq_ptr == nullptr) {
394+
if (flag_preEq_output_evo_to_memory == 0) {
372395
bulk_info.tau_min = music_hydro_ptr->get_hydro_tau0();
373396
bulk_info.dtau = music_hydro_ptr->get_hydro_dtau();
374397
bulk_info.ntau = music_hydro_ptr->get_ntau();
@@ -456,6 +479,7 @@ void MpiMusic::PassHydroEvolutionHistoryToFramework() {
456479
StoreHydroEvolutionHistory(fluid_cell_info_ptr);
457480
}
458481
delete fluidCell_ptr;
482+
music_hydro_ptr->clear_hydro_info_from_memory();
459483
}
460484

461485
void MpiMusic::GetHydroInfo(

src/hydro/MusicWrapper.h

+2
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ class MpiMusic : public FluidDynamics {
8383
Jetscape::real freezeout_temperature; //!< [GeV]
8484
int doCooperFrye; //!< flag to run Cooper-Frye freeze-out
8585
//!< for soft particles
86+
87+
int flag_preEq_output_evo_to_memory;
8688
int flag_output_evo_to_file;
8789
int flag_output_evo_to_memory;
8890
int flag_surface_in_memory;

0 commit comments

Comments
 (0)