lcpp-org / RustBCA

A free, open-source Binary Collision Approximation (BCA) code for ion-material interactions including sputtering, implantation, and reflection
https://github.com/lcpp-org/RustBCA/wiki
GNU General Public License v3.0
42 stars 15 forks source link

Add development features to main branch and increment version number #237

Closed drobnyjt closed 9 months ago

drobnyjt commented 9 months ago

This PR will include the following features and fixes:

Major features:

  1. new coordinate rotation functions for the C and Fortran bindings
  2. track and output displacements using the displacement energy, Ed
  3. pure rust rcpr for better portability of attractive-repulsive potentials (no dependencies external to cargo)
  4. fast, homogeneous, 2D mesh
  5. added single ion reflection function to ergonomic Python bindings
  6. added compound reflection coefficient to ergonomic Python bindings

Major fixes:

  1. added deallocation functions for rust objects passed to C/C++ (not necessary in Fortran)

Minor features:

  1. added 4-8 interaction potential

Minor fixes:

  1. various fixes involving improved performance and tests of polynomial rootfinder
  2. fixes to the Python ergonomic bindings to prevent issues caused by bad input incident angles
  3. updates to README

This should increment the version number from 2.1.0 to 2.8.4.

drobnyjt commented 9 months ago

Verified that all examples are producing results consistent with previous version.