History
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[v2.0.0 - 2024-10-01]
Summary
Included the functionality of NEoST to allow for the possibility of fermionic or bosonic asymmetric dark matter (ADM) using the Nelson et al. 2018 ADM model.
Added
Two-fluid TOV solver in both python and cython that allows for an additional ADM component in the GR stellar structure equations. (TOVdm.pyx and TOVdm_python.py)
Included the two-fluid tidal-deformability equations.
Prior and posterior examples which include the possibility of ADM
A simple tutorial showing how to compute the ADM admixed neutron star mass-radius and mass-tidal relations in NEoST.
ADM functionality in base.py with “fchi_calc” and “find_epsdm_cent” functions.
Calling functions in Star.py to access ADM mass and radius
ADM EOS in polytropes.py, speedofsound.py, and tablualted.py
ADM functionality in Likelihood.py with hard-cut offs included to eliminate non-physical parts of the ADM EOS parameter space.
ADM functionality in PosteriorAnalysis.py
ADM sampling in Prior.py such that ‘mchi’ (ADM particle mass) and ‘gchi_over_mphi’ (effective ADM self-repulsion strength) are sampled log-uniformly.
Attribution
NEoST core team
[v1.0.0 - 2024-09-11]
Summary
Modernized installation, use standard python abbreviations “np” and “plt”, updated JOSS paper, minor bug fixes
Fixed
A numpy ragged-array issue in PosteriorAnalysis.compute_table_data()
Added
Rutherford 2024 paper to publication list
New main installation script: pyproject.toml
Simple makefile that can install NEoST and also clean up generated files to simplify installation troubleshooting
Reinstated tested instructions for compiling the documentation
Removed
Unused imports and commented-out code
Changed
The content and purpose of setup.py. This file is no longer the main installation script; its only purpose is to compile the Cython TOV solvers. To not compile these in case of issues, simply rename or delete setup.py.
Installation instructions when not using conda
Attribution
NEoST core team
[v0.10.0 - 2024-07-10]
Summary
Updates to the code and documentation for the 2024 ApJL paper, compatibility improvements
Fixed
Compatibility issues:
A couple of numpy “ragged arrays” problems, which numpy no longer supports. Two in neost/Likelihood.py, and one in the initial_conditions() function in neost/tovsolvers/TOVr_python.py. The ragged arrays were previously constructed similar to np.array([x1, [x2], x3, [x4]]) whereas in this version they are constructed like np.array([x1, x2, x3, x4]).
Cython 3 compilation issue.
Use “density” instead of “normed” in numpy.histogramdd.
seaborn.kdeplot: Use “fill” instead of “shade”, “levels” instead of “n_levels”, “cmap” instead of “colors”, and modify the supplied values accordingly
Function name change: scipy.integrate.cumtrapz is now called scipy.integrate.cumulative_trapezoid. This was introduced in scipy 1.6 and the old name will become deprecated in scipy 1.14.
Some minor plotting warnings
Added
New Keller-N2LO and Keller-N3LO crusts
neost.PosteriorAnalysis.compute_table_data() function which computes a number of quantities published in tables in the 2024 ApJL paper.
neost.PosteriorAnalysis.compute_prior_auxiliary_data() function, which is a simplified and faster version of neost.PosteriorAnalysis.compute_auxiliary_data().
A “likelihood function” for prior samplings, which checks that our imposed constraints are fulfilled. No actual data is used in this “likelihood” so our priors are still priors.
Use scipy.interpolate.interp1d if scipy.interpolate.UnivariateSpline fails in neost.eos.polytropes
Removed
Dependencies: getdist, alive_progress
Functionality: the option to plot two distributions at the same time using neost.PosteriorAnalysis.mass_radius_prior_predictive_plot().
Changed
Cython TOV solvers no longer print “using c code”. Python TOV solvers, on the other hand, now raise a warning when they are in use.
Renamed build.py to setup.py to enable installing with pip
Updated core team membership
Deprecated
Scipy < 1.6 no longer supported due to the name change of scipy.integrate.cumtrapz.
Attribution
NEoST core team
[v0.9.1] - 2023-09-20
Summary
Minor changes to all documentation and tutorials + submitted version of JOSS paper.
Added
JOSS paper (submitted version)
Changed
Updates to all tutorials and documentation.
Attribution
NEoST core team
[v0.9.0] - 2023-09-07
Summary
First public release of repository.