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 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
+ ![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)
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
+ ![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)
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
+ ]