Skip to content

v1.6.1

Choose a tag to compare

@adrn adrn released this 07 Nov 13:53
· 1054 commits to main since this release
55b41dd

Changelog included below:

New Features

  • Added a .replicate() method to Potential classes to enable copying
    potential objects but modifying some parameter values.

  • Added a new potential class MN3ExponentialDiskPotential based on Smith et
    al. (2015): an approximation of the potential generated by a double
    exponential disk using a sum of three Miyamoto-Nagai disks.

  • The Orbit.estimate_period() method now returns period estimates in all
    phase-space components instead of just the radial period.

  • Added a store_all flag to the integrators to control whether to save
    phase-space information for all timesteps or only the final timestep.

  • Added a plot_rotation_curve() method to all potential objects to make a 1D plot
    of the circular velocity curve.

  • Added a new potential for representing multipole expansions MultipolePotential.

  • Added a new potential CylSplinePotential for flexible representation of
    axisymmetric potentials by allowing passing in grids of potential values
    evaluated grids of R, z values (like the CylSpline potential in Agama).

  • Added a show_time flag to Orbit.animate() to control whether to show the
    current timestep.

  • Changed Orbit.animate() to allow for different marker_style and
    segment_style options for individual orbits by passing a list of dicts instead
    of just a dict.

  • Added an experimental new class SCFInterpolatedPotential that accepts a time
    series of coefficients and interpolates the coefficient values to any evaluation time.

Bug fixes

  • Fixed a bug where the NFWPotential energy was nan when evaluating at the
    origin, and added tests for all potentials to check for a finite value of the
    potential at the origin (when expected).

  • Fixed a bug in NFWPotential.from_M200_c() where the incorrect scale radius
    was computed (Cython does not always use Python 3 division rules for dividing
    integers!).

  • Fixed a bug in the (C-level/internal) estimation of the 2nd derivative of the
    potential, used to generate mock streams, that affects non-conservative force
    fields.

API changes

  • The Orbit.estimate_period() method now returns period estimates in all
    phase-space components instead of just the radial period.