Freedom251 › Physics Simulation Software
RustBCA

What RustBCA is
RustBCA is free, open-source desktop software for simulating energetic ion interactions with materials using the binary collision approximation. It models reflection, implantation, transmission, sputtering, and displacement damage. Targets may be homogeneous, layered, spherical, or triangular-mesh geometries, including 3D meshes, amorphous solids or liquids, and gases. Electronic stopping choices include Oen–Robinson, Lindhard–Scharff, equipartition, and Biersack–Varelas interpolation up to about 1 GeV per nucleon. Potentials include Kr-C, ZBL, Lenz-Jensen, Moliere, Lennard-Jones 12-6, and Morse, with several usable together. CSV output can contain emitted-particle energies and directions, implanted-ion positions, displacements, and complete trajectories. Libraries support C/C++, Python, and Fortran simulations. A specified seed makes results exactly reproducible across machines and thread counts. RustBCA runs on Linux, macOS, and Windows, requires the Rust toolchain, and is licensed GPL-3.0.
Who it suits
RustBCA is intended for researchers and developers modeling ion–material interactions or embedding those models in C/C++, Python, or Fortran software. It suits users on Linux, macOS, or Windows who can install Rust.
What it does well
- Supports Linux, macOS, and Windows
- Multiple target geometries
- Several stopping and interaction potentials
- C/C++, Python, and Fortran libraries
- Reproducible seeded results
What to know first
- Requires the Rust toolchain
- Materials modeled as amorphous and static
- Cannot capture ion channeling or temperature effects
- Does not directly simulate chemical sputtering
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Free and open source | No paid tiers or usage limits stated | Free |
As github.com lists them, read 11 Oct 2026. The maker's own page has the final word.
Verdict
RustBCA offers broad geometry, physics, and output options for binary-collision simulations at no listed cost. Its amorphous, static material model excludes channeling, temperature effects, and some many-body or chemical behavior.
Facts from RustBCA's own pages
- Assessment tools
- No · github.com, 24 Sept 2026
- Authoring tools
- No · github.com, 24 Sept 2026
- Delivery mode
- desktop · github.com, 24 Sept 2026
- Free plan
- Yes · github.com, 24 Sept 2026
- Geometry
- Supported targets include homogeneous, layered, triangular-mesh, spherical, and 3D triangular-mesh geometries, plus amorphous solid or liquid and gaseous targets. · github.com, 11 Oct 2026
- Installation
- Installation requires the Rust toolchain; Python 3.6+ and listed Python libraries are optional for helper scripts and input-file manipulation. · github.com, 11 Oct 2026
- Interaction potentials
- Available potentials include Kr-C, ZBL, Lenz-Jensen, Moliere, Lennard-Jones 12-6, and Morse, and multiple potentials can be used in one simulation. · github.com, 11 Oct 2026
- Language bindings
- RustBCA provides libraries for including its ion–material interactions in simulations written in C/C++, Python, and Fortran. · github.com, 11 Oct 2026
- Lesson library
- No · github.com, 24 Sept 2026
- License
- The repository identifies its license as GPL-3.0. · github.com, 11 Oct 2026
- Limitations
- RustBCA models materials as amorphous and static, so it cannot capture ion channeling or temperature effects, and BCA does not directly simulate multi-body effects or chemical sputtering. · github.com, 11 Oct 2026
- Model outputs
- The code models reflection, implantation, transmission, sputtering, and displacement damage from energetic ion–target interactions. · github.com, 11 Oct 2026
- Physics features
- Electronic stopping options include Oen–Robinson, Lindhard–Scharff, equipartition, and Biersack–Varelas interpolation up to about 1 GeV per nucleon. · github.com, 11 Oct 2026
- Platforms
- The maker says the code builds with Cargo on Windows, macOS, and Linux. · github.com, 11 Oct 2026
- Purpose
- RustBCA is a general-purpose code for simulating ion–material interactions, including sputtering, reflection, and implantation, using the binary collision approximation. · github.com, 11 Oct 2026
- Reproducibility
- With a user-specified seed, RustBCA states that results are exactly reproducible across machines and thread counts. · github.com, 11 Oct 2026
- Results
- CSV outputs can include emitted-particle energies and directions, implanted-ion positions, displacements, and full ion and target-atom trajectories. · github.com, 11 Oct 2026
- Testing and validation
- The wiki reports unit and integration tests and benchmarking against F-TRIDYN, empirical formulas, molecular-dynamics simulations, and experimental data where available. · github.com, 11 Oct 2026
Where RustBCA stands on Freedom251
- Physics Simulation Software#40 of 89