Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duke medium changes without MusicWrapper.cc changes #69

Merged
merged 3 commits into from
Feb 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions config/jetscape_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -377,12 +377,22 @@
<!--shear viscosity settings-->
<shear_viscosity_eta_over_s>0.08</shear_viscosity_eta_over_s>
<T_dependent_Shear_to_S_ratio>3</T_dependent_Shear_to_S_ratio>
<!-- Parameters for parametrization 2-->
<shear_viscosity_2_curv>-0.48</shear_viscosity_2_curv>
<shear_viscosity_2_slope>1.11</shear_viscosity_2_slope>
<shear_viscosity_2_min>0.081</shear_viscosity_2_min>
<!-- Parameters for parametrization 3-->
<shear_viscosity_3_T_kink_in_GeV>0.16</shear_viscosity_3_T_kink_in_GeV>
<shear_viscosity_3_at_kink>0.08</shear_viscosity_3_at_kink>
<shear_viscosity_3_low_T_slope_in_GeV>0</shear_viscosity_3_low_T_slope_in_GeV>
<shear_viscosity_3_high_T_slope_in_GeV>0</shear_viscosity_3_high_T_slope_in_GeV>
<!--bulk viscosity settings-->
<temperature_dependent_bulk_viscosity>3</temperature_dependent_bulk_viscosity>
<!-- Parameters for parametrization 2-->
<bulk_viscosity_2_normalisation>0.052</bulk_viscosity_2_normalisation>
<bulk_viscosity_2_width_in_GeV>0.022</bulk_viscosity_2_width_in_GeV>
<bulk_viscosity_2_peak_in_GeV>0.183</bulk_viscosity_2_peak_in_GeV>
<!-- Parameters for parametrization 3-->
<bulk_viscosity_3_max>0.06</bulk_viscosity_3_max>
<bulk_viscosity_3_T_peak_in_GeV>0.17</bulk_viscosity_3_T_peak_in_GeV>
<bulk_viscosity_3_width_in_GeV>0.02</bulk_viscosity_3_width_in_GeV>
Expand Down
115 changes: 115 additions & 0 deletions config/jetscape_user_AA_dukeTune.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
<?xml version="1.0"?>

<jetscape>

<vlevel> 0 </vlevel>
<nEvents> 1 </nEvents>


<setReuseHydro> false </setReuseHydro>
<nReuseHydro> 1 </nReuseHydro>

<Random>
<seed>0</seed>
</Random>

<outputFilename>event</outputFilename>
<JetScapeWriterAscii> on </JetScapeWriterAscii>
<JetScapeWriterAsciiGZ> off </JetScapeWriterAsciiGZ>
<write_pthat> 1 </write_pthat>

<!-- Inital State Module -->
<IS>
<grid_max_x> 15 </grid_max_x>
<grid_max_y> 15 </grid_max_y>
<grid_max_z> 0 </grid_max_z>
<!-- <grid_step_x> 0.2 </grid_step_x>
<grid_step_y> 0.2 </grid_step_y> -->
<grid_step_x> 0.2 </grid_step_x>
<grid_step_y> 0.2 </grid_step_y>

<Trento>
<PhysicsInputs projectile='Pb'
target='Pb'
sqrts='5020'
cross-section='6.7'
normalization='18.38'>
</PhysicsInputs>
<CutInputs
centrality-low='0'
centrality-high='5'>
</CutInputs>
<TransInputs reduced-thickness='0.007'
fluctuation="0.918"
nucleon-width="0.956"
nucleon-min-dist="1.27">
</TransInputs>
<LongiInputs mean-coeff="1.0"
std-coeff="3.0"
skew-coeff="0.0"
skew-type="1"
jacobian="0.8">
</LongiInputs>
</Trento>
</IS>

<!--Preequilibrium Dynamics Module -->
<Preequilibrium>
<!-- starting long. proper time for Preequilibrium dynamics -->
<tau0>0.0</tau0>
<tauj>0.1</tauj>
<!-- switching long. proper time from Preequilibrium dynamics to Hydrodynamics (Landau Matching) -->
<taus>1.16</taus>
<evolutionInMemory>1</evolutionInMemory>

