Commit 3ab02e2e authored by Matthieu Schaller's avatar Matthieu Schaller
Browse files

Rename the EAGLE SF parameters to be more explicit about their role.

parent ae7944a5
...@@ -260,10 +260,10 @@ EAGLEEntropyFloor: ...@@ -260,10 +260,10 @@ EAGLEEntropyFloor:
Jeans_over_density_threshold: 10. # Overdensity above which the EAGLE Jeans limiter entropy floor can kick in. Jeans_over_density_threshold: 10. # Overdensity above which the EAGLE Jeans limiter entropy floor can kick in.
Jeans_temperature_norm_K: 8000 # Temperature of the EAGLE Jeans limiter entropy floor at the density threshold expressed in Kelvin. Jeans_temperature_norm_K: 8000 # Temperature of the EAGLE Jeans limiter entropy floor at the density threshold expressed in Kelvin.
Jeans_gamma_effective: 1.3333333 # Slope the of the EAGLE Jeans limiter entropy floor Jeans_gamma_effective: 1.3333333 # Slope the of the EAGLE Jeans limiter entropy floor
Cool_density_threshold_H_p_cm3: 1e-5 # Physical density above which the EAGLE Cool limiter entropy floor kicks in expressed in Hydrogen atoms per cm^3. Cool_density_threshold_H_p_cm3: 1e-5 # Physical density above which the EAGLE Cool limiter entropy floor kicks in expressed in Hydrogen atoms per cm^3.
Cool_over_density_threshold: 10. # Overdensity above which the EAGLE Cool limiter entropy floor can kick in. Cool_over_density_threshold: 10. # Overdensity above which the EAGLE Cool limiter entropy floor can kick in.
Cool_temperature_norm_K: 8000 # Temperature of the EAGLE Cool limiter entropy floor at the density threshold expressed in Kelvin. Cool_temperature_norm_K: 8000 # Temperature of the EAGLE Cool limiter entropy floor at the density threshold expressed in Kelvin.
Cool_gamma_effective: 1. # Slope the of the EAGLE Cool limiter entropy floor Cool_gamma_effective: 1. # Slope the of the EAGLE Cool limiter entropy floor
# Parameters related to cooling function ---------------------------------------------- # Parameters related to cooling function ----------------------------------------------
...@@ -319,22 +319,21 @@ EAGLEChemistry: ...@@ -319,22 +319,21 @@ EAGLEChemistry:
# Parameters related to star formation models ----------------------------------------------- # Parameters related to star formation models -----------------------------------------------
# Schaye and Dalla Vecchia 2008 star formation # EAGLE star formation model (Schaye and Dalla Vecchia 2008)
SchayeSF: EAGLEStarFormation:
thresh_MinOverDens: 57.7 # The critical density contrast to form stars EOS_density_norm_H_p_cm3: 0.1 # Physical density used for the normalisation of the EOS assumed for the star-forming gas in Hydrogen atoms per cm^3.
thresh_temp: 1e5 # The critical temperature to form stars EOS_temperature_norm_K: 8000 # Temperature om the polytropic EOS assumed for star-forming gas at the density normalisation in Kelvin.
fg: 0.25 # The mass fraction in gas EOS_gamma_effective: 1.3333333 # Slope the of the polytropic EOS assumed for the star-forming gas.
SchmidtLawCoeff_MSUNpYRpKPC2: 1.515e-4 # The normalization of the Kennicutt-Schmidt law gas_fraction: 0.25 # (Optional) The gas fraction used internally by the model (Defaults to 1).
SchmidtLawExponent: 1.4 # The power law of the Kennicutt-Schmidt law KS_normalisation: 1.515e-4 # The normalization of the Kennicutt-Schmidt law in Msun / kpc^2 / yr.
SchmidtLawHighDensExponent: 2.0 # The high density exponent for the Kennicutt-Schmidt law KS_exponent: 1.4 # The exponent of the Kennicutt-Schmidt law.
SchmidtLawHighDens_thresh_HpCM3: 1e3 KS_min_over_density: 57.7 # The over-density above which star-formation is allowed.
thresh_norm_HpCM3: 0.1 # Critical sf normalization to use KS_high_density_threshold_H_p_cm3: 1e3 # Hydrogen number density above which the Kennicut-Schmidt law changes slope in Hydrogen atoms per cm^3.
thresh_max_norm_HpCM3: 10.0 # Maximum norm of the critical sf density KS_high_density_exponent: 2.0 # Slope of the Kennicut-Schmidt law above the high-density threshold.
MetDep_Z0: 0.002 # Scale metallicity to use for the equation KS_max_density_threshold_H_p_cm3: 1e5 # (Optional) Density above which a gas particle gets automatically turned into a star in Hydrogen atoms per cm^3 (Defaults to FLT_MAX).
MetDep_SFthresh_Slope: -0.64 # Scaling of the critical density with the metallicity KS_temperature_margin: 0.5 # (Optional) Logarithm base 10 of the maximal temperature difference above the EOS allowed to form stars (Defaults to FLT_MAX).
thresh_MaxPhysDensOn: 0 # Default is 0. threshold_norm_H_p_cm3: 0.1 # Normalisation of the metal-dependant density threshold for star formation in Hydrogen atoms per cm^3.
thresh_MaxOverDens_HpCM3: 1e5 # Density at which the SF law changes threshold_Z0: 0.002 # Reference metallicity (metal mass fraction) for the metal-dependant threshold for star formation.
EOS_Jeans_GammaEffective: 1.33333 # The polytropic index threshold_slope: -0.64 # Slope of the metal-dependant star formation threshold
EOS_Jeans_TemperatureNorm_K: 1e3 # No idea how this works threshold_max_density_H_p_cm3: 10.0 # Maximal density of the metal-dependant density threshold for star formation in Hydrogen atoms per cm^3.
EOS_JEANS_DensityNorm_HpCM3: 0.1 # No idea what the value is.
...@@ -45,7 +45,7 @@ struct star_formation { ...@@ -45,7 +45,7 @@ struct star_formation {
/*! Normalization of the KS star formation law (internal units) */ /*! Normalization of the KS star formation law (internal units) */
double KS_normalization; double KS_normalization;
/*! Normalization of the KS star formation law in user units */ /*! Normalization of the KS star formation law (Msun / kpc^2 / yr) */
double KS_normalization_MSUNpYRpKPC2; double KS_normalization_MSUNpYRpKPC2;
/*! Slope of the KS law */ /*! Slope of the KS law */
...@@ -60,7 +60,7 @@ struct star_formation { ...@@ -60,7 +60,7 @@ struct star_formation {
/*! KS high density normalization (internal units) */ /*! KS high density normalization (internal units) */
double KS_high_den_normalization; double KS_high_den_normalization;
/*! KS high density normalization (HpCM3) */ /*! KS high density normalization (H atoms per cm^3) */
double KS_high_den_thresh_HpCM3; double KS_high_den_thresh_HpCM3;
/*! Critical overdensity */ /*! Critical overdensity */
...@@ -84,9 +84,6 @@ struct star_formation { ...@@ -84,9 +84,6 @@ struct star_formation {
/*! Star formation high density normalization (internal units) */ /*! Star formation high density normalization (internal units) */
double SF_high_den_normalization; double SF_high_den_normalization;
/*! Inverse of RAND_MAX */
double inv_RAND_MAX;
/*! Density threshold to form stars (internal units) */ /*! Density threshold to form stars (internal units) */
double density_threshold; double density_threshold;
...@@ -96,13 +93,13 @@ struct star_formation { ...@@ -96,13 +93,13 @@ struct star_formation {
/*! Maximum density threshold to form stars (internal units) */ /*! Maximum density threshold to form stars (internal units) */
double density_threshold_max; double density_threshold_max;
/*! Maximum density threshold to form stars in user units */ /*! Maximum density threshold to form stars (H atoms per cm^3) */
float density_threshold_max_HpCM3; float density_threshold_max_HpCM3;
/*! Scaling metallicity */ /*! Reference metallicity for metal-dependant threshold */
double Z0; double Z0;
/*! one over the scaling metallicity */ /*! Inverse of reference metallicity */
double Z0_inv; double Z0_inv;
/*! critical density Metallicity power law (internal units) */ /*! critical density Metallicity power law (internal units) */
...@@ -111,22 +108,22 @@ struct star_formation { ...@@ -111,22 +108,22 @@ struct star_formation {
/*! Polytropic index */ /*! Polytropic index */
double polytropic_index; double polytropic_index;
/*! EOS pressure norm */ /*! EOS pressure norm (internal units) */
double EOS_pressure_norm; double EOS_pressure_norm;
/*! EOS Temperature norm */ /*! EOS Temperature norm (internal units) */
double EOS_temperature_norm; double EOS_temperature_norm;
/*! EOS density norm (internal units) */ /*! EOS density norm (internal units) */
double EOS_density_norm; double EOS_density_norm;
/*! EOS density norm in user units */ /*! EOS density norm (H atoms per cm^3) */
float EOS_density_norm_HpCM3; float EOS_density_norm_HpCM3;
/*! Max physical density physical units*/ /*! Max physical density (H atoms per cm^3)*/
double max_gas_density_HpCM3; double max_gas_density_HpCM3;
/*! Max physical density in internal units */ /*! Max physical density (internal units) */
double max_gas_density; double max_gas_density;
}; };
...@@ -194,15 +191,15 @@ INLINE static int star_formation_potential_to_become_star( ...@@ -194,15 +191,15 @@ INLINE static int star_formation_potential_to_become_star(
const double temperature = cooling_get_temperature(phys_const, hydro_props, const double temperature = cooling_get_temperature(phys_const, hydro_props,
us, cosmo, cooling, p, xp); us, cosmo, cooling, p, xp);
const double temperature_eos = starform->EOS_pressure_norm const double temperature_eos =
/ phys_const->const_boltzmann_k * pow(particle_density * starform->EOS_pressure_norm / phys_const->const_boltzmann_k *
p->chemistry_data.smoothed_metal_mass_fraction[0], pow(particle_density * p->chemistry_data.smoothed_metal_mass_fraction[0],
starform->polytropic_index - 1.f) * pow(starform->EOS_density_norm, starform->polytropic_index - 1.f) *
starform->polytropic_index); pow(starform->EOS_density_norm, starform->polytropic_index);
/* Check the last criteria, if the temperature is satisfied */ /* Check the last criteria, if the temperature is satisfied */
return (log10(temperature) < log10(temperature_eos) return (log10(temperature) <
+ starform->temperature_margin_threshold_dex); log10(temperature_eos) + starform->temperature_margin_threshold_dex);
} }
/** /**
...@@ -248,8 +245,8 @@ INLINE static int star_formation_convert_to_star( ...@@ -248,8 +245,8 @@ INLINE static int star_formation_convert_to_star(
/* Calculate the star formation rate */ /* Calculate the star formation rate */
SFRpergasmass = SFRpergasmass =
starform->SF_normalization * pow(pressure, starform->SF_power_law); starform->SF_normalization * pow(pressure, starform->SF_power_law);
} else if (hydro_get_physical_density(p, cosmo) > } else if (hydro_get_physical_density(p, cosmo) >
starform->max_gas_density * phys_const->const_proton_mass) { starform->max_gas_density * phys_const->const_proton_mass) {
/* We give the star formation tracers values of the mass and -1 for sSFR /* We give the star formation tracers values of the mass and -1 for sSFR
* to be able to trace them, we don't want random variables there*/ * to be able to trace them, we don't want random variables there*/
xp->sf_data.SFR = p->mass; xp->sf_data.SFR = p->mass;
...@@ -270,7 +267,8 @@ INLINE static int star_formation_convert_to_star( ...@@ -270,7 +267,8 @@ INLINE static int star_formation_convert_to_star(
unsigned int seed = (p->id + e->ti_current) % 8191; unsigned int seed = (p->id + e->ti_current) % 8191;
/* Generate a random number between 0 and 1. */ /* Generate a random number between 0 and 1. */
const double randomnumber = rand_r(&seed) * starform->inv_RAND_MAX; const double randomnumber =
rand_r(&seed); // MATTHIEU: * starform->inv_RAND_MAX;
/* Calculate if we form a star */ /* Calculate if we form a star */
return (prop > randomnumber); return (prop > randomnumber);
...@@ -350,155 +348,155 @@ INLINE static void starformation_init_backend( ...@@ -350,155 +348,155 @@ INLINE static void starformation_init_backend(
const struct unit_system* us, const struct hydro_props* hydro_props, const struct unit_system* us, const struct hydro_props* hydro_props,
struct star_formation* starform) { struct star_formation* starform) {
/* Get the appropriate constant to calculate the
* star formation constant */
const double KS_const =
phys_const->const_solar_mass /
(1e6 * phys_const->const_parsec * phys_const->const_parsec) /
phys_const->const_year;
/* Get the Gravitational constant */ /* Get the Gravitational constant */
const double G_newton = phys_const->const_newton_G; const double G_newton = phys_const->const_newton_G;
/* Get the surface density unit M_\odot / pc^2 */ /* Initial Hydrogen abundance (mass fraction) */
const double M_per_pc2 = const double X_H = hydro_props->hydrogen_mass_fraction;
/* Mean molecular weight assuming neutral gas */
const float mean_molecular_weight = hydro_props->mu_neutral;
/* Get the surface density unit Msun / pc^2 in internal units */
const double Msun_per_pc2 =
phys_const->const_solar_mass / phys_const->const_solar_mass /
(phys_const->const_parsec * phys_const->const_parsec); (phys_const->const_parsec * phys_const->const_parsec);
/* Calculate inverse of RAND_MAX for the random numbers */ /* Get the SF surface density unit Msun / pc^2 / yr in internal units */
starform->inv_RAND_MAX = 1.f / RAND_MAX; const double Msun_per_pc2_per_year = Msun_per_pc2 / phys_const->const_year;
/* Conversion of number density from cgs */ /* Conversion of number density from cgs */
static const float dimension_numb_den[5] = {0, -3, 0, 0, 0}; const double number_density_from_cgs =
const double conversion_numb_density = 1. / units_cgs_conversion_factor(us, UNIT_CONV_NUMBER_DENSITY);
1 / units_general_cgs_conversion_factor(us, dimension_numb_den);
/* Quantities that have to do with the Normal Kennicutt- /* Quantities that have to do with the Normal Kennicutt-
* Schmidt law will be read in this part of the code*/ * Schmidt law will be read in this part of the code*/
/* Load the equation of state for this model */
starform->polytropic_index = parser_get_param_double(
parameter_file, "EAGLEStarFormation:EOS_gamma_effective");
starform->EOS_temperature_norm = parser_get_param_double(
parameter_file, "EAGLEStarFormation:EOS_temperature_norm_K");
starform->EOS_density_norm_HpCM3 = parser_get_param_double(
parameter_file, "EAGLEStarFormation:EOS_density_threshold_H_p_cm3");
starform->EOS_density_norm =
starform->EOS_density_norm_HpCM3 * number_density_from_cgs;
/* Calculate the EOS pressure normalization */
starform->EOS_pressure_norm =
starform->EOS_density_norm * starform->EOS_temperature_norm *
phys_const->const_boltzmann_k / mean_molecular_weight / X_H;
/* Read the critical density contrast from the parameter file*/ /* Read the critical density contrast from the parameter file*/
starform->min_over_den = starform->min_over_den = parser_get_param_double(
parser_get_param_double(parameter_file, "EAGLEStarFormation:thresh_MinOverDens"); parameter_file, "EAGLEStarFormation:KS_min_over_density");
/* Read the critical temperature from the parameter file */ /* Read the critical temperature from the parameter file */
starform->temperature_margin_threshold_dex = starform->temperature_margin_threshold_dex = parser_get_param_double(
parser_get_param_double(parameter_file, parameter_file, "EAGLEStarFormation:temperature_margin_threshold_dex");
"EAGLEStarFormation:temperature_margin_threshold_dex");
/* Read the gas fraction from the file */ /* Read the gas fraction from the file */
starform->fgas = parser_get_param_double(parameter_file, "EAGLEStarFormation:fg"); starform->fgas = parser_get_opt_param_double(
parameter_file, "EAGLEStarFormation:gas_fraction", 1.);
/* Read the normalization of the KS law in KS law units */
starform->KS_normalization_MSUNpYRpKPC2 = parser_get_param_double(
parameter_file, "EAGLEStarFormation:SchmidtLawCoeff_MSUNpYRpKPC2");
/* Read the Kennicutt-Schmidt power law exponent */ /* Read the Kennicutt-Schmidt power law exponent */
starform->KS_power_law = starform->KS_power_law =
parser_get_param_double(parameter_file, "EAGLEStarFormation:SchmidtLawExponent"); parser_get_param_double(parameter_file, "EAGLEStarFormation:KS_exponent");
/* Calculate the power law of the corresponding star formation Schmidt law */
starform->SF_power_law = (starform->KS_power_law - 1.) / 2.;
/* Calculate the power law of the star formation */ /* Read the normalization of the KS law in KS law units */
starform->SF_power_law = (starform->KS_power_law - 1.f) / 2.f; starform->KS_normalization_MSUNpYRpKPC2 = parser_get_param_double(
parameter_file, "EAGLEStarFormation:KS_normalisation");
/* Give the Kennicutt-Schmidt law the same units as internal units */ /* Convert to internal units */
starform->KS_normalization = starform->KS_normalization =
starform->KS_normalization_MSUNpYRpKPC2 * KS_const; starform->KS_normalization_MSUNpYRpKPC2 * Msun_per_pc2_per_year;
/* Calculate the starformation prefactor with most terms */ /* Calculate the starformation pre-factor (eq. 12 of Schaye & Dalla Vecchia
* 2008) */
starform->SF_normalization = starform->SF_normalization =
starform->KS_normalization * pow(M_per_pc2, -starform->KS_power_law) * starform->KS_normalization * pow(Msun_per_pc2, -starform->KS_power_law) *
pow(hydro_gamma * starform->fgas / G_newton, starform->SF_power_law); pow(hydro_gamma * starform->fgas / G_newton, starform->SF_power_law);
/* Read the high density Kennicutt-Schmidt power law exponent */ /* Read the high density Kennicutt-Schmidt power law exponent */
starform->KS_high_den_power_law = parser_get_param_double( starform->KS_high_den_power_law = parser_get_param_double(
parameter_file, "EAGLEStarFormation:SchmidtLawHighDensExponent"); parameter_file, "EAGLEStarFormation:KS_high_density_exponent");
/* Read the high density criteria for the KS law in number density per cm^3 */
starform->KS_high_den_thresh_HpCM3 = parser_get_param_double(
parameter_file, "EAGLEStarFormation:SchmidtLawHighDens_thresh_HpCM3");
/* Transform the KS high density criteria to simulation units */
starform->KS_high_den_thresh =
starform->KS_high_den_thresh_HpCM3 * conversion_numb_density;
/* Calculate the SF high density power law */ /* Calculate the SF high density power law */
starform->SF_high_den_power_law = starform->SF_high_den_power_law =
(starform->KS_high_den_power_law - 1.f) / 2.f; (starform->KS_high_den_power_law - 1.f) / 2.f;
/* Load the equation of state for this model */ /* Read the high density criteria for the KS law in number density per cm^3 */
starform->polytropic_index = parser_get_param_double( starform->KS_high_den_thresh_HpCM3 =
parameter_file, "EAGLEEntropyFloor:Jeans_gamma_effective"); parser_get_param_double(parameter_file, "KS_high_density_threshold");
starform->EOS_temperature_norm = parser_get_param_double(
parameter_file, "EAGLEEntropyFloor:Jeans_temperature_norm_K");
starform->EOS_density_norm_HpCM3 = parser_get_param_double(
parameter_file, "EAGLEEntropyFloor:Jeans_density_threshold_H_p_cm3");
starform->EOS_density_norm =
starform->EOS_density_norm_HpCM3 * conversion_numb_density;
/* Initial Hydrogen abundance (mass fraction) */
const double X_H = hydro_props->hydrogen_mass_fraction;
/* We assume neutral gas */
const float mean_molecular_weight = hydro_props->mu_neutral;
/* Calculate the EOS pressure normalization */ /* Transform the KS high density criteria to simulation units */
starform->EOS_pressure_norm = starform->KS_high_den_thresh =
starform->EOS_density_norm * starform->EOS_temperature_norm * starform->KS_high_den_thresh_HpCM3 * number_density_from_cgs;
phys_const->const_boltzmann_k / mean_molecular_weight / X_H;
/* Pressure at the high-density threshold */
const double EOS_high_den_pressure = const double EOS_high_den_pressure =
starform->EOS_pressure_norm * starform->EOS_pressure_norm *
pow(starform->KS_high_den_thresh / starform->EOS_density_norm, pow(starform->KS_high_den_thresh / starform->EOS_density_norm,
starform->polytropic_index); starform->polytropic_index);
/* Calculate the KS high density normalization */ /* Calculate the KS high density normalization
* We want the SF law to be continous so the normalisation of the second
* power-law is the value of the first power-law at the high-density threshold */
starform->KS_high_den_normalization = starform->KS_high_den_normalization =
starform->KS_normalization * starform->KS_normalization *
pow(M_per_pc2, starform->KS_high_den_power_law - starform->KS_power_law) * pow(Msun_per_pc2,
pow(hydro_gamma * starform->fgas / G_newton * EOS_high_den_pressure, starform->KS_high_den_power_law - starform->KS_power_law) *
(starform->KS_power_law - starform->KS_high_den_power_law) / 2.f); pow(hydro_gamma * EOS_high_den_pressure * starform->fgas / G_newton,
(starform->KS_power_law - starform->KS_high_den_power_law) * 0.5f);
/* Calculate the SF high density normalization */ /* Calculate the SF high density normalization */
starform->SF_high_den_normalization = starform->SF_high_den_normalization =
starform->KS_high_den_normalization * starform->KS_high_den_normalization *
pow(M_per_pc2, -starform->KS_high_den_power_law) * pow(Msun_per_pc2, -starform->KS_high_den_power_law) *
pow(hydro_gamma * starform->fgas / G_newton, pow(hydro_gamma * starform->fgas / G_newton,
starform->SF_high_den_power_law); starform->SF_high_den_power_law);
/* Use the Schaye (2004) metallicity dependent critical density /* Get the maximum physical density for SF */
* to form stars. */ starform->max_gas_density_HpCM3 = parser_get_opt_param_double(
parameter_file, "EAGLEStarFormation:KS_max_density_threshold", FLT_MAX);
/* Convert the maximum physical density to internal units */
starform->max_gas_density =
starform->max_gas_density_HpCM3 * number_density_from_cgs;
starform->temperature_margin_threshold_dex =
parser_get_opt_param_float(parameter_file, "EAGLEStarFormation:KS_temperature_margin",
FLT_MAX);
/* Read the normalization of the metallicity dependent critical /* Read the normalization of the metallicity dependent critical
* density*/ * density*/
starform->density_threshold_HpCM3 = starform->density_threshold_HpCM3 = parser_get_param_double(
parser_get_param_double(parameter_file, "EAGLEStarFormation:thresh_norm_HpCM3"); parameter_file, "EAGLEStarFormation:threshold_norm_H_p_cm3");
/* Convert to internal units */
starform->density_threshold = starform->density_threshold =
starform->density_threshold_HpCM3 * conversion_numb_density; starform->density_threshold_HpCM3 * number_density_from_cgs;
/* Read the scale metallicity Z0 */ /* Read the scale metallicity Z0 */
starform->Z0 = parser_get_param_double(parameter_file, "EAGLEStarFormation:MetDep_Z0"); starform->Z0 =
parser_get_param_double(parameter_file, "EAGLEStarFormation:threshold_Z0");
/* Read the power law of the critical density scaling */ /* Read the power law of the critical density scaling */
starform->n_Z0 = starform->n_Z0 = parser_get_param_double(
parser_get_param_double(parameter_file, "EAGLEStarFormation:MetDep_SFthresh_Slope"); parameter_file, "EAGLEStarFormation:threshold_slope");
/* Read the maximum allowed density for star formation */ /* Read the maximum allowed density for star formation */
starform->density_threshold_max_HpCM3 = starform->density_threshold_max_HpCM3 = parser_get_param_double(
parser_get_param_double(parameter_file, "EAGLEStarFormation:thresh_max_norm_HpCM3"); parameter_file, "EAGLEStarFormation:threshold_max_density_H_p_cm3");
starform->density_threshold_max = starform->density_threshold_max =
starform->density_threshold_max_HpCM3 * conversion_numb_density; starform->density_threshold_max_HpCM3 * number_density_from_cgs;
/* Claculate 1 over the metallicity */ /* Claculate 1 over the metallicity */
starform->Z0_inv = 1 / starform->Z0; starform->Z0_inv = 1 / starform->Z0;
/* If we want to run with a maximum critical density which instantly converts
* a gas particle to a star */
/* Get the maximum physical density */
starform->max_gas_density_HpCM3 = parser_get_opt_param_double(parameter_file,
"EAGLEStarFormation:max_gas_density_HpCM3", FLT_MAX);
/* Calculate the maximum physical density in internal units */
starform->max_gas_density = starform->max_gas_density_HpCM3 * conversion_numb_density;
} }
/** /**
...@@ -534,8 +532,8 @@ INLINE static void starformation_print_backend( ...@@ -534,8 +532,8 @@ INLINE static void starformation_print_backend(
message("Temperature threshold is given by Dalla Vecchia and Schaye (2012)"); message("Temperature threshold is given by Dalla Vecchia and Schaye (2012)");
message("The temperature threshold offset from the EOS is given by: %e dex", message("The temperature threshold offset from the EOS is given by: %e dex",
starform->temperature_margin_threshold_dex); starform->temperature_margin_threshold_dex);
message("Running with a maximum gas density given by: %e #/cm^3", message("Running with a maximum gas density given by: %e #/cm^3",
starform->max_gas_density_HpCM3); starform->max_gas_density_HpCM3);
} }
/* Starformation history struct */ /* Starformation history struct */
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment