Skip to content

Releases: lcpp-org/RustBCA

RustBCA v2.12.3

Choose a tag to compare

@drobnyjt drobnyjt released this 07 Feb 00:32
007a359

This release fixes the following bugs:

  • Recoil generation algorithm produced inconsistent results for non-x incident ions (#286)
  • Python function rotate_given_surface_normal produced incorrect results at very oblique incident angles (#283)
  • Deprecated undocumented and incomplete accelerated_ions feature (#295)

This release also adds the following features:

  • Improve performance of Kr-C-Morse attractive-repulsive potential by replacing sigmoidal interpolation with smootherstep (#280)
  • Add doctests to readme (#275)
  • Add compound_bca_list_1D_py example (#301)

RustBCA v2.9.0

Choose a tag to compare

@drobnyjt drobnyjt released this 08 Apr 21:45
5f4ef50

This release includes some new Python functions, detailed in the Wiki, for code coupling and includes a couple minor bugfixes as well. It is backwards compatible with all previous input files etc.

RustBCA v2.8.4

Choose a tag to compare

@drobnyjt drobnyjt released this 13 Feb 17:37
1a9732d

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

Choose a tag to compare

@drobnyjt drobnyjt released this 26 Jun 16:56
a57de11

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

Choose a tag to compare

@drobnyjt drobnyjt released this 16 Mar 18:57
5ff8957

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

Choose a tag to compare

@drobnyjt drobnyjt released this 17 Oct 20:19
af11818

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

Choose a tag to compare

@drobnyjt drobnyjt released this 30 Nov 17:34
f32afa2

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)

Choose a tag to compare

@drobnyjt drobnyjt released this 30 Aug 15:13
b9ec50e

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

RustBCA 1.1.0 Alpha Pre-release
Pre-release

Choose a tag to compare

@drobnyjt drobnyjt released this 28 Jul 05:23
a61666f

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

Choose a tag to compare

@drobnyjt drobnyjt released this 08 Mar 16:57

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).