diff --git a/src/cooling/EAGLE/cooling.c b/src/cooling/EAGLE/cooling.c index 87c12e73d970b4d1caa6ce33c20666556463e08c..95fe93cea8eb2c254e0c151f8203b2afbeaa168f 100644 --- a/src/cooling/EAGLE/cooling.c +++ b/src/cooling/EAGLE/cooling.c @@ -209,7 +209,8 @@ INLINE static float newton_iter( const float log_table_bound_low = (cooling->Therm[0] + 0.05) / M_LOG10E; /* convert Hydrogen mass fraction in Hydrogen number density */ - const float XH = p->chemistry_data.metal_mass_fraction[chemistry_element_H]; + const float XH = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_H]; const double n_H = hydro_get_physical_density(p, cosmo) * XH / phys_const->const_proton_mass; const double n_H_cgs = n_H * cooling->number_density_to_cgs; @@ -501,8 +502,10 @@ void cooling_cool_part(const struct phys_const *phys_const, abundance_ratio_to_solar(p, cooling, abundance_ratio); /* Get the Hydrogen and Helium mass fractions */ - const float XH = p->chemistry_data.metal_mass_fraction[chemistry_element_H]; - const float XHe = p->chemistry_data.metal_mass_fraction[chemistry_element_He]; + const float XH = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_H]; + const float XHe = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_He]; /* Get the Helium mass fraction. Note that this is He / (H + He), i.e. a * metal-free Helium mass fraction as per the Wiersma+08 definition */ @@ -719,8 +722,10 @@ float cooling_get_temperature( const double u_cgs = u * cooling->internal_energy_to_cgs; /* Get the Hydrogen and Helium mass fractions */ - const float XH = p->chemistry_data.metal_mass_fraction[chemistry_element_H]; - const float XHe = p->chemistry_data.metal_mass_fraction[chemistry_element_He]; + const float XH = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_H]; + const float XHe = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_He]; /* Get the Helium mass fraction. Note that this is He / (H + He), i.e. a * metal-free Helium mass fraction as per the Wiersma+08 definition */ diff --git a/src/cooling/EAGLE/cooling_rates.h b/src/cooling/EAGLE/cooling_rates.h index d315a5ba339956828505c5f48165abdd2b2e0486..35a53b43fb26466686fa87704ec174a849667a78 100644 --- a/src/cooling/EAGLE/cooling_rates.h +++ b/src/cooling/EAGLE/cooling_rates.h @@ -54,39 +54,49 @@ __attribute__((always_inline)) INLINE void abundance_ratio_to_solar( const struct part *p, const struct cooling_function_data *cooling, float ratio_solar[chemistry_element_count + 2]) { - ratio_solar[0] = p->chemistry_data.metal_mass_fraction[chemistry_element_H] * - cooling->SolarAbundances_inv[0 /* H */]; + ratio_solar[0] = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_H] * + cooling->SolarAbundances_inv[0 /* H */]; - ratio_solar[1] = p->chemistry_data.metal_mass_fraction[chemistry_element_He] * - cooling->SolarAbundances_inv[1 /* He */]; + ratio_solar[1] = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_He] * + cooling->SolarAbundances_inv[1 /* He */]; - ratio_solar[2] = p->chemistry_data.metal_mass_fraction[chemistry_element_C] * - cooling->SolarAbundances_inv[2 /* C */]; + ratio_solar[2] = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_C] * + cooling->SolarAbundances_inv[2 /* C */]; - ratio_solar[3] = p->chemistry_data.metal_mass_fraction[chemistry_element_N] * - cooling->SolarAbundances_inv[3 /* N */]; + ratio_solar[3] = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_N] * + cooling->SolarAbundances_inv[3 /* N */]; - ratio_solar[4] = p->chemistry_data.metal_mass_fraction[chemistry_element_O] * - cooling->SolarAbundances_inv[4 /* O */]; + ratio_solar[4] = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_O] * + cooling->SolarAbundances_inv[4 /* O */]; - ratio_solar[5] = p->chemistry_data.metal_mass_fraction[chemistry_element_Ne] * - cooling->SolarAbundances_inv[5 /* Ne */]; + ratio_solar[5] = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_Ne] * + cooling->SolarAbundances_inv[5 /* Ne */]; - ratio_solar[6] = p->chemistry_data.metal_mass_fraction[chemistry_element_Mg] * - cooling->SolarAbundances_inv[6 /* Mg */]; + ratio_solar[6] = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_Mg] * + cooling->SolarAbundances_inv[6 /* Mg */]; - ratio_solar[7] = p->chemistry_data.metal_mass_fraction[chemistry_element_Si] * - cooling->SolarAbundances_inv[7 /* Si */]; + ratio_solar[7] = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_Si] * + cooling->SolarAbundances_inv[7 /* Si */]; /* For S, we use the same ratio as Si */ - ratio_solar[8] = p->chemistry_data.metal_mass_fraction[chemistry_element_Si] * - cooling->SolarAbundances_inv[7 /* Si */] * - cooling->S_over_Si_ratio_in_solar; + ratio_solar[8] = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_Si] * + cooling->SolarAbundances_inv[7 /* Si */] * + cooling->S_over_Si_ratio_in_solar; /* For Ca, we use the same ratio as Si */ - ratio_solar[9] = p->chemistry_data.metal_mass_fraction[chemistry_element_Si] * - cooling->SolarAbundances_inv[7 /* Si */] * - cooling->Ca_over_Si_ratio_in_solar; + ratio_solar[9] = + p->chemistry_data.smoothed_metal_mass_fraction[chemistry_element_Si] * + cooling->SolarAbundances_inv[7 /* Si */] * + cooling->Ca_over_Si_ratio_in_solar; ratio_solar[10] = p->chemistry_data.metal_mass_fraction[chemistry_element_Fe] *