aton 0.2.2__tar.gz → 0.2.3__tar.gz
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.
- {aton-0.2.2 → aton-0.2.3}/PKG-INFO +4 -2
- {aton-0.2.2 → aton-0.2.3}/README.md +3 -1
- {aton-0.2.2 → aton-0.2.3}/aton/_version.py +1 -1
- {aton-0.2.2 → aton-0.2.3}/aton/qrotor/rotate.py +14 -1
- {aton-0.2.2 → aton-0.2.3}/aton/qrotor/system.py +0 -2
- {aton-0.2.2 → aton-0.2.3}/aton/txt/__init__.py +1 -1
- {aton-0.2.2 → aton-0.2.3}/aton.egg-info/PKG-INFO +4 -2
- {aton-0.2.2 → aton-0.2.3}/LICENSE +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/__init__.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/interface/__init__.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/interface/castep.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/interface/phonopy.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/interface/qe.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/interface/slurm.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/phys/__init__.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/phys/atoms.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/phys/functions.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/phys/units.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/qrotor/__init__.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/qrotor/constants.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/qrotor/plot.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/qrotor/potential.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/qrotor/solve.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/qrotor/systems.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/spx/__init__.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/spx/classes.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/spx/deuterium.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/spx/fit.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/spx/normalize.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/spx/plot.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/spx/samples.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/st/__init__.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/st/alias.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/st/call.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/st/file.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/txt/edit.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/txt/extract.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton/txt/find.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton.egg-info/SOURCES.txt +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton.egg-info/dependency_links.txt +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton.egg-info/requires.txt +0 -0
- {aton-0.2.2 → aton-0.2.3}/aton.egg-info/top_level.txt +0 -0
- {aton-0.2.2 → aton-0.2.3}/setup.cfg +0 -0
- {aton-0.2.2 → aton-0.2.3}/setup.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/tests/__init__.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/tests/test_edit.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/tests/test_extract.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/tests/test_file.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/tests/test_find.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/tests/test_qe.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/tests/test_qrotor.py +0 -0
- {aton-0.2.2 → aton-0.2.3}/tests/test_spx.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: aton
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: The Ab-iniTiO & Neutron research toolbox, or ATON, provides powerful and comprehensive tools for cutting-edge materials research, focused on (but not limited to) neutron science.
|
|
5
5
|
Author: Pablo Gila-Herranz
|
|
6
6
|
Author-email: pgila001@ikasle.ehu.eus
|
|
@@ -41,9 +41,11 @@ or [ATON](https://pablogila.github.io/ATON/),
|
|
|
41
41
|
provides powerful and comprehensive tools
|
|
42
42
|
for cutting-edge materials research,
|
|
43
43
|
focused on (but not limited to) neutron science.
|
|
44
|
+
Designed to bridge the gap between theoretical modeling and experimental validation,
|
|
45
|
+
ATON allows researchers to streamline and simplify workflows in the study of advanced materials.
|
|
44
46
|
|
|
45
47
|
Just like its [ancient Egyptian deity](https://en.wikipedia.org/wiki/Aten) counterpart,
|
|
46
|
-
this all-in-one Python package
|
|
48
|
+
this all-in-one Python package comprises a range of utility tools
|
|
47
49
|
from INS spectra analysis to *ab-initio* interfaces
|
|
48
50
|
for [Quantum ESPRESSO](https://www.quantum-espresso.org/),
|
|
49
51
|
[Phonopy](https://phonopy.github.io/phonopy/) and
|
|
@@ -8,9 +8,11 @@ or [ATON](https://pablogila.github.io/ATON/),
|
|
|
8
8
|
provides powerful and comprehensive tools
|
|
9
9
|
for cutting-edge materials research,
|
|
10
10
|
focused on (but not limited to) neutron science.
|
|
11
|
+
Designed to bridge the gap between theoretical modeling and experimental validation,
|
|
12
|
+
ATON allows researchers to streamline and simplify workflows in the study of advanced materials.
|
|
11
13
|
|
|
12
14
|
Just like its [ancient Egyptian deity](https://en.wikipedia.org/wiki/Aten) counterpart,
|
|
13
|
-
this all-in-one Python package
|
|
15
|
+
this all-in-one Python package comprises a range of utility tools
|
|
14
16
|
from INS spectra analysis to *ab-initio* interfaces
|
|
15
17
|
for [Quantum ESPRESSO](https://www.quantum-espresso.org/),
|
|
16
18
|
[Phonopy](https://phonopy.github.io/phonopy/) and
|
|
@@ -51,6 +51,11 @@ def structure_qe(
|
|
|
51
51
|
To override this and instead use the vector between the first two atoms
|
|
52
52
|
as the rotation axis, set `use_centroid = False`.
|
|
53
53
|
|
|
54
|
+
**WARNING: The `positions` list is order-sensitive**.
|
|
55
|
+
If you rotate more than one chemical group in a structure,
|
|
56
|
+
be sure to follow the same direction for each group (e.g. all clockwise)
|
|
57
|
+
to ensure that all axes of rotation point in the same direction.
|
|
58
|
+
|
|
54
59
|
To debug, `show_axis = True` adds two additional helium atoms as the rotation vector.
|
|
55
60
|
"""
|
|
56
61
|
print('Rotating Quantum ESPRESSO input structure with QRotor...')
|
|
@@ -106,13 +111,21 @@ def rotate_coords(
|
|
|
106
111
|
Then rotates said coordinates by a given `angle` in degrees.
|
|
107
112
|
Returns a list with the updated positions.
|
|
108
113
|
|
|
109
|
-
By default, the rotation
|
|
114
|
+
By default, the rotation vector is defined by the perpendicular
|
|
110
115
|
passing through the geometrical center of the first three points.
|
|
111
116
|
To override this and use the vector between the first two atoms
|
|
112
117
|
as the rotation axis, set `use_centroid = False`.
|
|
113
118
|
|
|
119
|
+
**WARNING: The `positions` list is order-sensitive**.
|
|
120
|
+
If you rotate more than one chemical group in a structure,
|
|
121
|
+
be sure to follow the same direction for each group (e.g. all clockwise)
|
|
122
|
+
to ensure that all rotation vectors point in the same direction.
|
|
123
|
+
|
|
114
124
|
If `show_axis = True` it returns two additional coordinates at the end of the list,
|
|
115
125
|
with the centroid and the rotation vector. Only works with `use_centroid = True`.
|
|
126
|
+
|
|
127
|
+
The rotation uses Rodrigues' rotation formula,
|
|
128
|
+
powered by [`scipy.spatial.transform.Rotation.from_rotvec`](https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.transform.Rotation.from_rotvec.html#scipy.spatial.transform.Rotation.from_rotvec).
|
|
116
129
|
"""
|
|
117
130
|
if len(positions) < 3:
|
|
118
131
|
raise ValueError("At least three atoms must be rotated.")
|
|
@@ -129,10 +129,8 @@ class System:
|
|
|
129
129
|
# Check that the grid is still within -2pi and 2pi, otherwise normalise it for a final time
|
|
130
130
|
while self.grid[0] <= (-2 * np.pi + 0.1): # With a small tolerance
|
|
131
131
|
self.grid = self.grid + 2 * np.pi
|
|
132
|
-
print('plus 2')
|
|
133
132
|
while self.grid[-1] >= 2.5 * np.pi: # It was not a problem until reaching 5/2 pi
|
|
134
133
|
self.grid = self.grid -2 * np.pi
|
|
135
|
-
print('minus 2')
|
|
136
134
|
print(f'Potential shifted by {phase}π')
|
|
137
135
|
if calculate:
|
|
138
136
|
self.solve()
|
|
@@ -26,7 +26,7 @@ alat_lines = txt.find.lines('relax.out', 'Lattice parameter =')
|
|
|
26
26
|
# Extract the numerical value of the last match
|
|
27
27
|
alat = txt.extract.number(alat_lines[-1], 'Lattice parameter')
|
|
28
28
|
# Paste it into another file
|
|
29
|
-
txt.edit.replace_line('scf.in', 'Lattice parameter =', f'Lattice parameter =
|
|
29
|
+
txt.edit.replace_line('scf.in', 'Lattice parameter =', f'Lattice parameter = {alat}')
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
Advanced usage such as regular expression matching or
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: aton
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: The Ab-iniTiO & Neutron research toolbox, or ATON, provides powerful and comprehensive tools for cutting-edge materials research, focused on (but not limited to) neutron science.
|
|
5
5
|
Author: Pablo Gila-Herranz
|
|
6
6
|
Author-email: pgila001@ikasle.ehu.eus
|
|
@@ -41,9 +41,11 @@ or [ATON](https://pablogila.github.io/ATON/),
|
|
|
41
41
|
provides powerful and comprehensive tools
|
|
42
42
|
for cutting-edge materials research,
|
|
43
43
|
focused on (but not limited to) neutron science.
|
|
44
|
+
Designed to bridge the gap between theoretical modeling and experimental validation,
|
|
45
|
+
ATON allows researchers to streamline and simplify workflows in the study of advanced materials.
|
|
44
46
|
|
|
45
47
|
Just like its [ancient Egyptian deity](https://en.wikipedia.org/wiki/Aten) counterpart,
|
|
46
|
-
this all-in-one Python package
|
|
48
|
+
this all-in-one Python package comprises a range of utility tools
|
|
47
49
|
from INS spectra analysis to *ab-initio* interfaces
|
|
48
50
|
for [Quantum ESPRESSO](https://www.quantum-espresso.org/),
|
|
49
51
|
[Phonopy](https://phonopy.github.io/phonopy/) and
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|