Swiftest

Latest version: v2024.6.0

Safety actively analyzes 638452 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

2024.06.0

Bug Fixes
- Fixed bug that was causing some pl-tp discards to fail due to typos in the snapshot saver argument lists (pl and tp arrays were reversed in some places). 42


Internal Changes
- Updated the gfortran version to 14 for Mac builds so that the homebrew libraries match the compiled libraries. Otherwise, library delocation fails due to identical fortran library names in two different locations.

2024.04.3

Bug Fixes
- Fixed bug that was causing discards to fail when there were more than one discard in a single step. This was due to not deallocating the `ldiscard` or `ldiscard_tp` / `ldiscard_pl` arrays after they were used. 40

2024.04.2

Bug Fixes

- Fixed problems that were preventing non pl-pl collision types to be stored in the `collisions.nc` file (the `collisions` Dataset). [GH38](https://github.com/MintonGroup/swiftest/issues/38)
- Changed the way that mergers are handled when they would result in a merged body above the spin barrier. These are forced to always be pure hit-and-runs, rather than disruptive hit-and-run.

Internal Changes

- In preparation for a planned release that will use [Coarray Fortran](https://en.wikipedia.org/wiki/Coarray_Fortran) to parallelize RMVS runs, we have incorporated the [OpenMPI](https://www.open-mpi.org/) library into the build process. All of the build scripts were overhauled in order to compile with the MPI wrappers.
- A slew of new tests were added to test that collisions were being recorded correctly.

Breaking Changes

- We have dropped support for MacOS-11 from the official PyPI wheels, as the addition of OpenMPI to the build process prevented the wheels from being built on the GitHub runners.
- The structure of the collisions Dataset has been altered to help improve performance in runs with large numbers of collisions and fragmentation. The `name` variable is no longer a dimension-coordinate, as this was causing the Dataset to become unreasonably large when reading in runs with a long history of fragmentation events. Instead, the names of bodies in the before and after stages of a collision are stored as regular variables that are unique to each individual collision. This will prevent the `name` variable from needing to be so large, as it only needs to be as long as the maximum number of bodies made in a single collision, rather than the total number of unique bodies every made in all collisions. This means that one cannot select bodies by name using the `.sel` method, but instead must use the `.where` method to select bodies by name. This change was made to address [GH39](https://github.com/MintonGroup/swiftest/issues/39).

2024.04.1

Bug Fixes
- Fixed problem that was causing the wrong dimensions to be added to certain variables when calling `swiftest.SwiftestDataset.xv2el` and `swiftest.SwiftestDataset.el2xv`. [GH31](https://github.com/MintonGroup/swiftest/issues/31)
- Fixed bug that was causing a failure to read in collision Datasets when `dask=True` was set. [GH36](https://github.com/MintonGroup/swiftest/issues/36)
- Fixed other minor bugs that only appeared when reading in datasets using Dask.

Internal Changes
- Pinned the h5py package to v3.10.0 because v3.11.0 does not support aarch64 Linux wheels and the build fails on that platform.

2024.04.0

Bug Fixes
- Fixed the `Simulation._combine_and_fix_dsnew` method so that the `name` dimension is not added where not needed. [GH33](https://github.com/MintonGroup/swiftest/issues/33)
- Fixed the `Simulation.read_encounter_file` for reading encounter variables due to change in how the encounter data is indexed. [GH33](https://github.com/MintonGroup/swiftest/issues/33)
- Fixed bug in the Fortran collision module that was causing `max_rot` to always be set to 0 in Fraggle, causing Fraggle to fail more often due to not being able to satisfy the angular momentum constrain through fragment spin. [GH34](https://github.com/MintonGroup/swiftest/issues/34)
- Changed the fortran standard from *2018* to *gnu* in order to access quad precision by means of the `c_float128` intrinsic in `iso_c_binding`.
- Fixed bug in Fraggle that was causing a segfault when computing the fragment SFD in Linux. The problem was due to passing a function pointer to a non-module procedure, which is a known issue in the GNU Fortran compiler. The solution was to move the function to a module procedure and pass the module procedure to the function. [SO49965980](https://stackoverflow.com/questions/49965980/segmentation-fault-when-passing-internal-function-as-argument) [GH34](https://github.com/MintonGroup/swiftest/issues/34)

Internal Changes
- Updated headers of all build scripts and improved robustness of the `MACOX_DEPLOYMENT_TARGET` versioning determination with a dedicated script
- Altered build scripts to build static libraries for all dependencies. These are now linked to the main library, which reduces the number of shared libraries to manage when installing. [GH34](https://github.com/MintonGroup/swiftest/issues/34)

2024.03.4

New Features
- Added a new `swiftest.Simulation.modify_body` method that allows users to change the properties of a body that has already been added to the simulation. This is useful for changing the mass, radius, or other properties of a body after it has been added to the simulation. [GH27](https://github.com/MintonGroup/swiftest/issues/27)
- Overhauled how the `swiftest.Simulation.init_cond` Dataset is created. It now reduces the variables and dimensions relative to the original `swiftest.Simulation.data` Dataset, such that only the variables that are needed for the initial conditions are included. For instance, if `init_cond_format` (or `param['IN_FORM']`) is set to `EL`, it removes the `rh` and `vh` variables when creating `swiftest.Simulation.init_cond`, but if it is instead set to `XV` (the default), then it removes all the orbital element variables. It also reduces the dataset's variables to either the `j2rp2` and `j4rp4` or the `c_lm` variables if non-spherical central bodies are being used, and retains only the value that is associated with the current central body. These are all still in the original data (though this will get overridden once the simulation is run), allowing you to swap central bodies prior to starting a run. [GH27](https://github.com/MintonGroup/swiftest/issues/27)

Bug Fixes
- Fixed bug that was causing the `particle_type` values to be incorrect in some situations. [GH28](https://github.com/MintonGroup/swiftest/issues/27)
- Fixed bad values for converting to `cm` units and other issues with unit conversions. [GH26](https://github.com/MintonGroup/swiftest/issues/26)

Internal Changes
- Overhauled the build scripts used when calling cibuildwheel to make them more robust across the various platforms we build for. This includes a more robust and consistent way to obtain the paths to compilers that lets us select gfortran-13, gfortran-12, or gfortran as our compiler depending on the availability, which is useful for building in the GitHub runners. [GH25](https://github.com/MintonGroup/swiftest/issues/25)
- Added a more comprehensive suite of unit tests, including tests to ensure that the new `swiftest.Simulation.modify_body` method works as expected. [GH27](https://github.com/MintonGroup/swiftest/issues/27)
- Upgraded SHTOOLS library version from 4.11.10 to 4.12.2.
- Upgraded to cibuildwheel v2.17.0 to fix a bug that was causing the MacOS build to fail when building on the GitHub runners.

Documentation
- Added IPython blocks to the the user-guide/standalone-executable page to demonstrate the usage of the standalone executable in a real-world scenario.

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.