fastatomstruct 0.7.4__cp313-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- fastatomstruct/__init__.py +323 -0
- fastatomstruct/__init__.pyi +2196 -0
- fastatomstruct/fastatomstruct.cp313-win_amd64.pyd +0 -0
- fastatomstruct-0.7.4.dist-info/METADATA +93 -0
- fastatomstruct-0.7.4.dist-info/RECORD +7 -0
- fastatomstruct-0.7.4.dist-info/WHEEL +4 -0
- fastatomstruct-0.7.4.dist-info/licenses/LICENSE +674 -0
|
Binary file
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: fastatomstruct
|
|
3
|
+
Version: 0.7.4
|
|
4
|
+
Requires-Dist: ase
|
|
5
|
+
Requires-Dist: numpy
|
|
6
|
+
Requires-Dist: tidynamics
|
|
7
|
+
License-File: LICENSE
|
|
8
|
+
Author: Nils Cedric Holle <nils.holle@uni-muenster.de>
|
|
9
|
+
Author-email: Nils Cedric Holle <nils.holle@uni-muenster.de>
|
|
10
|
+
License: GPL-3.0
|
|
11
|
+
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
12
|
+
|
|
13
|
+
# Fast calculation of structural parameters and autocorrelation functions
|
|
14
|
+
|
|
15
|
+
`fastatomstruct` is a Python package (mostly written in Rust) that includes functions to calculate atomic structural quantities.
|
|
16
|
+
If possible, thread-based parallelization (using [`rayon`](https://crates.io/crates/rayon)) is employed to speed up calculations and take advantage of multicore processors.
|
|
17
|
+
|
|
18
|
+
## Documentation
|
|
19
|
+
|
|
20
|
+
[The documentation can be found here.](https://ag-salinga.zivgitlabpages.uni-muenster.de/fastatomstruct)
|
|
21
|
+
|
|
22
|
+
## What can this package do?
|
|
23
|
+
The package can currently calculate the following quantities:
|
|
24
|
+
|
|
25
|
+
- Structural
|
|
26
|
+
- Atomic distances
|
|
27
|
+
- Coordination numbers
|
|
28
|
+
- Nearest neighbours
|
|
29
|
+
- Radial distribution function
|
|
30
|
+
- Static structure factor
|
|
31
|
+
- Bond orientational parameter (Steinhardt et al.) and Bond Order Correlation parameter
|
|
32
|
+
- Tetrahedral order parameter
|
|
33
|
+
- Angular-limited three-body correlation (ALTBC)
|
|
34
|
+
- Bond length ratio (BLR)
|
|
35
|
+
- Dynamical
|
|
36
|
+
- Mean squared displacement
|
|
37
|
+
- Non-gaussian parameter
|
|
38
|
+
- Overlap q
|
|
39
|
+
- Four-point correlation functions
|
|
40
|
+
- Autocorrelation (with and without interpolation)
|
|
41
|
+
|
|
42
|
+
## Example usage
|
|
43
|
+
|
|
44
|
+
This example uses the [Atomistic Simulation Environment](https://wiki.fysik.dtu.dk/ase/), which can also be installed using pip (`pip install ase`) and is now a dependency of `fastatomstruct`.
|
|
45
|
+
|
|
46
|
+
```python
|
|
47
|
+
from ase.build import bulk
|
|
48
|
+
from fastatomstruct import all_distances, coordination_numbers
|
|
49
|
+
|
|
50
|
+
# Lithium in the BCC phase with the unit cell repeated
|
|
51
|
+
# 10x10x10 times
|
|
52
|
+
atoms = bulk("Li", "bcc", 3.45).repeat((10, 10, 10))
|
|
53
|
+
|
|
54
|
+
# Atomic distances
|
|
55
|
+
dists = all_distances(atoms)
|
|
56
|
+
|
|
57
|
+
# Coordination numbers with a cutoff of 3 A
|
|
58
|
+
coordination = coordination_numbers(atoms, 3)
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Installation
|
|
62
|
+
|
|
63
|
+
### From PyPI
|
|
64
|
+
`fastatomstruct` can be installed from the [Python Package Index](https://pypi.org/project/fastatomstruct/). **Currently, only Linux and Windows with a Python version >= 3.8 are supported. In addition, your processor has to be x86-64 with AVX2 support.** Most processors since 2015 should meet those criteria. If your system doesn't, you can still install `fastatomstruct` from source (see next subsection).
|
|
65
|
+
|
|
66
|
+
To run the installation, use
|
|
67
|
+
```
|
|
68
|
+
pip install fastatomstruct
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Image parallelization
|
|
72
|
+
|
|
73
|
+
If you want to use image parallelization with `fastatomstruct.ipar` (see documentation), you should also install [`mpi4py`](https://mpi4py.readthedocs.io/en/stable/). Please consult the corresponding documentation for installation instructions and prerequisites.
|
|
74
|
+
|
|
75
|
+
### From source
|
|
76
|
+
Installing `fastatomstruct` from source requires
|
|
77
|
+
|
|
78
|
+
- Python >= 3.7
|
|
79
|
+
- pip
|
|
80
|
+
- a working Rust installation (1.56 and newer), including cargo
|
|
81
|
+
- `maturin`, a Python package that can e.g. be installed using `pip3 install --upgrade maturin`
|
|
82
|
+
|
|
83
|
+
To build the Python wheel, run
|
|
84
|
+
```
|
|
85
|
+
maturin build --release
|
|
86
|
+
```
|
|
87
|
+
The resulting wheel will be located in `target/wheels/`. You can install it using
|
|
88
|
+
```
|
|
89
|
+
python3 -m pip install target/wheels/fastatomstruct-version.whl
|
|
90
|
+
```
|
|
91
|
+
Replace "version" with your actual Python version.
|
|
92
|
+
The package can then be used in Python using e.g. `from fastatomstruct import coordination_numbers`.
|
|
93
|
+
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
fastatomstruct-0.7.4.dist-info/METADATA,sha256=0D9nWBrdIDBMcDyhV3n3Dv-FxT2HGeANZ8z9BiLOC10,3486
|
|
2
|
+
fastatomstruct-0.7.4.dist-info/WHEEL,sha256=1ZpRl7NI5FUTGBGfAoLBw2DqQx_-H3hwfjZ2VbdjU5g,95
|
|
3
|
+
fastatomstruct-0.7.4.dist-info/licenses/LICENSE,sha256=F2bZou_Do4xeIn2bQGfOUVnXspnS3xves7dn_zbMZh0,35076
|
|
4
|
+
fastatomstruct/__init__.pyi,sha256=9xlSm63ck6sp2TbVoyIRIrn3hnqfD8G71HEfAWZOA_I,337541
|
|
5
|
+
fastatomstruct/__init__.py,sha256=9gdhfN8WgYWQJKXfDeaHkgODY4Y27uAABo39z-vywKc,15222
|
|
6
|
+
fastatomstruct/fastatomstruct.cp313-win_amd64.pyd,sha256=-Z51hmshheX4ko9O2fPoAW0uPm1GNGupoi-uuwq5rAU,2825216
|
|
7
|
+
fastatomstruct-0.7.4.dist-info/RECORD,,
|