jahn-teller-dynamics 0.1.0__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.
- jahn_teller_dynamics/Exe.py +44 -0
- jahn_teller_dynamics/__init__.py +1 -0
- jahn_teller_dynamics/io/JT_config_file_parsing.py +911 -0
- jahn_teller_dynamics/io/VASP.py +480 -0
- jahn_teller_dynamics/io/__init__.py +3 -0
- jahn_teller_dynamics/io/plotting.py +85 -0
- jahn_teller_dynamics/io/user_workflow.py +825 -0
- jahn_teller_dynamics/io/xml_parser.py +196 -0
- jahn_teller_dynamics/math/__init__.py +1 -0
- jahn_teller_dynamics/math/braket_formalism.py +192 -0
- jahn_teller_dynamics/math/maths.py +650 -0
- jahn_teller_dynamics/math/matrix_formalism.py +823 -0
- jahn_teller_dynamics/physics/__init__.py +1 -0
- jahn_teller_dynamics/physics/jahn_teller_theory.py +307 -0
- jahn_teller_dynamics/physics/quantum_physics.py +743 -0
- jahn_teller_dynamics/physics/quantum_system.py +319 -0
- jahn_teller_dynamics/user_workflow.py +822 -0
- jahn_teller_dynamics-0.1.0.dist-info/LICENSE +699 -0
- jahn_teller_dynamics-0.1.0.dist-info/METADATA +0 -0
- jahn_teller_dynamics-0.1.0.dist-info/RECORD +23 -0
- jahn_teller_dynamics-0.1.0.dist-info/WHEEL +5 -0
- jahn_teller_dynamics-0.1.0.dist-info/entry_points.txt +3 -0
- jahn_teller_dynamics-0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Wrapper for the original Exe.py functionality.
|
|
4
|
+
This makes the Exe.py logic available as an importable module.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import sys
|
|
8
|
+
import jahn_teller_dynamics.io.JT_config_file_parsing as JT_cfg
|
|
9
|
+
import jahn_teller_dynamics.io.user_workflow as uw
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def main():
|
|
13
|
+
"""Main function that replicates the original Exe.py behavior."""
|
|
14
|
+
arguments = sys.argv[1:]
|
|
15
|
+
|
|
16
|
+
if not arguments:
|
|
17
|
+
print("Error: No configuration file specified.")
|
|
18
|
+
print("Usage: Exe <config_file>")
|
|
19
|
+
sys.exit(1)
|
|
20
|
+
|
|
21
|
+
config_file_name = arguments[0]
|
|
22
|
+
|
|
23
|
+
try:
|
|
24
|
+
JT_config_parser = JT_cfg.Jahn_Teller_config_parser(config_file_name)
|
|
25
|
+
print('Run an Exe calculation')
|
|
26
|
+
if JT_config_parser.is_ZPL_calculation():
|
|
27
|
+
uw.ZPL_procedure(JT_config_parser)
|
|
28
|
+
elif JT_config_parser.is_single_case():
|
|
29
|
+
section_to_look_for = JT_cfg.single_case_section
|
|
30
|
+
uw.spin_orbit_JT_procedure_general(JT_config_parser, section_to_look_for, complex_trf=True)
|
|
31
|
+
else:
|
|
32
|
+
print("Error: Could not determine calculation type from config file.")
|
|
33
|
+
sys.exit(1)
|
|
34
|
+
|
|
35
|
+
except FileNotFoundError:
|
|
36
|
+
print(f"Error: Configuration file '{config_file_name}' not found.")
|
|
37
|
+
sys.exit(1)
|
|
38
|
+
except Exception as e:
|
|
39
|
+
print(f"Error: {e}")
|
|
40
|
+
sys.exit(1)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
if __name__ == "__main__":
|
|
44
|
+
main()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|