jesterTOV.eos.metamodel.MetaModel_EOS_model#
- class MetaModel_EOS_model(
- kappas=(0.0, 0.0, 0.0, 0.0, 0.0, 0.0),
- v_nq=[0.0, 0.0, 0.0, 0.0, 0.0],
- b_sat=17.0,
- b_sym=25.0,
- nsat=0.16,
- nmin_MM_nsat=0.75,
- nmax_nsat=12,
- ndat=200,
- crust_name='DH',
- max_n_crust_nsat=0.5,
- min_n_crust_nsat=2e-13,
- ndat_spline=10,
- proton_fraction=None,
Bases:
Interpolate_EOS_modelMeta-model equation of state for nuclear matter.
This class implements the meta-modeling approach for nuclear equation of state as described in Margueron et al. (Phys. Rev. C 103, 045803, 2021). The EOS is constructed by combining a realistic crust model with a meta-model for core densities based on nuclear empirical parameters (NEPs).
The meta-model uses a kinetic + potential energy decomposition:
\[\varepsilon(n, \delta) = \varepsilon_{\mathrm{kin}}(n, \delta) + \varepsilon_{\mathrm{pot}}(n, \delta)\]where \(\delta = (n_n - n_p)/n\) is the isospin asymmetry parameter.
The kinetic part is based on a Thomas-Fermi gas with relativistic corrections, while the potential part uses a polynomial expansion around saturation density \(n_0\).
- __init__(
- kappas=(0.0, 0.0, 0.0, 0.0, 0.0, 0.0),
- v_nq=[0.0, 0.0, 0.0, 0.0, 0.0],
- b_sat=17.0,
- b_sym=25.0,
- nsat=0.16,
- nmin_MM_nsat=0.75,
- nmax_nsat=12,
- ndat=200,
- crust_name='DH',
- max_n_crust_nsat=0.5,
- min_n_crust_nsat=2e-13,
- ndat_spline=10,
- proton_fraction=None,
Initialize the meta-model EOS with nuclear empirical parameters.
The meta-model approach parameterizes nuclear matter using empirical parameters measured from finite nuclei and infinite nuclear matter calculations. This implementation combines a realistic crust model with a meta-model description of the core using nuclear empirical parameters (NEPs).
Reference: Margueron et al., Phys. Rev. C 103, 045803 (2021)
Physical Framework: The meta-model decomposes the energy density as:
\[\varepsilon(n, \delta) = \varepsilon_{\mathrm{kin}}(n, \delta) + \varepsilon_{\mathrm{pot}}(n, \delta)\]where \(\delta = (n_n - n_p)/n\) is the isospin asymmetry parameter.
- Parameters:
kappas (tuple[Float, Float, Float, Float, Float, Float], optional) – Meta-model expansion coefficients \((\kappa_{\mathrm{sat}}, \kappa_{\mathrm{sat2}}, \kappa_{\mathrm{sat3}}, \kappa_{\mathrm{NM}}, \kappa_{\mathrm{NM2}}, \kappa_{\mathrm{NM3}})\). Controls the density dependence of kinetic energy corrections in the Thomas-Fermi gas approximation. These parameters modify the kinetic energy beyond the non-relativistic limit. Defaults to (0.0, 0.0, 0.0, 0.0, 0.0, 0.0).
v_nq (list[float], optional) – Quartic isospin coefficients \(v_{\mathrm{nq},\alpha}\) for symmetry energy expansion up to \(\delta^4\) terms. These control the high-order isospin dependence of the potential energy contribution. Defaults to [0.0, 0.0, 0.0, 0.0, 0.0].
b_sat (Float, optional) – Saturation parameter \(b_{\mathrm{sat}}\) controlling potential energy cutoff function. Higher values lead to sharper exponential cutoffs at high density. Defaults to 17.0.
b_sym (Float, optional) – Symmetry parameter \(b_{\mathrm{sym}}\) for isospin-dependent cutoff corrections. Modifies the cutoff parameter as \(b = b_{\mathrm{sat}} + b_{\mathrm{sym}} \delta^2\). Defaults to 25.0.
nsat (Float, optional) – Nuclear saturation density \(n_0\) [\(\mathrm{fm}^{-3}\)]. The density at which symmetric nuclear matter reaches its minimum energy per nucleon. Defaults to 0.16.
nmin_MM_nsat (Float, optional) – Starting density for meta-model region as fraction of \(n_0\). Must be above the crust-core transition density. Defaults to 0.75 (= 0.12/0.16).
nmax_nsat (Float, optional) – Maximum density for EOS construction in units of \(n_0\). Determines the high-density reach of the neutron star model. Defaults to 12.
ndat (Int, optional) – Number of density points for meta-model region discretization. Higher values provide smoother interpolation at computational cost. Defaults to 200.
crust_name (str, optional) – Crust model name (e.g., ‘DH’, ‘BPS’) or path to custom .npz file containing crust EOS data. The crust provides low-density EOS data below nuclear saturation. Defaults to ‘DH’.
max_n_crust_nsat (Float, optional) – Maximum crust density as fraction of \(n_0\). Defines the crust-core transition region where spline matching occurs. Defaults to 0.5.
ndat_spline (Int, optional) – Number of points for smooth spline interpolation across crust-core transition. Ensures thermodynamic consistency and causality preservation. Defaults to 10.
proton_fraction (bool | float | None, optional) –
Proton fraction treatment strategy:
None: Calculate \(\beta\)-equilibrium (charge neutrality + weak equilibrium)
float: Use fixed proton fraction value throughout the star
bool: Use simplified uniform composition model
\(\beta\)-equilibrium is the physical condition for neutron star matter. Defaults to None.
Note
The meta-model uses a Thomas-Fermi kinetic energy approximation with relativistic corrections controlled by the \(\kappa\) parameters, combined with a potential energy expansion around saturation density with an exponential cutoff at high densities. This approach provides a flexible framework for exploring nuclear physics uncertainties in neutron star structure calculations.
Methods
__init__([kappas, v_nq, b_sat, b_sym, nsat, ...])Initialize the meta-model EOS with nuclear empirical parameters.
compute_b(delta)compute_cs2(n, p, e, x, delta, f_1, f_star, ...)compute_energy(x, f_1, f_star, f_star2, ...)compute_f_1(delta)compute_f_star(delta)compute_f_star2(delta)compute_f_star3(delta)compute_pressure(x, f_1, f_star, f_star2, ...)compute_proton_fraction(coefficient_sym, n)Compute proton fraction from beta-equilibrium condition.
compute_v(v_sat, v_sym2, delta)compute_x(n)construct_eos(params)Construct the complete equation of state from nuclear empirical parameters.
esym(coefficient_sym, x)Return list of nuclear empirical parameters required by MetaModel.
interpolate_eos(n, p, e)Convert physical EOS quantities to geometric units and compute auxiliary quantities.
u(x, b, alpha)- compute_proton_fraction(coefficient_sym, n)[source]#
Compute proton fraction from beta-equilibrium condition.
This method solves the beta-equilibrium condition:
\[\mu_e + \mu_p - \mu_n = 0\]where the chemical potentials are related to the EOS through:
\[\mu_p - \mu_n = \frac{\partial \varepsilon}{\partial x_p} = -4 E_{\mathrm{sym}} (1 - 2x_p)\]and the electron chemical potential is \(\mu_e = \hbar c (3\pi^2 x_p n)^{1/3}\).
- Parameters:
coefficient_sym (list) – Symmetry energy expansion coefficients.
n (Float[Array, "n_points"]) – Number density [\(\mathrm{fm}^{-3}\)].
- Return type:
Float[Array, 'n_points']- Returns:
Float[Array, “n_points”] – Proton fraction \(x_p = n_p/n\) as a function of density.
- construct_eos(params)[source]#
Construct the complete equation of state from nuclear empirical parameters.
This method builds the full EOS by combining the crust model with the meta-model core, ensuring thermodynamic consistency and causality.
- Parameters:
Nuclear empirical parameters including:
E_sat: Saturation energy per nucleon [\(\mathrm{MeV}\)] (default: -16.0)
K_sat: Incompressibility at saturation [\(\mathrm{MeV}\)]
Q_sat, Z_sat: Higher-order saturation parameters [\(\mathrm{MeV}\)]
E_sym: Symmetry energy [\(\mathrm{MeV}\)]
L_sym: Symmetry energy slope [\(\mathrm{MeV}\)]
K_sym, Q_sym, Z_sym: Higher-order symmetry parameters [\(\mathrm{MeV}\)]
- Return type:
- Returns:
EOSData – Complete EOS with all required arrays