EoSSetup

EoSSetup#

Overview#

This entry contains all relevant information regarding how program is supposed to interpret the supplied EoS. In particular, one specifies here EoS datafile format, interpolation kind, column to quantity mapping, units, particle species etc. In what follows we discuss all the possible settings under this entry.

In order to refer to an example, see presupplied/APR4/RHMconfig.json and presupplied/APR4/APR_EOS_Acc_Fe_RHMstandard.dat.

Description#

  • "Datafile" : Contains all relevant knowledge regarding EoS datafile structure.

    • "Path" (string, [TOV, COOL, RH]) : valid path to the EoS datafile.

    • "Rows" (uint pair, [TOV, COOL, RH]) : [first, last) row in the inputfile to consider (counting from 0th). Assumes whole file, if not specified. Last row may be specified as 0 to indicate the last row in the file.

    • "Columns" (uint pair, [TOV, COOL, RH]) : [first, last) row in the inputfile to consider (counting from 0th). Deduces from the first row, if not specified. Last column may be specified as 0 to indicate the last column in the file.

    Warning

    Be advised that any uint entry (a.k.a. size_t in C++) will happily consume negative values(causing overflow), if supplied as such. Since it is usually not the intended behavior, though silently allowed, make sure you supply meaningful values. This applies to all uint entries in the inputfile, as well as within the instantiator.

    • "Interpolation" (string, [TOV, COOL, RH]) : Interpolation kind to be used across all columns. Choose from [“Linear”, “Cubic”], with “Cubic” being default.

    Note

    “Cubic” mode ensures monotonicity between consecutive nodes, what makes it as stable as “Linear” option even for abrupt functions. “Linear” mode may be a choice, though, if you want to replicate derivative discontinuities.

  • "Particles" (string array, [COOL, RH]) : Names for the particles, available in the EoS. Must strictly and uniquely match with predefined list [“Neutron”, “Proton”, “Electron”, “Muon”, “Tau”, “Uquark”, “Dquark”, “Squark”].

Warning