<!-- Individual Preequilibrium Dynamics models -->
<FreestreamMilne>
<name>FreestreamMilne</name>
<freestream_input_file>freestream_input</freestream_input_file>
<E_DEP_FS>0</E_DEP_FS>
</FreestreamMilne>
</Preequilibrium>

<!-- Hydro Module -->
<Hydro>
<MUSIC>
<beastMode>0</beastMode>
<output_evolution_to_file>0</output_evolution_to_file>
<output_evolution_to_memory>1</output_evolution_to_memory>
<surface_in_memory>1</surface_in_memory>
<Initial_time_tau_0>1.16</Initial_time_tau_0>
<T_dependent_Shear_to_S_ratio>2</T_dependent_Shear_to_S_ratio>
<shear_viscosity_2_curv>-0.48</shear_viscosity_2_curv>
<shear_viscosity_2_slope>1.11</shear_viscosity_2_slope>
<shear_viscosity_2_min>0.081</shear_viscosity_2_min>
<temperature_dependent_bulk_viscosity>2</temperature_dependent_bulk_viscosity>
<bulk_viscosity_2_normalisation>0.052</bulk_viscosity_2_normalisation>
<bulk_viscosity_2_width_in_GeV>0.022</bulk_viscosity_2_width_in_GeV>
<bulk_viscosity_2_peak_in_GeV>0.183</bulk_viscosity_2_peak_in_GeV>
<freezeout_temperature>0.151</freezeout_temperature>
</MUSIC>
</Hydro>

<SoftParticlization>
<iSS>
<!-- file path for the default input file -->
<iSS_input_file>iSS_parameters.dat</iSS_input_file>
<!-- directory path where the hydro surface is stored -->
<iSS_table_path>iSS_tables</iSS_table_path>
<!-- file path for the default particle table files -->
<iSS_particle_table_path>iSS_tables</iSS_particle_table_path>
<afterburner_type>2</afterburner_type>
<number_of_repeated_sampling>100</number_of_repeated_sampling>
<Perform_resonance_decays>0</Perform_resonance_decays>
</iSS>
</SoftParticlization>

<!-- Hadronic Afterburner -->
<Afterburner>
<!-- SMASH -->
<SMASH>
<name>SMASH</name>
</SMASH>
</Afterburner>

</jetscape>
2 changes: 1 addition & 1 deletion external_packages/get_music.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

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

git clone https://github.com/MUSIC-fluid/MUSIC.git -b JETSCAPE $folderName
cd $folderName
Expand Down
25 changes: 14 additions & 11 deletions src/framework/FluidCellInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,21 @@ namespace Jetscape {
class FluidCellInfo {
public:
// data structure for outputing fluid cell information
Jetscape::real energy_density; //!< Local energy density [GeV/fm^3].
Jetscape::real entropy_density; //!< Local entropy density [1/fm^3].
Jetscape::real temperature; //!< Local temperature [GeV].
Jetscape::real pressure; //!< Thermal pressure [GeV/fm^3].
Jetscape::real energy_density = 0.; //!< Local energy density [GeV/fm^3].
Jetscape::real entropy_density = 0.; //!< Local entropy density [1/fm^3].
Jetscape::real temperature = 0.; //!< Local temperature [GeV].
Jetscape::real pressure = 0.; //!< Thermal pressure [GeV/fm^3].
Jetscape::real
qgp_fraction; //!< Fraction of quark gluon plasma assuming medium is in QGP+HRG phase.
Jetscape::real mu_B; //!< Net baryon chemical potential [GeV].
Jetscape::real mu_C; //!< Net charge chemical potential [GeV]
Jetscape::real mu_S; //!< Net strangeness chemical potential [GeV].
Jetscape::real vx, vy, vz; //!< Flow velocity.
Jetscape::real pi[4][4]; //!< Shear stress tensor [GeV/fm^3].
Jetscape::real bulk_Pi; //!< Bulk viscous pressure [GeV/fm^3].
qgp_fraction = 0.; //!< Fraction of quark gluon plasma assuming medium is in QGP+HRG phase.
Jetscape::real mu_B = 0.; //!< Net baryon chemical potential [GeV].
Jetscape::real mu_C = 0.; //!< Net charge chemical potential [GeV]
Jetscape::real mu_S = 0.; //!< Net strangeness chemical potential [GeV].
Jetscape::real vx = 0., vy = 0., vz = 0.; //!< Flow velocity.
Jetscape::real pi[4][4] = {{0., 0., 0., 0.},
{0., 0., 0., 0.},
{0., 0., 0., 0.},
{0., 0., 0., 0.}}; //!< Shear stress tensor [GeV/fm^3].
Jetscape::real bulk_Pi = 0.; //!< Bulk viscous pressure [GeV/fm^3].

/** Default constructor.*/
FluidCellInfo();
Expand Down
9 changes: 8 additions & 1 deletion src/framework/FluidEvolutionHistory.cc
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,14 @@ FluidCellInfo EvolutionHistory::get_tz(Jetscape::real t, Jetscape::real x,
VERBOSE(4) << "the quest point is outside the light cone! "
<< "t = " << t << ", z = " << z;
}
return (get(tau, x, y, eta));
auto cell = get(tau, x, y, eta);
if (boost_invariant) {
cell.vz = z / t;
Jetscape::real gammaL = 1.0 / sqrt(1.0 - cell.vz * cell.vz);
cell.vx /= gammaL;
cell.vy /= gammaL;
}
return (cell);
}

} // end namespace Jetscape
56 changes: 40 additions & 16 deletions src/hydro/MusicWrapper.cc
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ void MpiMusic::InitializeHydro(Parameter parameter_list) {
music_hydro_ptr->set_parameter("output_evolution_data", 0);
}

