Releases: lwang-astro/PeTar
Releases · lwang-astro/PeTar
v1.0 release of PeTar code
v1.0 Change Note
The v1.0 release of PeTar marks the first stable version of Petar. A comparison with v1.0-beta reveals the following updates:
- Enhanced the language of the README.md help documentation and included missing descriptions for all tools.
- Improved the language of help information for petar and all tools, and added Doxygen documentation for developers.
- Moved sample scripts for star cluster simulations to a new directory named "sample" and included a Jupyter Notebook, data_analysis.ipynb, as an example illustrating the data analysis module in Python.
- Implemented the BSEEMP stellar evolution code for extremely metal-poor stars.
- Introduced the petar.format.transfer.post tool.
- Updated the Galpy interface to support time-dependent potentials and fixed several related bugs.
- Adjusted Galpy default units to match PeTar units instead of the official Galpy Bovy unit.
- Updated class methods in Python data analysis to support mathematical operations, set hosts, and save and load files in BINARY and npy formats.
- Improved petar.data.process to enhance the calculation of tidal radius.
- Introduced support for calculating Lagrangian radii in mass ranges using the 'add_mass_range' option in petar.data.process and petar.LagrangianMultiple.
- Added support for custom functions in the petar.get.object.snap tool.
- Added petar.SSEISO to read printed output from petar.bse code.
- Eliminated the dependency on helper_cuda.h to support systems without CUDA SDK.
- Implemented a change to generate random seeds based on MPI ranks to prevent the problem of repeated random seeds across different MPI processors.
- Addressed bugs in MOBSE and Python tools.
Some existing issues include:
- In cases where a high-eccentric binary system transitions from a binary to a hyperbolic orbit temporarily due to significant perturbations at a large separation, the BSE code may incorrectly identify it as an immediate merger, even though the binary system does not actually merge. It is essential to establish a more precise criterion for invoking binary evolution codes in such scenarios.
- Several issues from the v1.0-beta version of MOBSE remain unresolved.
v1.0-beta
The v1.0-beta release of PeTar is now ready for use. Some existing issues include:
- Incomplete MOBSE interface where certain parameters (luminosity, radius, core mass, spin) for binary stellar evolution event records are not correctly recorded when
base_output = False
for the Python analysis classpetar.BSEBinaryEvent
. The corresponding data file isdata.mobse.**
. - Potential bug when a member of a merger becomes type 15 in MOBSE and its mass is not set to zero, requiring further testing to ensure it does not occur.
- Incomplete galpy interface with confusing unit conversion and difficulties in handling it. The time-dependent potential following the cluster center is not accurately calculated in the current version. In the next release update, the default unit of Galpy will align with that of PeTar without additional unit conversion. Improved support for time-dependent potential with a better galpy configure file format will be implemented.
- Issue with the random generator for all BSE versions when parallelization is used, designed originally for a single processor. The problem arises from each MPI processor having the same seeds, leading to repeated random numbers and causing the issue of identical kick velocities after supernovae. In the next release update, the parallel C++ version of the random generator will replace the Fortran ran3 from BSE codes.
PeTar v1.0-beta
This v1.0-beta release of PeTar is ready for usage.
Some existing problems:
- MOBSE interface is not complete. A few parameters implemented recently for binary stellar evolution event records (luminosity, radius, core mass, ospin) are not correctly recorded. These parameters are additional members (
lum1, lum2, ... spin1, spin2
) whenbase_output = False
for Python analysis classpetar.BSEBinaryEvent
. The corresponding data file isdata.mobse.**
. - If the member of a merger become type 15 for MOBSE, and its mass is not set to zero, this can cause bug. This problem needs more test to make sure it does not occur.
- The galpy interface is not complete. The unit conversion is confusing and difficult to handle. The time-dependent potential following cluster center is not correctly calculated in current version. In next release update, the default unit of Galpy will be the same as that of PeTar without additional unit conversion. A better time-dependent potential support with a better galpy configure file format will be implemented.
- The random generator for all BSE version has the issue when parallelization is used. It is originally designed for single processor. One major problem is that each MPI processor has the same seeds. Thus, random numbers can repeat. This causes the problem of same kick velocities after supernovae. In next release update, the parallel c++ version of random generator will replace the fortran ran3 from BSE codes.