Be adviced that for each particle there is an expected mandatory list of properties (see below), so refrain from adding particles, which are not present in the EoS.

  • "Quantities" : A linker between EoS columns and the way the supply data to RHM.

    • "BaryonicDensity" : total baryonic density at the point.

      • "Units" (string/double, [TOV, COOL, RH]) : Conversion factor to natural units (GeV powers). It must either be supplied as a choice from [“Gev3”, “Fm-3”], or as an actual multiplier.

      Note

      Example : if your units are \(m^{-3}\), the factor must be set to \(\frac{1}{\text{m}^3\cdot \text{GeV}^3} \approx 7.72\text{E-}48\), since \(n_b[\text{GeV}^3] = \dfrac{n_b[\text{m}^{-3}] \cdot \text{m}^{-3}}{\text{GeV}^3} = n_b[\text{m}^{-3}] \cdot \frac{1}{\text{m}^3\cdot \text{GeV}^3}\)

      • "Column" (uint, [TOV, COOL, RH]) : Column number with baryonic density, counting from 0th.

      • "Low" (double, [TOV, COOL, RH]) : Smallest \(n_b\), available for access. If not supplied, the minimum value within the datafile is substituted.

      • "Upp" (double, [TOV, COOL, RH]) : Biggest \(n_b\), available for access. If not supplied, the maximum value within the datafile is substituted.

      • "SuperfluidShift" (double, [COOL, RH]) : \(n_b\) upon entering core. Is used to separate the neutron 1S0/3P2 superfluidity regions. Defaults to pure 3P2.

    • "EnergyDensity" : Total energy density at the point.

      • "Units" (string/double, [TOV, COOL, RH]) : Conversion factor to natural units (GeV powers). Choose from [“Gev4”, “MevFm-3”, “GCm-3”], or specify an actual multiplier.

      • "Column" (uint, [TOV, COOL, RH]) : Column number with energy density, counting from 0th.

    • "Pressure" : Total pressure at the point.

      • "Units" (string/double, [TOV, COOL, RH]) : Conversion factor to natural units (GeV powers). Choose from [“Gev4”, “MevFm-3”, “DyneCm-2”], or specify an actual multiplier.

      • "Column" (uint, [TOV, COOL, RH]) : Column number with pressure, counting from 0th.

    • "NumberDensities" : Number densities per each particle at the point.

      • "$PARTICLE_NAME" : Properties, related to a specific particle. Substitute the entry name with actual species among provided in “Particles” array one by one.

        • "Column" (uint, [COOL, RH]) : Column number with number density for given particle, counting from 0th.

        • "ProvidedAs (string, [COOL, RH]) : The way the number density is provided. Choose from [“Density”, “DensityFraction”, “KFermi”]. “Density” mode expects actual number density, “DensityFraction” mode expects ratio of the number density to the total baryonic density, “KFermi” mode expects Fermi momentum of the particle. Defaults to “Density”.

        • "Units" (string/double, [COOL, RH]) : Conversion factor to natural units (GeV powers). Choose from [“Gev3”, “Fm-3”, “DimLess”, “Gev”, “Fm-1”], or specify an actual multiplier. Defaults to the “Units” entry of “BaryonicDensity”.

      Warning

      The dimensionality are different for different provision modes; it is user’s responsibility to provide correct units.

    • "EffectiveMasses" : Effective masses per each particle at the point.

      • "$PARTICLE_NAME" : Properties, related to a specific particle. Substitute the entry name with actual (fermion) species among provided in “Particles” array one by one.

        • "Column" (uint, [COOL, RH]) : Column number with effective mass for given particle, counting from 0th.

        • "ProvidedAs" (string, [COOL, RH]) : The way the effective mass is provided. Choose from [“FermiEnergy”, “EffectiveMass”]. “FermiEnergy” mode incurs the effective mass via relativistic formula with Fermi momentum (occasionally applicable for light particles) and “EffectiveMass” mode expects actual effective mass. If “FermiEnergy” mode is chosen, the “Column” and “Units” entries are ignored.

        • "Units" (string/double, [COOL, RH]) : Conversion factor to natural units (GeV powers). Choose from [“Gev”, “MeV”, “NucleonMass”], or specify an actual multiplier. If “FermiEnergy” mode is chosen, “Units” are disregarded.

    • "IonVolumeFraction" : Ion volume fraction in the crust at the point. Affects neutrino bremsstrahlung in the crust.

      • "Column" (uint, [COOL, RH]) : Column number with ion volume fraction, counting from 0th.

      • "ProvidedAs" (string, [COOL, RH]) : The way the ion volume fraction is provided. Choose from [“IonVolumeFraction”, “Absent”, “ExcludedVolume”]. “IonVolumeFraction” mode expects actual ion volume fraction, “Absent” mode renders the ratio zero and “ExcludedVolume” mode performs calculation in the crustal region \(\eta = \dfrac{4}{3}\pi (1.1 \text{fm})^3 \dfrac{\rho_E}{m_{\text{nucleon}}}\). Defaults to “Absent”. “Column” entry is only used in “IonVolumeFraction” mode.

      Note

      Units are dimensionless for all modes.

      devnote

      This quantity could use some citation and explanation.

    • "QuarkSuperconductingGap" : Superconductive gap for quarks at the point. Noticeably affects all quark cooling channels as \(\sim \exp{\left[-\frac{\Delta}{T}\right]}\), with \(\Delta\) being the gap and \(T\) being local temperature. Assumed to be zero, if not specified.

      • "Column" (uint, [COOL, RH]) : Column number with quark superconducting gap, counting from 0th. If not specified, the gap is assumed to be absent for all quarks.

      • "Units" (string/double, [COOL, RH]) : Conversion factor to natural units (GeV powers). Choose from [“Gev”, “MeV”, “Fm-1”], or specify an actual multiplier.

      devnote

      This quantity could use some variety in provision modes.

    • "DensityChemPotentialDerivatives" : \(b_{ij} = \frac{\partial n_i}{\partial \mu_j}\Bigg{|}_{\mu_{\ne j}}\) matrix, necessary for rotochemical heating simulation [FR05].

      • "Units" (string/double, [RH]) : Conversion factor of \(b_{ij}\) to natural units (GeV powers). Choose from [“Gev2”, “Mev-1Fm-3”], or specify an actual multiplier.

      • "$PARTICLE_NAME_1" : Column particle. Substitute the entry name with actual species.

        • "$PARTICLE_NAME_2" : Row particle. Substitute the entry name with actual species. One may supply \(b_{ee}, b_{e\mu}, b_{\mu\mu}, b_{uu}, b_{us}, b_{ss}\), while unsupplemented quantities are assumed zero. Currently, other elements are ignored.

          • "Column" (uint, [RH]) : Column number with \(b_{ij}\). If not specified, assumed to be zero.

        Note

        The matrix is presumed to be symmetric, so please refrain from supplying both \(b_{ij}\) and \(b_{ji}\), as one of them will be ignored.

  • "Misc" : Miscellaneous EoS settings, unfit under entries above.

    • "CrustalEta" (double, [COOL, RH]) : Light element share in the atmosphere [PCY97].

    • "ProtonSuperfluidity1S0" (string, [COOL, RH]) : Critical temperature model for protons in 1S0 superfluid state. Choose from [“CCDK”, “AO”, “BS”, “BCLL”] [HEHP15], with normal fluidity being default.

    • "NeutronSuperfluidity1S0" (string, [COOL, RH]) : Critical temperature model for neutrons in 1S0 superfluid state. Choose from [“GIPSF”, “MSH”, “AWP2”, “SFB”] [HEHP15], with normal fluidity being default.

    • "NeutronSuperfluidity3P2" (string, [COOL, RH]) : Critical temperature model for neutrons in 3P2 superfluid state. Choose from [“AO”, “TTOA”, “BEEHS”, “TTAV”, “A”, “B”, “C”] [HEHP15], with normal fluidity being default.

    Note

    There is an interplay, if one enables both 1S0 and 3P2 superfluidity for neutrons. In this case, the critical temperature will be imposed as 3P2 above SF shift and 1S0 beyond it.