@@ -68,6 +68,8 @@ void MpiMusic::InitializeHydro(Parameter parameter_list) {
68
68
music_hydro_ptr->set_parameter (" output_evolution_data" , 0 );
69
69
}
70
70
71
+ flag_preEq_output_evo_to_memory = (
72
+ GetXMLElementInt ({" Preequilibrium" , " evolutionInMemory" }));
71
73
flag_output_evo_to_memory = (
72
74
GetXMLElementInt ({" Hydro" , " MUSIC" , " output_evolution_to_memory" }));
73
75
if (flag_output_evo_to_memory == 1 ) {
@@ -148,6 +150,16 @@ void MpiMusic::InitializeHydro(Parameter parameter_list) {
148
150
double shear_kink = (
149
151
GetXMLElementDouble ({" Hydro" , " MUSIC" , " shear_viscosity_3_at_kink" }));
150
152
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);
151
163
}
152
164
}
153
165
@@ -173,6 +185,19 @@ void MpiMusic::InitializeHydro(Parameter parameter_list) {
173
185
{" Hydro" , " MUSIC" , " bulk_viscosity_3_lambda_asymm" });
174
186
music_hydro_ptr->set_parameter (" bulk_viscosity_3_lambda_asymm" ,
175
187
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);
176
201
}
177
202
}
178
203
@@ -210,19 +235,18 @@ void MpiMusic::InitializeHydroEnergyProfile() {
210
235
211
236
if (pre_eq_ptr == nullptr ) {
212
237
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 );
225
239
}
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_ );
226
250
JSINFO << " initial density profile dx = " << dx << " fm" ;
227
251
hydro_status = INITIALIZED;
228
252
JSINFO << " number of source terms: "
@@ -261,7 +285,7 @@ void MpiMusic::EvolveHydro() {
261
285
has_source_terms = true ;
262
286
}
263
287
264
- if (pre_eq_ptr != nullptr ) {
288
+ if (flag_preEq_output_evo_to_memory == 1 ) {
265
289
double tau0 = pre_eq_ptr->GetPreequilibriumEndTime ();
266
290
JSINFO << " hydro initial time set by PreEq module tau0 = "
267
291
<< tau0 << " fm/c" ;
@@ -292,14 +316,13 @@ void MpiMusic::EvolveHydro() {
292
316
if (!has_source_terms) {
293
317
// only the first hydro without source term will be stored
294
318
// in memory for jet energy loss calculations
295
- if (pre_eq_ptr == nullptr ) {
319
+ if (flag_preEq_output_evo_to_memory == 0 ) {
296
320
clear_up_evolution_data ();
297
321
}
298
322
PassHydroEvolutionHistoryToFramework ();
299
323
JSINFO << " number of fluid cells received by the JETSCAPE: "
300
324
<< bulk_info.data .size ();
301
325
}
302
- music_hydro_ptr->clear_hydro_info_from_memory ();
303
326
}
304
327
305
328
if (flag_output_evo_to_file == 1 ) {
@@ -368,7 +391,7 @@ void MpiMusic::SetHydroGridInfo() {
368
391
369
392
bulk_info.boost_invariant = music_hydro_ptr->is_boost_invariant ();
370
393
371
- if (pre_eq_ptr == nullptr ) {
394
+ if (flag_preEq_output_evo_to_memory == 0 ) {
372
395
bulk_info.tau_min = music_hydro_ptr->get_hydro_tau0 ();
373
396
bulk_info.dtau = music_hydro_ptr->get_hydro_dtau ();
374
397
bulk_info.ntau = music_hydro_ptr->get_ntau ();
@@ -456,6 +479,7 @@ void MpiMusic::PassHydroEvolutionHistoryToFramework() {
456
479
StoreHydroEvolutionHistory (fluid_cell_info_ptr);
457
480
}
458
481
delete fluidCell_ptr;
482
+ music_hydro_ptr->clear_hydro_info_from_memory ();
459
483
}
460
484
461
485
void MpiMusic::GetHydroInfo (
0 commit comments