flag_preEq_output_evo_to_memory = (
GetXMLElementInt({"Preequilibrium", "evolutionInMemory"}));
flag_output_evo_to_memory = (
GetXMLElementInt({"Hydro", "MUSIC", "output_evolution_to_memory"}));
if (flag_output_evo_to_memory == 1) {
Expand Down Expand Up @@ -148,6 +150,16 @@ void MpiMusic::InitializeHydro(Parameter parameter_list) {
double shear_kink = (
GetXMLElementDouble({"Hydro", "MUSIC", "shear_viscosity_3_at_kink"}));
music_hydro_ptr->set_parameter("shear_viscosity_3_at_kink", shear_kink);
} else if (flag_shear_Tdep == 2) {
double shear_min = GetXMLElementDouble(
{"Hydro", "MUSIC", "shear_viscosity_2_min"});
music_hydro_ptr->set_parameter("shear_viscosity_2_min", shear_min);
double shear_slope = GetXMLElementDouble(
{"Hydro", "MUSIC", "shear_viscosity_2_slope"});
music_hydro_ptr->set_parameter("shear_viscosity_2_slope", shear_slope);
double shear_curv = GetXMLElementDouble(
{"Hydro", "MUSIC", "shear_viscosity_2_curv"});
music_hydro_ptr->set_parameter("shear_viscosity_2_curv", shear_curv);
}
}

Expand All @@ -173,6 +185,19 @@ void MpiMusic::InitializeHydro(Parameter parameter_list) {
{"Hydro", "MUSIC", "bulk_viscosity_3_lambda_asymm"});
music_hydro_ptr->set_parameter("bulk_viscosity_3_lambda_asymm",
bulk_asy);
} else if (flag_bulkvis == 2) {
double bulk_norm = GetXMLElementDouble(
{"Hydro", "MUSIC", "bulk_viscosity_2_normalisation"});
music_hydro_ptr->set_parameter("bulk_viscosity_2_normalisation",
bulk_norm);
double bulk_width = GetXMLElementDouble(
{"Hydro", "MUSIC", "bulk_viscosity_2_width_in_GeV"});
music_hydro_ptr->set_parameter("bulk_viscosity_2_width_in_GeV",
bulk_width);
double bulk_T = GetXMLElementDouble(
{"Hydro", "MUSIC", "bulk_viscosity_2_peak_in_GeV"});
music_hydro_ptr->set_parameter("bulk_viscosity_2_peak_in_GeV",
bulk_T);
}
}

