atorvi 0.1.1__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.
- atorvi-0.1.1/LICENSE +21 -0
- atorvi-0.1.1/PKG-INFO +106 -0
- atorvi-0.1.1/README.md +87 -0
- atorvi-0.1.1/atorvi/__init__.py +36 -0
- atorvi-0.1.1/atorvi/atomic_orbitals.py +624 -0
- atorvi-0.1.1/atorvi/atorvi.py +392 -0
- atorvi-0.1.1/atorvi.egg-info/PKG-INFO +106 -0
- atorvi-0.1.1/atorvi.egg-info/SOURCES.txt +13 -0
- atorvi-0.1.1/atorvi.egg-info/dependency_links.txt +1 -0
- atorvi-0.1.1/atorvi.egg-info/entry_points.txt +2 -0
- atorvi-0.1.1/atorvi.egg-info/requires.txt +5 -0
- atorvi-0.1.1/atorvi.egg-info/top_level.txt +1 -0
- atorvi-0.1.1/pyproject.toml +32 -0
- atorvi-0.1.1/setup.cfg +4 -0
- atorvi-0.1.1/setup.py +3 -0
atorvi-0.1.1/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Dmitry Korotin dmitry@korotin.name
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
atorvi-0.1.1/PKG-INFO
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: atorvi
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: Package for visualizing atomic orbitals
|
|
5
|
+
Author-email: Dmitry Korotin <dmitry@korotin.name>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/dkorotin/atorvi
|
|
8
|
+
Keywords: atomic orbitals,visualization
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Requires-Python: >=3.6
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Requires-Dist: numpy
|
|
16
|
+
Requires-Dist: scipy
|
|
17
|
+
Provides-Extra: pymatgen
|
|
18
|
+
Requires-Dist: pymatgen; extra == "pymatgen"
|
|
19
|
+
|
|
20
|
+
# atorvi - ATomic ORbitals VIsualization
|
|
21
|
+
|
|
22
|
+

