You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+12-10Lines changed: 12 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ and Fortran.
10
10
By discretizing the collision cascade into a sequence of binary collisions,
11
11
[BCA] codes can accurately and efficiently model the prompt interaction
12
12
between an energetic ion and a target material. This includes reflection,
13
-
implantation, and transmission of the incident ion, s well as sputtering
13
+
implantation, and transmission of the incident ion, as well as sputtering
14
14
and displacement damage of the target. Generally, [BCA] codes can be
15
15
valid for incident ion energies between approximately ~1 eV/nucleon
16
16
to <1 GeV/nucleon.
@@ -23,16 +23,17 @@ Journal of Open Source Software by clicking the badge below:
23
23
24
24
## Getting started
25
25
26
-
The easiest way to get started is with the ergonomic Python functions currently on the development branch. Follow these steps to install, build, and run simple RustBCA simulations for sputtering yields and reflection coefficients:
26
+
The easiest way to get started is with the ergonomic Python functions.
27
+
Follow these steps to install, build, and run simple RustBCA simulations
28
+
for sputtering yields and reflection coefficients:
27
29
```
28
30
git clone https://github.com/lcpp-org/rustbca
29
31
cd rustbca
30
-
git checkout dev
31
32
python -m pip install .
32
33
python
33
34
Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
34
35
Type "help", "copyright", "credits" or "license" for more information.
35
-
>>> from libRustBCA.pybca import *; from scripts.materials import *
36
+
>>> from libRustBCA import *; from scripts.materials import *
36
37
>>> angle = 0.0 # deg
37
38
>>> energy = 1000.0 # eV
38
39
>>> num_samples = 10000
@@ -44,7 +45,8 @@ Type "help", "copyright", "credits" or "license" for more information.
44
45
```
45
46
46
47
For those eager to get started with the standalone code, try running one of the examples in the
47
-
`RustBCA/examples` directory. Note that to automatically manipulate input files and reproduce the plots located on the [Wiki], these require several optional, but common,
48
+
`RustBCA/examples` directory. Note that to automatically manipulate input files and reproduce
49
+
the plots located on the [Wiki], these require several optional, but common,
48
50
[Python] packages (`matplotlib`, `numpy`, `scipy`, `shapely`, and `toml`).
49
51
50
52
### H trajectories and collision cascades in a boron nitride dust grain
@@ -94,17 +96,17 @@ plt.show()
94
96
The following features are implemented in `rustBCA`:
95
97
96
98
* Ion-material interactions for all combinations of incident ion and target species.
97
-
* 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).
99
+
* Infinite, homogeneous targets (Mesh0D), Layered, finite-depth inhomogeneous targets (Mesh1D), arbitrary 2D composition through a triangular mesh (Mesh2D), homogeneous spherical geometry (Sphere) and homogeneous 3D triangular mesh geometry (TriMesh).
98
100
* Amorphous Solid/Liquid targets, Gaseous targets, and targets with both solid/liquid and gaseous elements
99
101
* Low energy (< 25 keV/nucleon) electronic stopping modes including:
100
102
* local (Oen-Robinson),
101
103
* nonlocal (Lindhard-Scharff),
102
-
* and equipartition forms.
104
+
* and equipartition
103
105
* 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.
104
106
* 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).
105
107
* A wide range of interaction potentials are provided, including:
106
108
* the Kr-C, ZBL, Lenz-Jensen, and Moliere universal, screened-Coulomb potentials.
107
-
* the Lennard-Jones 12-6, Lennard-Jones 6.5-6, and Morse attractive-repulsive potentials.
109
+
* the Lennard-Jones 12-6 and Morse attractive-repulsive potentials.
108
110
* Solving the distance-of-closest-approach problem is achieved using:
109
111
* the Newton-Raphson method for simple root-finding,
110
112
* or, for attractive-repulsive potentials, an Adaptive Chebyshev Proxy Rootfinder with Automatic Subdivision algorithm and a Polynomial root-finding algorithm are provided through the [rcpr] crate.
@@ -249,7 +251,7 @@ automatically during the build.
249
251
250
252
## Usage
251
253
252
-
To use `RustBCA`, modify the`input.toml` file, which is used to configure each
254
+
To use `RustBCA`, modify an`input.toml` file, which is used to configure each
253
255
simulation.
254
256
To run a simulation, execute:
255
257
@@ -279,4 +281,4 @@ Also have a look at the examples on the [Wiki] for writing `.toml` input files.
0 commit comments