qrotor 4.4.1__py3-none-any.whl → 4.5.1__py3-none-any.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.
Potentially problematic release.
This version of qrotor might be problematic. Click here for more details.
- qrotor/__init__.py +1 -1
- qrotor/_version.py +1 -1
- qrotor/potential.py +1 -1
- qrotor/{rotate.py → rotation.py} +3 -3
- qrotor/system.py +1 -1
- qrotor/systems.py +11 -4
- {qrotor-4.4.1.dist-info → qrotor-4.5.1.dist-info}/METADATA +3 -3
- qrotor-4.5.1.dist-info/RECORD +21 -0
- tests/{test_rotate.py → test_rotation.py} +3 -3
- qrotor-4.4.1.dist-info/RECORD +0 -21
- {qrotor-4.4.1.dist-info → qrotor-4.5.1.dist-info}/WHEEL +0 -0
- {qrotor-4.4.1.dist-info → qrotor-4.5.1.dist-info}/licenses/LICENSE +0 -0
- {qrotor-4.4.1.dist-info → qrotor-4.5.1.dist-info}/top_level.txt +0 -0
qrotor/__init__.py
CHANGED
qrotor/_version.py
CHANGED
qrotor/potential.py
CHANGED
|
@@ -200,7 +200,7 @@ def from_qe(
|
|
|
200
200
|
comment:str=None,
|
|
201
201
|
) -> System:
|
|
202
202
|
"""Compiles a rotational potential CSV file from Quantum ESPRESSO pw.x outputs,
|
|
203
|
-
created with `qrotor.
|
|
203
|
+
created with `qrotor.rotation.rotate_qe()`.
|
|
204
204
|
Returns a `System` object with the new potential values.
|
|
205
205
|
|
|
206
206
|
The angle in degrees is extracted from the output filenames,
|
qrotor/{rotate.py → rotation.py}
RENAMED
|
@@ -9,7 +9,7 @@ Works with Quantum ESPRESSO input files.
|
|
|
9
9
|
|
|
10
10
|
| | |
|
|
11
11
|
| --- | --- |
|
|
12
|
-
| `
|
|
12
|
+
| `rotate_qe()` | Rotate specific atoms from a Quantum ESPRESSO input file |
|
|
13
13
|
| `rotate_coords()` | Rotate a specific list of coordinates |
|
|
14
14
|
|
|
15
15
|
---
|
|
@@ -26,7 +26,7 @@ import aton.txt.extract as extract
|
|
|
26
26
|
import aton.txt.edit as edit
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
def
|
|
29
|
+
def rotate_qe(
|
|
30
30
|
filepath:str,
|
|
31
31
|
positions:list,
|
|
32
32
|
angle:float,
|
|
@@ -35,7 +35,7 @@ def input_qe(
|
|
|
35
35
|
use_centroid:bool=True,
|
|
36
36
|
show_axis:bool=False,
|
|
37
37
|
) -> list:
|
|
38
|
-
"""Rotates atoms from a Quantum ESPRESSO input file.
|
|
38
|
+
"""Rotates atoms from a Quantum ESPRESSO pw.x input file.
|
|
39
39
|
|
|
40
40
|
Takes a `filepath` with a molecular structure, and three or more atomic `positions` (list).
|
|
41
41
|
These input positions can be approximate, and are used to identify the target atoms.
|
qrotor/system.py
CHANGED
|
@@ -212,10 +212,10 @@ class System:
|
|
|
212
212
|
return {
|
|
213
213
|
'version': self.version,
|
|
214
214
|
'comment': self.comment,
|
|
215
|
+
'tags': self.tags,
|
|
215
216
|
'searched_E': self.searched_E,
|
|
216
217
|
'correct_potential_offset': self.correct_potential_offset,
|
|
217
218
|
'save_eigenvectors': self.save_eigenvectors,
|
|
218
|
-
'tags': self.tags,
|
|
219
219
|
'B': self.B,
|
|
220
220
|
'gridsize': self.gridsize,
|
|
221
221
|
'potential_name': self.potential_name,
|
qrotor/systems.py
CHANGED
|
@@ -288,6 +288,7 @@ def summary(
|
|
|
288
288
|
"""
|
|
289
289
|
print('--------------------')
|
|
290
290
|
systems = as_list(systems)
|
|
291
|
+
|
|
291
292
|
for system in systems:
|
|
292
293
|
dictionary = system.summary()
|
|
293
294
|
if verbose:
|
|
@@ -299,10 +300,16 @@ def summary(
|
|
|
299
300
|
if len(system.eigenvalues) > 6:
|
|
300
301
|
eigenvalues = eigenvalues[:6]
|
|
301
302
|
extra = '...'
|
|
302
|
-
print('comment
|
|
303
|
-
print('
|
|
304
|
-
print('
|
|
305
|
-
print('
|
|
303
|
+
print('comment ' + str(system.comment))
|
|
304
|
+
print('ZPE ' + str(system.eigenvalues[0]))
|
|
305
|
+
print('E activation ' + str(system.E_activation))
|
|
306
|
+
print('V max ' + str(system.potential_max))
|
|
307
|
+
print('1st splitting ' + str(system.splittings[0]))
|
|
308
|
+
print('1st excitation ' + str(system.excitations[0]))
|
|
309
|
+
print('B ' + str(system.B))
|
|
310
|
+
print('eigenvalues ' + str([float(round(e, 4)) for e in eigenvalues]) + extra)
|
|
311
|
+
print('tags ' + str(system.tags))
|
|
312
|
+
print('version ' + str(system.version))
|
|
306
313
|
print('--------------------')
|
|
307
314
|
return None
|
|
308
315
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: qrotor
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.5.1
|
|
4
4
|
Summary: QRotor
|
|
5
5
|
Author: Pablo Gila-Herranz
|
|
6
6
|
Author-email: pgila001@ikasle.ehu.eus
|
|
@@ -106,7 +106,7 @@ QRotor contains the following modules:
|
|
|
106
106
|
| [qrotor.constants](https://pablogila.github.io/qrotor/qrotor/constants.html) | Common bond lengths and inertias |
|
|
107
107
|
| [qrotor.system](https://pablogila.github.io/qrotor/qrotor/system.html) | Definition of the quantum `System` object |
|
|
108
108
|
| [qrotor.systems](https://pablogila.github.io/qrotor/qrotor/systems.html) | Utilities to manage several System objects, such as a list of systems |
|
|
109
|
-
| [qrotor.
|
|
109
|
+
| [qrotor.rotation](https://pablogila.github.io/qrotor/qrotor/rotation.html) | Rotate specific atoms from structural files |
|
|
110
110
|
| [qrotor.potential](https://pablogila.github.io/qrotor/qrotor/potential.html) | Potential definitions and loading functions |
|
|
111
111
|
| [qrotor.solve](https://pablogila.github.io/qrotor/qrotor/solve.html) | Solve rotation eigenvalues and eigenvectors |
|
|
112
112
|
| [qrotor.plot](https://pablogila.github.io/qrotor/qrotor/plot.html) | Plotting utilities |
|
|
@@ -179,7 +179,7 @@ atoms = [
|
|
|
179
179
|
'3.103 3.206 3.309'
|
|
180
180
|
]
|
|
181
181
|
# Create the input SCF files, saving the filenames to a list
|
|
182
|
-
scf_files = qr.
|
|
182
|
+
scf_files = qr.rotation.rotate_qe('molecule.in', positions=atoms, angle=10, repeat=True)
|
|
183
183
|
# Run the Quantum ESPRESSO calculations
|
|
184
184
|
api.slurm.sbatch(files=scf_files)
|
|
185
185
|
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
qrotor/__init__.py,sha256=FgB2-SglHK-hAzjctoVqzJSBA1rLBQH2nv0o3LWuh5A,248
|
|
2
|
+
qrotor/_version.py,sha256=wkrb4M-n9WOwWsoukOo63VpjZSaomNKHz1UD8XiFrTM,198
|
|
3
|
+
qrotor/constants.py,sha256=YRri136Zg5dqqDS-180sxOB5ytBJW74msUbHYbrfiMc,6655
|
|
4
|
+
qrotor/plot.py,sha256=iJWHohW8hvKGRUjoqLYyQXweqrahF0XOIyyhDJ05_bI,14171
|
|
5
|
+
qrotor/potential.py,sha256=n6izUMbl2okMSg7xj_IV6rDr2B-RCWiqtSBcsTltL1M,18564
|
|
6
|
+
qrotor/rotation.py,sha256=4pXcIcb6fY44haRB6HWGLqC0la1V91Tr3NW4DrUNTkw,8115
|
|
7
|
+
qrotor/solve.py,sha256=YkOR1SJlpk41PCNEhslv6X3wV1TWMNztT78qX3Pngf0,10722
|
|
8
|
+
qrotor/system.py,sha256=i2EP3egJFwLFL6570abHzR3Hhl0KiAu6vp2jmohlbPE,9946
|
|
9
|
+
qrotor/systems.py,sha256=dk-4PqQI8G5CgZamP5zaNv3_hNPgBE2qjT4bJnlE9aM,12798
|
|
10
|
+
qrotor-4.5.1.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
|
11
|
+
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
+
tests/test_constants.py,sha256=YHKkPyZlzjchxxzON_VSNsQdKnpkknsFVoIA6TcUk70,399
|
|
13
|
+
tests/test_potential.py,sha256=_Vq9t9Xm59kNbyYwXlRnvKcxwL7vntD2j14W2aUtF6I,1302
|
|
14
|
+
tests/test_rotation.py,sha256=qW6HQHdPNteN6qZ5blVoTSQINU8m9wn8hTcOszrdulE,1898
|
|
15
|
+
tests/test_solve.py,sha256=tEjLUZC7oe6LCQD5b2xf2aaK9lu-zI4lzuPXOGR2GAs,861
|
|
16
|
+
tests/test_system.py,sha256=36d-8AdoJdzq0O9_O3s8wwBPGa-M7A86YiHqhhAsCZ8,742
|
|
17
|
+
tests/test_systems.py,sha256=wKaBDaF2QIvJAux5tsuFecp8oGx4LGNhWVJaCxNlb4g,1440
|
|
18
|
+
qrotor-4.5.1.dist-info/METADATA,sha256=yMS6pryPOv0uUBrhghJWPMTw4ISb48YoxZUdDx2bJFc,9648
|
|
19
|
+
qrotor-4.5.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
20
|
+
qrotor-4.5.1.dist-info/top_level.txt,sha256=mLnYs07-amqX4TqbDV2_XvgdpHfgrYmzmYb7dwoh6EQ,13
|
|
21
|
+
qrotor-4.5.1.dist-info/RECORD,,
|
|
@@ -10,14 +10,14 @@ structure_120 = folder + 'CH3NH3_120.in'
|
|
|
10
10
|
structure_60 = folder + 'CH3NH3_60.in'
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
def
|
|
13
|
+
def test_rotation():
|
|
14
14
|
CH3 = [
|
|
15
15
|
'0.100 0.183 0.316',
|
|
16
16
|
'0.151 0.532 0.842',
|
|
17
17
|
'0.118 0.816 0.277',
|
|
18
18
|
]
|
|
19
19
|
# 120 degrees (it should remain the same)
|
|
20
|
-
qr.
|
|
20
|
+
qr.rotation.rotate_qe(filepath=structure, positions=CH3, angle=120, precision=2)
|
|
21
21
|
for coord in CH3:
|
|
22
22
|
rotated_coord = api.pwx.get_atom(filepath=structure_120, position=coord, precision=2)
|
|
23
23
|
rotated_coord = extract.coords(rotated_coord)
|
|
@@ -37,7 +37,7 @@ def test_rotate():
|
|
|
37
37
|
'0.095062781582172 0.488975944606740 0.115053787468686',
|
|
38
38
|
'0.128156574395412 0.205890189020629 0.680672454316303',
|
|
39
39
|
]
|
|
40
|
-
qr.
|
|
40
|
+
qr.rotation.rotate_qe(filepath=structure, positions=CH3, angle=60, precision=2)
|
|
41
41
|
for coord in ideal:
|
|
42
42
|
rotated_coord = api.pwx.get_atom(filepath=structure_60, position=coord, precision=3)
|
|
43
43
|
rotated_coord = extract.coords(rotated_coord)
|
qrotor-4.4.1.dist-info/RECORD
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
qrotor/__init__.py,sha256=rG2dH4QjsVUOMBhFnv5gXs3QnrUg7fywd5pIDmMBXcQ,246
|
|
2
|
-
qrotor/_version.py,sha256=-0UGWvfKUxLJlpnjNakdqSmawlKdSDhL09z5yQDtirE,198
|
|
3
|
-
qrotor/constants.py,sha256=YRri136Zg5dqqDS-180sxOB5ytBJW74msUbHYbrfiMc,6655
|
|
4
|
-
qrotor/plot.py,sha256=iJWHohW8hvKGRUjoqLYyQXweqrahF0XOIyyhDJ05_bI,14171
|
|
5
|
-
qrotor/potential.py,sha256=MsmUoac3wRhlIprY8ipThy0HNYaO8iRnfF51VsUJ5HU,18561
|
|
6
|
-
qrotor/rotate.py,sha256=FppTiAwE3c7JtPyOGBF4YHxq9JzE-YilN_lpaOgPm9Q,8109
|
|
7
|
-
qrotor/solve.py,sha256=YkOR1SJlpk41PCNEhslv6X3wV1TWMNztT78qX3Pngf0,10722
|
|
8
|
-
qrotor/system.py,sha256=NQ7fcSo2R1QY1D0k9ymjJT9i9BSvuAOE7zqt5NJxFCQ,9946
|
|
9
|
-
qrotor/systems.py,sha256=KbeaomvMcmQluJW2VMzQounu4qB42_jX2CU0ablDNCI,12389
|
|
10
|
-
qrotor-4.4.1.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
|
11
|
-
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
tests/test_constants.py,sha256=YHKkPyZlzjchxxzON_VSNsQdKnpkknsFVoIA6TcUk70,399
|
|
13
|
-
tests/test_potential.py,sha256=_Vq9t9Xm59kNbyYwXlRnvKcxwL7vntD2j14W2aUtF6I,1302
|
|
14
|
-
tests/test_rotate.py,sha256=pbwLeET6mCw7x8nFFvwn5ZvONRzNsexjSB_SZq7cJ1s,1890
|
|
15
|
-
tests/test_solve.py,sha256=tEjLUZC7oe6LCQD5b2xf2aaK9lu-zI4lzuPXOGR2GAs,861
|
|
16
|
-
tests/test_system.py,sha256=36d-8AdoJdzq0O9_O3s8wwBPGa-M7A86YiHqhhAsCZ8,742
|
|
17
|
-
tests/test_systems.py,sha256=wKaBDaF2QIvJAux5tsuFecp8oGx4LGNhWVJaCxNlb4g,1440
|
|
18
|
-
qrotor-4.4.1.dist-info/METADATA,sha256=Nncza56dmFQXPwO-BjhSuj3uwE0wabhaxcdkt4SQp0I,9649
|
|
19
|
-
qrotor-4.4.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
20
|
-
qrotor-4.4.1.dist-info/top_level.txt,sha256=mLnYs07-amqX4TqbDV2_XvgdpHfgrYmzmYb7dwoh6EQ,13
|
|
21
|
-
qrotor-4.4.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|