Expand Down Expand Up @@ -210,19 +235,18 @@ void MpiMusic::InitializeHydroEnergyProfile() {

if (pre_eq_ptr == nullptr) {
JSWARN << "Missing the pre-equilibrium module ...";
music_hydro_ptr->initialize_hydro();
} else {
double tau0 = pre_eq_ptr->GetPreequilibriumEndTime();
JSINFO << "hydro initial time tau0 = " << tau0 << " fm";
music_hydro_ptr->initialize_hydro_from_jetscape_preequilibrium_vectors(
tau0,
dx, dz, z_max, nz, pre_eq_ptr->e_, pre_eq_ptr->P_,
pre_eq_ptr->utau_, pre_eq_ptr->ux_, pre_eq_ptr->uy_, pre_eq_ptr->ueta_,
pre_eq_ptr->pi00_, pre_eq_ptr->pi01_, pre_eq_ptr->pi02_,
pre_eq_ptr->pi03_, pre_eq_ptr->pi11_, pre_eq_ptr->pi12_,
pre_eq_ptr->pi13_, pre_eq_ptr->pi22_, pre_eq_ptr->pi23_,
pre_eq_ptr->pi33_, pre_eq_ptr->bulk_Pi_);
exit(1);
}
double tau0 = pre_eq_ptr->GetPreequilibriumEndTime();
JSINFO << "hydro initial time tau0 = " << tau0 << " fm";
music_hydro_ptr->initialize_hydro_from_jetscape_preequilibrium_vectors(
tau0,
dx, dz, z_max, nz, pre_eq_ptr->e_, pre_eq_ptr->P_,
pre_eq_ptr->utau_, pre_eq_ptr->ux_, pre_eq_ptr->uy_, pre_eq_ptr->ueta_,
pre_eq_ptr->pi00_, pre_eq_ptr->pi01_, pre_eq_ptr->pi02_,
pre_eq_ptr->pi03_, pre_eq_ptr->pi11_, pre_eq_ptr->pi12_,
pre_eq_ptr->pi13_, pre_eq_ptr->pi22_, pre_eq_ptr->pi23_,
pre_eq_ptr->pi33_, pre_eq_ptr->bulk_Pi_);
JSINFO << "initial density profile dx = " << dx << " fm";
hydro_status = INITIALIZED;
JSINFO << "number of source terms: "
Expand Down Expand Up @@ -261,7 +285,7 @@ void MpiMusic::EvolveHydro() {
has_source_terms = true;
}

if (pre_eq_ptr != nullptr) {
if (flag_preEq_output_evo_to_memory == 1) {
double tau0 = pre_eq_ptr->GetPreequilibriumEndTime();
JSINFO << "hydro initial time set by PreEq module tau0 = "
<< tau0 << " fm/c";
Expand Down Expand Up @@ -292,14 +316,13 @@ void MpiMusic::EvolveHydro() {
if (!has_source_terms) {
// only the first hydro without source term will be stored
// in memory for jet energy loss calculations
if (pre_eq_ptr == nullptr) {
if (flag_preEq_output_evo_to_memory == 0) {
clear_up_evolution_data();
}
PassHydroEvolutionHistoryToFramework();
JSINFO << "number of fluid cells received by the JETSCAPE: "
<< bulk_info.data.size();
}
music_hydro_ptr->clear_hydro_info_from_memory();
}

if (flag_output_evo_to_file == 1) {
Expand Down Expand Up @@ -368,7 +391,7 @@ void MpiMusic::SetHydroGridInfo() {

bulk_info.boost_invariant = music_hydro_ptr->is_boost_invariant();

if (pre_eq_ptr == nullptr) {
if (flag_preEq_output_evo_to_memory == 0) {
bulk_info.tau_min = music_hydro_ptr->get_hydro_tau0();
bulk_info.dtau = music_hydro_ptr->get_hydro_dtau();
bulk_info.ntau = music_hydro_ptr->get_ntau();
Expand Down Expand Up @@ -456,6 +479,7 @@ void MpiMusic::PassHydroEvolutionHistoryToFramework() {
StoreHydroEvolutionHistory(fluid_cell_info_ptr);
}
delete fluidCell_ptr;
music_hydro_ptr->clear_hydro_info_from_memory();
}

void MpiMusic::GetHydroInfo(
Expand Down
2 changes: 2 additions & 0 deletions src/hydro/MusicWrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@ class MpiMusic : public FluidDynamics {
Jetscape::real freezeout_temperature; //!< [GeV]
int doCooperFrye; //!< flag to run Cooper-Frye freeze-out
//!< for soft particles

int flag_preEq_output_evo_to_memory;
int flag_output_evo_to_file;
int flag_output_evo_to_memory;
int flag_surface_in_memory;
Expand Down
Loading