|
|
23
|
+
|
|
24
|
+
**atorvi** is a Python package for visualizing individual atomic orbitals and their various linear combinations. The library generates requested atomic orbitals on a 3D mesh and exports them, along with the inputted crystal structure (molecule or periodic crystal), into a file in [XCrysDen .xsf format](http://www.xcrysden.org/doc/XSF.html).
|
|
25
|
+
|
|
26
|
+
The resulting `.xsf` file can be opened and visualized using your favorite visualization software, such as [XCrysDen](http://www.xcrysden.org/), [VESTA](https://jp-minerals.org/vesta/en/) or [VMD](https://www.ks.uiuc.edu/Research/vmd/).
|
|
27
|
+
|
|
28
|
+
## Installation
|
|
29
|
+
|
|
30
|
+
To install **atorvi**, you can use `pip`:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
pip install atorvi
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Features
|
|
37
|
+
|
|
38
|
+
- **Atomic Orbitals Generation**: Create atomic orbitals at a specific position in space or at a designated atom/element within a crystal structure.
|
|
39
|
+
|
|
40
|
+
- **Flexible Structure Input**: Input crystal structures either manually, atom-by-atom, or directly from standard file formats such as POSCAR, XSF, CIF, and more. The integration with the `pymatgen` package simplifies structure handling.
|
|
41
|
+
|
|
42
|
+
- **Orbital Hybridization**: Implement orbital hybridization by mixing different orbitals with custom coefficients, allowing for the exploration of complex bonding interactions.
|
|
43
|
+
|
|
44
|
+
- **Orbital Squared Moduli**: Generate squared moduli of orbitals, providing insight into their spatial distribution and probability densities.
|
|
45
|
+
|
|
46
|
+
Examples of orbitals generated with **atorvi**: could be found in [examples](./examples/) folder.
|
|
47
|
+
|
|
48
|
+
## Quick start
|
|
49
|
+
|
|
50
|
+
The full user manual is available in [docs/atorvi_manual.md](./docs/atorvi_manual.md).
|
|
51
|
+
|
|
52
|
+
**atorvi** can be used in two modes: package mode (for scripting and notebooks) and CLI interactive mode (only basic functionality is available).
|
|
53
|
+
|
|
54
|
+
### 1.Package Mode
|
|
55
|
+
In your Python script or Jupyter notebook, you can generate and visualize atomic orbitals with the following example:
|
|
56
|
+
|
|
57
|
+
```python
|
|
58
|
+
import atorvi
|
|
59
|
+
|
|
60
|
+
# Example: visualize a d_{3z^2-r^2} orbital for an Ni atom (Z = 28)
|
|
61
|
+
outfile = atorvi.OrbitalFile("Ni_orbital.xsf")
|
|
62
|
+
|
|
63
|
+
outfile.add_orbital("d_{3z^2-r^2}", position=[0, 0, 0], znumber=28)
|
|
64
|
+
|
|
65
|
+
outfile.write_data()
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Then just open the `Ni_orbital.xsf` file in your favorite visualization software.
|
|
69
|
+
|
|
70
|
+
The orbitals available for generation are:
|
|
71
|
+
$$s$$
|
|
72
|
+
$$p_z, p_x, p_y$$
|
|
73
|
+
$$d_{3z^2-r^2}, d_{xz}, d_{yz}, d_{xy}, d_{x^2-y^2} $$
|
|
74
|
+
$$f_{z^3}, f_{xz^2}, f_{yz^2}, f_{xyz}, f_{z(x^2-y^2)}, f_{x(x^2-3y^2)}, f_{y(3x^2-y^2)}$$
|
|
75
|
+
|
|
76
|
+
```python
|
|
77
|
+
print(atorvi.supported_orbitals)
|
|
78
|
+
|
|
79
|
+
['s',
|
|
80
|
+
'p_z', 'p_x', 'p_y',
|
|
81
|
+
'd_{3z^2-r^2}', 'd_{xz}', 'd_{yz}', 'd_{xy}', 'd_{x^2-y^2}',
|
|
82
|
+
'f_{z^3}', 'f_{xz^2}', 'f_{yz^2}', 'f_{xyz}', 'f_{z(x^2-y^2)}', 'f_{x(x^2-3y^2)}', 'f_{y(3x^2-y^2)}']
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 2. CLI Interactive Mode
|
|
86
|
+
atorvi also offers an interactive mode via the command line interface (CLI). You can simply run the script directly in a terminal:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
atorvi_cli
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Follow the prompts to generate orbitals and export them to XCrysDen-compatible formats.
|
|
93
|
+
|
|
94
|
+
Once the file is generated, you can open it using visualization tools like XCrysDen or VESTA.
|
|
95
|
+
|
|
96
|
+
## Author
|
|
97
|
+
|
|
98
|
+
`atorvi` is developed and maintained by [Dmitry Korotin](https://www.researchgate.net/profile/Dmitry-Korotin). Contributions, suggestions, and feedback are welcome to help improve the project.
|
|
99
|
+
|
|
100
|
+
## License
|
|
101
|
+
|
|
102
|
+
`atorvi` is released under the MIT License. You are free to use, modify, and distribute the software, provided that the original copyright and permission notice are included in all copies or substantial portions of the software.
|
|
103
|
+
|
|
104
|
+
The author kindly asks that you cite this GitHub repository [github.com/dkorotin/atorvi](https://github.com/dkorotin/atorvi) and the related paper (link will be available soon) in any publications that use images or data generated with the `atorvi` package.
|
|
105
|
+
|
|
106
|
+
For more details, refer to the full [MIT License](./LICENSE).
|
atorvi-0.1.1/README.md
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# atorvi - ATomic ORbitals VIsualization
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
**atorvi** is a Python package for visualizing individual atomic orbitals and their various linear combinations. The library generates requested atomic orbitals on a 3D mesh and exports them, along with the inputted crystal structure (molecule or periodic crystal), into a file in [XCrysDen .xsf format](http://www.xcrysden.org/doc/XSF.html).
|
|
6
|
+
|
|
7
|
+
The resulting `.xsf` file can be opened and visualized using your favorite visualization software, such as [XCrysDen](http://www.xcrysden.org/), [VESTA](https://jp-minerals.org/vesta/en/) or [VMD](https://www.ks.uiuc.edu/Research/vmd/).
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
To install **atorvi**, you can use `pip`:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pip install atorvi
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Features
|
|
18
|
+
|
|
19
|
+
- **Atomic Orbitals Generation**: Create atomic orbitals at a specific position in space or at a designated atom/element within a crystal structure.
|
|
20
|
+
|
|
21
|
+
- **Flexible Structure Input**: Input crystal structures either manually, atom-by-atom, or directly from standard file formats such as POSCAR, XSF, CIF, and more. The integration with the `pymatgen` package simplifies structure handling.
|
|
22
|
+
|
|
23
|
+
- **Orbital Hybridization**: Implement orbital hybridization by mixing different orbitals with custom coefficients, allowing for the exploration of complex bonding interactions.
|
|
24
|
+
|
|
25
|
+
- **Orbital Squared Moduli**: Generate squared moduli of orbitals, providing insight into their spatial distribution and probability densities.
|
|
26
|
+
|
|
27
|
+
Examples of orbitals generated with **atorvi**: could be found in [examples](./examples/) folder.
|
|
28
|
+
|
|
29
|
+
## Quick start
|
|
30
|
+
|
|
31
|
+
The full user manual is available in [docs/atorvi_manual.md](./docs/atorvi_manual.md).
|
|
32
|
+
|
|
33
|
+
**atorvi** can be used in two modes: package mode (for scripting and notebooks) and CLI interactive mode (only basic functionality is available).
|
|
34
|
+
|
|
35
|
+
### 1.Package Mode
|
|
36
|
+
In your Python script or Jupyter notebook, you can generate and visualize atomic orbitals with the following example:
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
import atorvi
|
|
40
|
+
|
|
41
|
+
# Example: visualize a d_{3z^2-r^2} orbital for an Ni atom (Z = 28)
|
|
42
|
+
outfile = atorvi.OrbitalFile("Ni_orbital.xsf")
|
|
43
|
+
|
|
44
|
+
outfile.add_orbital("d_{3z^2-r^2}", position=[0, 0, 0], znumber=28)
|
|
45
|
+
|
|
46
|
+
outfile.write_data()
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Then just open the `Ni_orbital.xsf` file in your favorite visualization software.
|
|
50
|
+
|
|
51
|
+
The orbitals available for generation are:
|
|
52
|
+
$$s$$
|
|
53
|
+
$$p_z, p_x, p_y$$
|
|
54
|
+
$$d_{3z^2-r^2}, d_{xz}, d_{yz}, d_{xy}, d_{x^2-y^2} $$
|
|
55
|
+
$$f_{z^3}, f_{xz^2}, f_{yz^2}, f_{xyz}, f_{z(x^2-y^2)}, f_{x(x^2-3y^2)}, f_{y(3x^2-y^2)}$$
|
|
56
|
+
|
|
57
|
+
```python
|
|
58
|
+
print(atorvi.supported_orbitals)
|
|
59
|
+
|
|
60
|
+
['s',
|
|
61
|
+
'p_z', 'p_x', 'p_y',
|
|
62
|
+
'd_{3z^2-r^2}', 'd_{xz}', 'd_{yz}', 'd_{xy}', 'd_{x^2-y^2}',
|
|
63
|
+
'f_{z^3}', 'f_{xz^2}', 'f_{yz^2}', 'f_{xyz}', 'f_{z(x^2-y^2)}', 'f_{x(x^2-3y^2)}', 'f_{y(3x^2-y^2)}']
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 2. CLI Interactive Mode
|
|
67
|
+
atorvi also offers an interactive mode via the command line interface (CLI). You can simply run the script directly in a terminal:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
atorvi_cli
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Follow the prompts to generate orbitals and export them to XCrysDen-compatible formats.
|
|
74
|
+
|
|
75
|
+
Once the file is generated, you can open it using visualization tools like XCrysDen or VESTA.
|
|
76
|
+
|
|
77
|
+
## Author
|
|
78
|
+
|
|
79
|
+
`atorvi` is developed and maintained by [Dmitry Korotin](https://www.researchgate.net/profile/Dmitry-Korotin). Contributions, suggestions, and feedback are welcome to help improve the project.
|
|
80
|
+
|
|
81
|
+
## License
|
|
82
|
+
|
|
83
|
+
`atorvi` is released under the MIT License. You are free to use, modify, and distribute the software, provided that the original copyright and permission notice are included in all copies or substantial portions of the software.
|
|
84
|
+
|
|
85
|
+
The author kindly asks that you cite this GitHub repository [github.com/dkorotin/atorvi](https://github.com/dkorotin/atorvi) and the related paper (link will be available soon) in any publications that use images or data generated with the `atorvi` package.
|
|
86
|
+
|
|
87
|
+
For more details, refer to the full [MIT License](./LICENSE).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""
|
|
2
|
+
atorvi - ATomic ORbitals VIsualization
|
|
3
|
+
a library for visualizing individual atomic orbitals and their various linear combinations.
|
|
4
|
+
The result is a file in .xsf format, which can be opened and visualized using software like XCrysDen or VESTA.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
__author__ = "Dmitry Korotin"
|
|
8
|
+
__author_email__ = "dmitry@korotin.name"
|
|
9
|
+
__version__ = "0.1.1"
|
|
10
|
+
__license__ = "MIT"
|
|
11
|
+
|
|
12
|
+
from .atomic_orbitals import (
|
|
13
|
+
radial_part,
|
|
14
|
+
get_orbital,
|
|
15
|
+
supported_orbitals,
|
|
16
|
+
p_orbitals,
|
|
17
|
+
d_orbitals,
|
|
18
|
+
f_orbitals,
|
|
19
|
+
get_atomic_number
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
from .atorvi import (
|
|
23
|
+
OrbitalFile,
|
|
24
|
+
main
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
__all__ = [
|
|
28
|
+
'OrbitalFile',
|
|
29
|
+
'radial_part',
|
|
30
|
+
'get_orbital',
|
|
31
|
+
'supported_orbitals',
|
|
32
|
+
'p_orbitals',
|
|
33
|
+
'd_orbitals',
|
|
34
|
+
'f_orbitals',
|
|
35
|
+
'get_atomic_number'
|
|
36
|
+
]
|