Skip to content

Releases: pynucastro/pynucastro

pynucastro 2.2.0

07 Feb 17:55
cf8db0e
Compare
Choose a tag to compare

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)

  • Performance improvements (#680, #685, #692)

  • 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

25 Oct 18:37
7a49714
Compare
Choose a tag to compare

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 to Library to allow
    one to construct a Library without duplicates and then create a
    RateCollection or other network from that. (#651)

  • Some documentation updates (#643, #650)

  • 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

27 Sep 12:09
2493b17
Compare
Choose a tag to compare
  • 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 a simple C++ network (SimpleCxxNetwork) (#591, #585)

  • 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

16 Nov 21:14
dabe456
Compare
Choose a tag to compare

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

22 Oct 12:29
Compare
Choose a tag to compare

fix a setup.py install issue for the C++ templates

pynucastro 2.0.1

17 Oct 13:07
2fba738
Compare
Choose a tag to compare

2.0.1

-- Fix some setup.py metadata for PyPI (#453)

-- Change how tabular rate tables are stored and read (#450)

-- Support historial ReacLib format (#449)

pynucastro 2.0.0

13 Oct 16:44
a532fdd
Compare
Choose a tag to compare

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

06 Jul 14:39
Compare
Choose a tag to compare

-- 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

08 Nov 16:59
Compare
Choose a tag to compare
pynucastro 1.6.0

pynucastro 1.5.0

09 Jun 18:58
Compare
Choose a tag to compare

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