Releases: pynucastro/pynucastro
pynucastro 2.2.0
2.2.0
-
Switch to using math.fsum() instead of sum() for better python
3.12 compatibility (#720) -
Some modernization of the AMReX-Astro C++ code output (#709, #714,
#717) -
Documentation improvements, including references and contributing
instructions, and NSE table (#669, #679, #695, #697, #706, #707) -
Clean-up up some plot interfaces to always take rho, T, comp in
that order (#693) -
A new constants module was added to provide fundamental constants
(#688) -
A new NumpyNetwork was added for use with the rate reduction
algorithm (#684) -
Neutrino cooling routines based on Itoh et al. 1996 were added
(#628) -
A new method for generating an NSE table was added (#676)
-
A new NSENetwork class was added for dealing with NSE (#675)
-
Moved some screening utilities out of RateCollection (#666)
-
A PythonNetwork now write out a function to compute the energy
release (#640)
pynucastro 2.1.1
2.1.1
-
RateCollection.evaluate_energy_generation()
can now return the
neutrino losses from weak rates separately. (#665) -
AmrexAstroCxxNetwork
now capitalizes the species names to be
consistent with other AMReX-Astro Microphysics networks (#652) -
The pynucastro project configuration was updated and reorganized
to pyproject.toml (#657, #660, #661) -
Library.get_rate_by_name
no longer returns None if one of
the input rate names is not found (#659) -
A C++ indexing error at the boundary of a weak rate table was
fixed. (#654) -
The C++ AmrexAstroCxxNetwork for evaluating weak rate neutrino
losses was cleaned up to fix a bounds error (#655) -
We now explicitly check in the C++ code if a weak rate table
if found and contains data (#654) -
a RateCollection now enforces that there are no duplicate rates. A
find_duplicate_links()
method has been added toLibrary
to allow
one to construct aLibrary
without duplicates and then create a
RateCollection
or other network from that. (#651) -
The positron rates in the Langanke weak rate tables have been
merged with the corresponding electron rates and the n <-> p rate
was added (#648) -
The
Composition.bin_as()
method now takes a list of nuclei
to exclude from being binned into (#642) -
RateCollection.evaluate_ydots()
now can take a filter to
only evaluate a subset of the rates. (#641)
pynucastro 2.1.0
-
add
eval_zbar()
to Composition (#632) -
fix
get_rate_by_name
to work with "pp" reactions (#632) -
created a method to reduce a Composition from one set
of nuclei to another based on the nuclei masses and
charge number (#625) -
switch AmrexAstroCxxNetwork to do bilinear interpolation
in terms of log(T) and log(rhoY) (#592, #611) -
tabular rates in python now do linear interpolation (#602)
-
added an example of creating a custom rate (#615)
-
Rate now calls
_set_q()
to set the Q value if it is not
passed in (#617) -
added a TableInterpolator that works both for interactive
python and PythonNetwork (#612, 610, 609) -
added a RateCollection method to find duplicate links (#601)
-
python networks with tabular rates now copy the table files (#605)
-
added a
get_nuclei_in_range
method to return a range of
nuclei (#593) -
we now do a binary search in the C++ partition function
interpolation (#581) -
added the weak rates from Langanke 2001 (#536)
-
cleaned up partition functions in C++ (#578, 573, 569, 565)
-
converted the Suzuki tabular rates to be in terms of log (#550)
-
fixed a bounds issue in C++ table interpolation (#566)
-
eliminated a variable length array in the C++ table interpolation
(#567) -
added rate indices to the C++ networks (#563)
-
added a network reduction algorithm (#529, #528, #527, #526, #525,
#523) -
added a molar fraction method to Composition (#546)
-
added examples of interfacing with Julia (#539)
-
added a code of conduct (#504)
-
added gamma heating to tabular weak rates (#502)
pynucastro 2.0.3
2.0.3
-
add functions to numerically evaluate the Jacobian (#467)
-
Fix C++ compilation with partition functions and approximate
rates and derived rates (#407, #494) -
The Explorer class now takes all of the options as
RateCollection.plot() (#496) -
Rates edges can be highlighted via a user-defined function in the
RateCollection plot (#486) -
All of the plot routines in RateCollection now return a
matplotlib Figure object (#490) -
add get_rate_by_nuclei and add_rate to Library() (#484)
-
RateCollection.remove_rates() can now act on a single rate and a
new method, add_rates(), will add a rate directly to the
collection. -
Fixed printing of TabularLibrary (#479)
-
Documentation updates (#473)
-
added get_rate_by_name to RateCollection (#468)
-
added tabular rates to PythonNetwork (#451)
-
fixed NSE state for network without protons (#463)
pynucastro 2.0.2
fix a setup.py install issue for the C++ templates
pynucastro 2.0.1
pynucastro 2.0.0
2.0.0
-- Added a method to get a rate by short name: A(x,y)B (#438)
-- Added the option to show rate links hidden by ydot <
ydot_cutoff_value (#436)
-- Added a TabularLibrary (#429)
-- Moved validate into RateCollection (#433)
-- renamed StarKillerCxxNetwork to AmrexAstroCxxNetwork (#426)
-- Fixed formatting of tabular rate strings (#421)
-- Fixed normalization of colorbar in grid_plot (#424)
-- Added the ability to plot neutrino loss for tabular rates (#422)
-- Added support for partition functions in C++ networks (#404)
-- NSE solver now can return chemical potentials (#415)
-- Add spins to NSE calculatons (#405)
-- Separate the Coulomb calculation from the NSE screening, make it
switchable (#398, #380)
-- Fixed StarKillerCxxNetwork output directory (#400)
-- Added Potekhin screening (#385)
-- Added screening to python networks (#383)
-- Numba accelerated screening (#373)
-- Fixed C++ approximate rate screening (#384)
-- Added RateCollection remove_rates() (#368), and allow
remove_rates to operate on dictionary keys (#375)
-- Added NSE solver (#339, #364, #377)
-- added find_unimportant_rates method (#367, #369, #374)
-- added spins to partition functions (#371)
-- Split rate up into several classes, including ReacLibRate (#362)
and TabularRate (#360)
-- added partition function support to python networks (#358)
-- fixed definition of inverse rate for symmetric screening (#363)
-- Moved Nucleus into nucdata (#346)
-- Added screening to RateCollection (#344)
-- Added approximate rate support to C++ (#333)
-- C++ networks now hardcode the coefficients in a function to
compute the rates instead of storing a metadata table that is
read at runtime (#329)
1.7.0
-- the Rate class now knows how to make its function string in
python and C++ (#328)
-- C++ networks now have a std::vectorstd::string of rate names
(#326)
-- support for Fortran networks was removed (#324)
-- numerous optimizations (#263, #264, #321, #331)
-- a DerivedRate class was added (#272)
-- approximate rate support was added to python networks (#316, #315, #313, #271)
-- energy generation was added to python networks (#301)
-- support for inert nuclei was added (#307)
-- the ability to disable rates in C++ networks was added (#304, #290)
-- methods for finding reverse rates were added (#303)
-- a method to find neutrino loss energy from tabulated rates was added (#302)
-- the ability to run without Numba was added (#300)
-- weak rate table units in the header were fixed (#297)
-- python nuclei variable indicies now begin with 'j' (#296)
-- python implementations of screening were added (#281)
-- the network chart plot was added (#202)
-- a rate filter for the network plot was added (#187)
-- the Explorer class was expanded to have more options (#251)
-- the rate plot now returns a matplotlib Figure object (#231)
-- added the ability to modify rate products (#252)
-- allow for the edges between nodes to be curved (#257)
-- add a RatePair object that groups forward and reverse rates (#212)
-- updated the ReacLib rate library (#248)
-- added nuclear spin tables (#238)
-- added partition function tables (#241, #204)
-- a Nucleus no knows its binding energy (#220)
-- many improvements to C++ output (#246, #214, #185, #183)
-- added a diff method to a Library (#194)
-- fixed rate sorting so it is more deterministic (#216)
-- added forward() and backward() methods to Library (#207)
-- added a default ReacLibLibrary function (#206)
-- added a validate() method for a library to find potentially
important missing rates (#188, #172)
-- added a method to get the number of rates in a library (#173)
-- add a method to remove a rate from a library (#199)
-- libraries are now sorted when printed, with more information
shown (#195, #168)
-- added a symmetric screening option (#178)
-- a "rotated" plot type for the network structure was added (#161)
-- versioning is now managed by setuptools_scm (#158)
pynucastro 1.6.0
pynucastro 1.6.0
pynucastro 1.5.0
1.5.0
-- Added gridplot function for plotting nuclides on a grid and
coloring the cells by X, Y, Xdot, Ydot or activity
-- Created a notebook and a script for generating rp-process
networks. The script allows an arbitrary endpoint to be specified.
-- Added a filter_function option to RateFilter and to the plotting
functions that allows for filtering rates or nuclei using a
user-defined Boolean map.
-- Fixed a write_network crash if the RateCollection contains
multiple rates with the same name.
-- Deleted unused BLAS and VODE files previously used for the standalone
Fortran outputs. These have been deprecated in favor of the StarKiller
Microphysics network output as of v1.3.0.
-- fixed screening for the 3-alpha rate