Skip to content

Commit 20ad62e

Browse files
authored
Merge branch 'master' into dev
2 parents 7a50bf6 + 99bf81c commit 20ad62e

File tree

3 files changed

+21
-20
lines changed

3 files changed

+21
-20
lines changed

Diff for: Cargo.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
[package]
22
name = "RustBCA"
3-
version = "1.1.2"
3+
version = "1.2.0"
4+
45
authors = ["Jon Drobny <[email protected]>"]
56
edition = "2018"
67

Diff for: README.md

+12-7
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,17 @@
22

33
`RustBCA` is a general-purpose, high-performance code for simulating
44
ion-material interactions using the binary collision approximation ([BCA]),
5-
written in [Rust]!
5+
written in [Rust]! RustBCA consists of a standalone code and libraries for
6+
including ion-material interactions in simulations written in C/C++, Python,
7+
and Fortran.
68

79
By discretizing the collision cascade into a sequence of binary collisions,
810
[BCA] codes can accurately and efficiently model the prompt interaction
911
between an energetic ion and a target material.
1012
This includes reflection, implantation, and transmission of the incident ion,
1113
as well as sputtering and displacement damage of the target.
1214
Generally, [BCA] codes are valid for incident ion energies between approximately
13-
~1 eV/nucleon to ~1 GeV/nucleon.
15+
~1 eV/nucleon to <1 GeV/nucleon.
1416

1517
Check out the `RustBCA` [Wiki] for detailed information, installation
1618
instructions, use cases, examples, and more. See the RustBCA paper at the
@@ -71,13 +73,13 @@ plt.show()
7173
The following features are implemented in `rustBCA`:
7274

7375
* Ion-material interactions for all combinations of incident ion and target species.
74-
* Infinite, homogeneous targets (Mesh0D), Layered, finite-depth inhomogeneous targets (Mesh1D) and arbitrary 2D geometry and composition through a triangular mesh (Mesh2D).
76+
* Infinite, homogeneous targets (Mesh0D), Layered, finite-depth inhomogeneous targets (Mesh1D), arbitrary 2D geometry composition through a triangular mesh (Mesh2D), homogeneous spherical geometry (Sphere) and homogeneous, arbitrary triangular mesh geometry (TriMesh).
7577
* Amorphous Solid/Liquid targets, Gaseous targets, and targets with both solid/liquid and gaseous elements
7678
* Low energy (< 25 keV/nucleon) electronic stopping modes including:
7779
* local (Oen-Robinson),
7880
* nonlocal (Lindhard-Scharff),
7981
* and equipartition forms.
80-
* Biersack-Varelas interpolation is also included for electronic stopping up to ~1 GeV/nucleon.
82+
* Biersack-Varelas interpolation is also included for electronic stopping up to ~1 GeV/nucleon. Note that high energy physics beyond electronic stopping are not included.
8183
* Optionally, the Biersack-Haggmark treatment of high-energy free-flight paths between collisions can be included to greatly speed up high-energy simulations (i.e., by neglecting very small angle scattering).
8284
* A wide range of interaction potentials are provided, including:
8385
* the Kr-C, ZBL, Lenz-Jensen, and Moliere universal, screened-Coulomb potentials.
@@ -94,17 +96,20 @@ The following features are implemented in `rustBCA`:
9496
* or the MAGIC algorithm.
9597
* Input files use the [TOML] format, making them both human-readable and easily parsable.
9698
* RustBCA generates user-friendly, context-providing error messages, which help pinpoint the cause of errors and provide suggested fixes to the user.
97-
* The simulation results are formatted as the ubiquitous `csv` format and include:
99+
* The simulation results are comma-delimited (`csv` format) and include:
98100
* the energies and directions of emitted particles (reflected ions and sputtered atoms),
99101
* the final positions of implanted ions,
100-
* and full trajectory tracking for both the incident ions and target atoms.
102+
* full trajectory tracking for both the incident ions and target atoms,
103+
* and many other parameters such as position of origin of sputtered particles and energy loss along trajectories.
101104
* Optionally, the code can produce energy-angle and implantation distributions when built with the `--features distributions` flag and disable space-intensive particle list output with `--features no_list_output`.
105+
* Library functions for modeling ion reflection, implantation, and sputtering in C++/C, Python, and Fortran codes.
102106

103107
## Installation
104108

105109
Without optional features, `rustBCA` should compile with `cargo` alone on
106110
Windows, MacOS, and Linux systems.
107-
[HDF5] has been tested on Windows, but version 1.10.6 must be used.
111+
112+
[HDF5] for particle list input has been tested on Windows, but version 1.10.6 must be used.
108113
[rcpr], the adaptive Chebyshev Proxy Rootfinder with automatic subdivision and
109114
polynomial rootfinder package for [Rust], has not yet been successfully compiled
110115
on Windows.

Diff for: package.py

+7-12
Original file line numberDiff line numberDiff line change
@@ -24,30 +24,25 @@
2424

2525

2626
class Rustbca(Package):
27-
"""FIXME: Put a proper description of your package here."""
27+
"""RustBCA: A Binary Collision Approximation code and libraries for simulating ion-material interactions"""
2828

29-
# FIXME: Add a proper url for your package's homepage here.
3029
homepage = "https://www.github.com/lcpp-org/RustBCA/wiki"
3130
url = "https://github.com/lcpp-org/RustBCA/archive/refs/tags/v1.0.0.tar.gz"
3231
git = "https://www.github.com/lcpp-org/RustBCA.git"
3332

34-
# FIXME: Add a list of GitHub accounts to
35-
# notify when the package is updated.
36-
# maintainers = ['github_user1', 'github_user2']
33+
# maintainers = ['drobnyjt']
3734

3835
version('dev', branch='dev')
39-
version('1.0.0', sha256='99dcac7c7a78e6cd17da63a0dcbb3c36bca523ffafbb0425128b0c971b1a6829')
36+
version('master', branch='master')
4037
depends_on('rust')
4138

42-
# FIXME: Add dependencies if required.
43-
# depends_on('foo')
44-
4539
def install(self, spec, prefix):
4640
cargo = which('cargo')
47-
cargo('build', '--release', '--lib', '--target-dir', prefix)
48-
41+
cargo('build', '--release', '--lib')
42+
4943
mkdirp(prefix.include)
5044
install('RustBCA.h', prefix.include)
51-
45+
5246
mkdirp(prefix.lib)
5347
install('target/release/liblibRustBCA.so', prefix.lib)
48+

0 commit comments

Comments
 (0)