Skip to content

Releases: lcpp-org/RustBCA

RustBCA v2.8.4

13 Feb 17:37
1a9732d
Compare
Choose a tag to compare

Copied from the relevant PR:

This PR will include the following features and fixes:

Major features:

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

added deallocation functions for rust objects passed to C/C++ (not necessary in Fortran)
Minor features:

added 4-8 interaction potential
Minor fixes:
various fixes involving improved performance and tests of polynomial rootfinder
fixes to the Python ergonomic bindings to prevent issues caused by bad input incident angles
updates to README
This should increment the version number from 2.1.0 to 2.8.4.

RustBCA v2.0.1

26 Jun 16:56
a57de11
Compare
Choose a tag to compare

This release includes one fix - the default number of weak collisions has been set to zero from three.

See Issue #216 for more detail. To summarize, weak collisions produce unphysical results if Z1>>Z2. If users want to turn on weak collisions for the Python interface, they can use the standalone code with a wrapper or modify the file lib.rs at lines 1462 and 1372 in the following way and recompile:

Change:

let options = Options::default_options(true/false); //boolean controls whether recoils are tracked.

To:

let mut options = Options::default_options(true/false);
options.weak_collision_order = 3; //Or any other desired value.

RustBCA v2.0.0

16 Mar 18:57
5ff8957
Compare
Choose a tag to compare

Summary

This release is relatively small; however, due to a breaking change in the Python bindings, the major version number has been incremented. In summary, the Python bindings have had several new functions added, including simple "reflection_coefficient" and "sputtering_yield" functions, and the import statement has been cleaned up (changed "import libRustBCA.pybca" to simply "import libRustBCA").

Additionally, 2D mesh input has been switched from a cumbersome pointwise triangle definition (triangle=(x1,x2,x3,y1,y2,y3)) to an STL style list of points where the triangles are defined by point indices (points = [(x1, y1), (x2, y2), (x3, y3), ...], triangles = [(0, 1, 2), ...].

What's Changed

  • Update rustbca_compile_check.yml by @drobnyjt in #203
  • Update RustBCA to 2.0.0: Improvements to Python bindings, code cleanup, simplify Mesh2D input by @drobnyjt in #205

Full Changelog: v1.3.0...v.2.0.0

RustBCA v1.3.0

17 Oct 20:19
af11818
Compare
Choose a tag to compare

This release rolls into main some updates to the Python bindings, some bug fixes, some fixes to the documentation, and code cleanup.

RustBCA v 1.2.0

30 Nov 17:34
f32afa2
Compare
Choose a tag to compare

This is the second minor release of RustBCA. This release includes bugfixes and several new features:

  • Particle input distributions
  • Fortran compatible functions and wrapper
  • Particle tagging and weighting carried through collision cascade (for coupling to Monte Carlo codes with variable weights)

RustBCA v1.1.1 (JOSS)

30 Aug 15:13
b9ec50e
Compare
Choose a tag to compare

This release includes changes requested during review for the JOSS review of RustBCA and its associated paper.

Changes include additional bindings options versus 1.1.0-alpha, and fixes to documentation and installation requirements. In particular, a required dependency on PyO3, which was breaking some Mac installations, has been made optional.

RustBCA 1.1.0 Alpha

28 Jul 05:23
a61666f
Compare
Choose a tag to compare
RustBCA 1.1.0 Alpha Pre-release
Pre-release

This release includes the C++ and Python bindings and the new geometry (triangular mesh, etc) added via parry3d. For now, this release will be in alpha until the final form for this functionality has been established.

RustBCA v1.0.0

08 Mar 16:57
Compare
Choose a tag to compare

This is the first official release of RustBCA!

RustBCA has been validated using benchmarks with legacy codes and high-fidelity molecular dynamics simulations and comparison to analytical models and empirical formulas; an automatic testing suite that covers the majority of the physics kernel ensures that the code is correct and robust to future development. RustBCA's configuration file format is stable; for the foreseeable future, further changes can maintain backwards compatibility now that input files are internally represented as trait objects that satisfy the InputFileFormat trait.

Priorities for future development will be focused on writing more tests and polishing the optional experimental features (distribution output and ACPRAS for attractive-repulsive potentials).