# Jahn-Teller-Dynamics - Dynamic Jahn-Teller Effect Calculator
[](https://www.python.org/downloads/release/python-3100/)
[](https://www.gnu.org/licenses/gpl-3.0)
[](mailto:toth.balazs@wigner.hun-ren.hu)
## Table of Contents
- [About the Project](#about-the-project)
- [Installation](#installation)
- [Usage](#usage)
- [Configuration Examples](#configuration-examples)
- [Output Options](#output-options)
- [Eigenstates](#eigenstates)
## About the Project
A Python tool for calculating dynamic Jahn-Teller effects, spin-orbit interactions, and energy splitting of degenerate electron states from DFT calculations.
The `Exe.py` script calculates:
* The E⊗e dynamic Jahn-Teller effect
* Spin-orbit interaction
* Energy splitting of degenerate electron states
* ZPL (zero phonon line) shift in magnetic field
This project was built with Python 3.10.
## Installation
### Installation directly from PyPI:
```
pip install jahn-teller-dynamics
```
### Installation from Github
1. Download the project:
```bash
git clone https://github.com/tbalu98/Jahn-Teller-Dynamics.git
```
or download the [zip file](https://github.com/tbalu98/Jahn-Teller-Dynamics/archive/refs/heads/main.zip)
2. Install dependencies:
```bash
pip3 install -r requirements.txt
```
## Usage
To run a calculation, you need to:
1. Create a configuration file (.cfg) that specifies your Jahn-Teller active system parameters
2. Run the following command, replacing configuration_file.cfg with your config file name:
```bash
Exe configuration_file.cfg
```
### Test Data
To test the code, download this folder that contains the vasprunxml files for the negatively charged tin vacancy (SnV) from:
[Google Drive](https://drive.google.com/drive/folders/1_L-j08JW8fuGhRihFijjS_vfALAPvC43?usp=sharing)
## Configuration Examples
Example configuration files can be found in the `config_files` folder, which demonstrate different use cases and parameter settings.
### 1. Basic Configuration with vasprunxml
To perform calculations, you need at least two geometric configurations of your Jahn-Teller active system:
- The highly symmetric geometry
- The Jahn-Teller distorted geometry with minimum energy
- (Optional) The saddle point geometry
- (Optional) Spin-orbit coupling from density functional theory calculation
Example configuration:
```
[essentials]
maximum_number_of_vibrational_quanta = 12
output_prefix = SnV_gnd
output_folder = results/SnV_results
input_folder = data/SnV_data
eigen_states = real
save_raw_parameters = true
save_model_hamiltonian_cfg = true
[system_parameters]
saddle_point_geometry = SnV_gnd_saddle_point.xml
global_minimum_geometry = SnV_gnd_C2h.xml
high_symmetry_geometry = SnV_gnd_D3d.xml
#spin-orbit coupling obtained from DFT calculation in meV:
#This calculation modells a hole therefore, it is a negative value.
DFT_spin-orbit_coupling = -8.3
orbital_reduction_factor = 0.328
#Optionally you may specify a magnetic field
[magnetic_field]
#In Tesla
minimum = 0.0
maximum = 10.0
direction_vector = 1.0, 0.0, 0.0
step_number = 11
```
The eigenenergies, states and the theoretical results such as reduction factors will be presented in the output_folder.
### 2. ZPL Calculation Configuration
For ZPL shift calculations, you need to specify:
- Ground and excited states
- Magnetic field parameters
- Basis vectors of the E⊗e dynamic Jahn-Teller active system' spin
```
[essentials]
maximum_number_of_vibrational_quanta = 12
output_prefix = SnV_ZPL_shift
output_folder = results/SnV_results
input_folder = data/SnV_data
#basis vectors of the Exe system's coordinate system
basis_vector_1 = 1, -1, 0
basis_vector_2 = 1, 1, -2
basis_vector_3 = 1, 1, 1
# It can use the model four state Hamiltonian.
model_Hamiltonian = false
#Saves geometries of the system in .csv files, and creates a corresponding .cfg file
save_raw_parameters = true
#Save a .cfg file which contains the parameters of the model Hamiltonian operator of the system
save_model_Hamiltonian_cfg = true
#Save a .cfg file which contains the Taylor coefficients of the electron-phonon interaction
save_taylor_coeffs_cfg = true
[ground_state_parameters]
saddle_point_geometry = SnV_gnd_saddle_point.xml
global_minimum_geometry = SnV_gnd_C2h.xml
high_symmetry_geometry = SnV_gnd_D3d.xml
#spin-orbit coupling obtained from DFT calculation in meV:
DFT_spin-orbit_coupling = -8.3
orbital_reduction_factor = 0.328
[excited_state_parameters]
saddle_point_geometry = SnV_ex_saddle_point.xml
global_minimum_geometry = SnV_ex_C2h.xml
high_symmetry_geometry = SnV_ex_D3d.xml
#spin-orbit coupling obtained from DFT calculation in meV:
DFT_spin-orbit_coupling = -95.9
orbital_reduction_factor = 0.782
[magnetic_field]
#In Tesla
minimum = 0.0
maximum = 10.0
direction_vector = 1.0, 0.0, 0.0
step_number = 11
```
### 3. CSV File Configuration
By opting for the ```save_raw_parameters = true``` the program saves the atomic locations in CSV files and creates the corresponding configurational file. It contains additional structural parameters of the lattice energies, lattice vectors, atomic masses and names.
```
[ground_state_parameters]
dft_spin-orbit_coupling = -8.3
orbital_reduction_factor = 0.328
high_symmetry_geometry = SnV_ZPL_shift_ground_state_parameters_high_symmetry_geometry.csv
high_symmetric_geometry_energy = -5368.30679265
global_minimum_geometry = SnV_ZPL_shift_ground_state_parameters_global_minimum_geometry.csv
global_minimum_energy = -5368.32839163
saddle_point_energy = -5368.32682965
saddle_point_geometry = SnV_ZPL_shift_ground_state_parameters_saddle_point_geometry.csv
[excited_state_parameters]
dft_spin-orbit_coupling = -95.9
orbital_reduction_factor = 0.782
high_symmetry_geometry = SnV_ZPL_shift_excited_state_parameters_high_symmetry_geometry.csv
high_symmetric_geometry_energy = -5366.13656085
global_minimum_geometry = SnV_ZPL_shift_excited_state_parameters_global_minimum_geometry.csv
global_minimum_energy = -5366.21970743
saddle_point_energy = -5366.21291581
saddle_point_geometry = SnV_ZPL_shift_excited_state_parameters_saddle_point_geometry.csv
[atom_structure_parameters]
masses_of_atoms = 118.71, 12.011
names_of_atoms = Sn, C
numbers_of_atoms = 1, 510
basis_vector_1 = 14.17860889, 0.0, 0.0
basis_vector_2 = 0.0, 14.17860889, 0.0
basis_vector_3 = 0.0, 0.0, 14.17860889
[essentials]
maximum_number_of_vibrational_quanta = 12
output_prefix = SnV_ZPL_shift
output_folder = results/SnV_results
input_folder = data/SnV_data
basis_vector_1 = 1, -1, 0
basis_vector_2 = 1, 1, -2
basis_vector_3 = 1, 1, 1
model_hamiltonian = false
save_raw_parameters = false
save_model_hamiltonian_cfg = false
save_taylor_coeffs_cfg = true
[magnetic_field]
minimum = 0.0
maximum = 10.0
step_number = 11
direction_vector = 1.0, 0.0, 0.0
```
### 4. Direct Parameter Configuration
You can also specify E⊗e Jahn-Teller interaction parameters directly. There you need to give the Jahn-Teller energies, barrier energies, and the distances between the lattice configurations so the program can calculate the coeffcients of the Jahn-Teller interaction.
```
[essentials]
maximum_number_of_vibrational_quanta = 12
output_prefix = SnV_ZPL_shift_JT_pars
output_folder = results/SnV_results
spectrum_range = 50
#basis vectors of the Exe system's coordinate system
basis_vector_1 = 1, -1, 0
basis_vector_2 = 1, 1, -2
basis_vector_3 = 1, 1, 1
[ground_state_parameters]
Jahn-Teller_energy = 21.599
barrier_energy = 1.562
vibrational_energy_quantum = 79.4954
#spin-orbit coupling obtained from DFT calculation in meV:
DFT_spin-orbit_coupling = -8.3
orbital_reduction_factor = 0.328
high_symmetric_geometry-minimum_energy_geometry_distance = 0.1644
high_symmetric_geometry-saddle_point_geometry_distance = 0.1676
[excited_state_parameters]
Jahn-Teller_energy = 83.1466
barrier_energy = 6.7916
vibrational_energy_quantum = 75.6121
#spin-orbit coupling obtained from DFT calculation in meV:
DFT_spin-orbit_coupling = -95.9
orbital_reduction_factor = 0.782
high_symmetric_geometry-minimum_energy_geometry_distance = 0.3407
high_symmetric_geometry-saddle_point_geometry_distance = 0.3421
[magnetic_field]
minimum = 0.0
maximum = 10.0
direction_vector = 0.0, 0.0, 1.0
step_number = 11
#basis vector of the magnetic field (the program normalize it automatically)
basis_vector_1 = 14.17860889, 0.0, 0.0
basis_vector_2 = 0.0, 14.17860889, 0.0
basis_vector_3 = 0.0, 0.0, 14.17860889
```
### 5. Four-State Model Configuration
For calculations using the four-state model:
```
[essentials]
maximum_number_of_vibrational_quanta = 12
output_prefix = SnV_ZPL_shift
output_folder = results/SnV_results
input_folder = data/SnV_data
basis_vector_1 = 1, -1, 0
basis_vector_2 = 1, 1, -2
basis_vector_3 = 1, 1, 1
model_hamiltonian = false
save_raw_parameters = false
save_model_hamiltonian_cfg = false
save_taylor_coeffs_cfg = true
[ground_state_parameters]
dft_spin-orbit_coupling = -8.3
orbital_reduction_factor = 0.328
ham_reduction_factor = 0.4706170075391288
delta_p = 0.04700977697171288
k_jt = 0.01040108529115713
[excited_state_parameters]
dft_spin-orbit_coupling = -95.9
orbital_reduction_factor = 0.782
ham_reduction_factor = 0.12550119453836145
delta_p = 0.2967480915488183
k_jt = 0.0644133368548232
[magnetic_field]
minimum = 0.0
maximum = 10.0
step_number = 11
direction_vector = 1.0, 0.0, 0.0
```
## Output Options
The tool can generate various output files based on configuration:
- `save_raw_parameters = true`: Saves geometries in CSV format and generates the corresponding configuration file with atomic parameters such as chemical symbol, mass, basis vector of the supercell.
- `save_model_hamiltonian_cfg = true`: Generates four state model Hamiltonian configuration
- `save_taylor_coeffs_cfg = true`: Saves .cfg files that contains Taylor coefficients for the dynamic Jahn-Teller interaction
## Eigenstates
The script can save eigenstates in either real or complex basis:
- Complex basis (e<sub>+</sub>, e<sub>-</sub>): Superpositions of degenerate orbitals (e<sub>x</sub>, e<sub>y</sub>)
- e<sub>+</sub> = -(e<sub>x</sub>+ie<sub>y</sub>)
- e<sub>-</sub> = e<sub>x</sub>-ie<sub>y</sub>
To use complex eigenstates, set:
```
eigen_states = complex
```
## Directory Structure
```
Jahn-Teller-Dynamics/
├── src/
│ └── jahn_teller_dynamics/ # Main package
│ ├── __init__.py
│ ├── Exe.py # Main executable script
│ ├── io/ # Input/Output modules
│ │ ├── __init__.py
│ │ ├── JT_config_file_parsing.py
│ │ ├── plotting.py
│ │ ├── user_workflow.py
│ │ ├── VASP.py
│ │ └── xml_parser.py
│ ├── math/ # Mathematical utilities
│ │ ├── __init__.py
│ │ ├── matrix_mechanics.py
│ │ ├── braket_formalism.py
│ │ └── maths.py
│ ├── physics/ # Physics modules
│ │ ├── __init__.py
│ │ ├── jahn_teller_theory.py
│ │ ├── quantum_physics.py
│ │ └── quantum_system.py
├── config_files/ # Example configuration files
│ ├── SnV_gnd_csv.cfg
│ ├── SnV_ZPL_shift_csv.cfg
│ └── ... (other config examples)
├── data/ # Data directory (user-provided)
├── results/ # Output results directory (user-provided)
├── requirements.txt # Python dependencies
├── setup.py # Package installation script
└── README.md # This file
```
### Key Components:
- **`src/jahn_teller_dynamics/`**: Main package containing all Python modules
- **`io/`**: Input/Output modules for configuration parsing, VASP file handling, and plotting
- **`math/`**: Mathematical utilities for braket formalism and matrix mechanics and Hilbert spaces
- **`physics/`**: Core physics modules for Jahn-Teller theory and quantum mechanical systems
- **`config_files/`**: Example configuration files for different calculation types
- **`data/`**: Directory for user input data (VASP files, CSV files, etc.)
- **`results/`**: Output directory for calculation results
Raw data
{
"_id": null,
"home_page": "https://github.com/yourusername/Jahn-Teller-Dynamics",
"name": "jahn-teller-dynamics",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "jahn-teller, quantum-physics, solid-state-physics, vasp, dft, quantum-mechanics, crystal-field-theory, electron-phonon-coupling, spin-orbit-coupling, defect-physics, point-defects, color-centers",
"author": "Bal\u00e1zs T\u00f3th",
"author_email": "toth.balazs@wigner.hun-ren.hu",
"download_url": "https://files.pythonhosted.org/packages/63/46/6d8def36531364d1a614f01da413a4ec1d8d6e6771334ba244fe50482e14/jahn_teller_dynamics-0.3.1.tar.gz",
"platform": "any",
"description": "\ufeff# Jahn-Teller-Dynamics - Dynamic Jahn-Teller Effect Calculator\n\n\n[](https://www.python.org/downloads/release/python-3100/)\n[](https://www.gnu.org/licenses/gpl-3.0)\n[](mailto:toth.balazs@wigner.hun-ren.hu)\n\n\n\n\n## Table of Contents\n\n- [About the Project](#about-the-project)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Configuration Examples](#configuration-examples)\n- [Output Options](#output-options)\n- [Eigenstates](#eigenstates)\n\n## About the Project\n\nA Python tool for calculating dynamic Jahn-Teller effects, spin-orbit interactions, and energy splitting of degenerate electron states from DFT calculations.\n\nThe `Exe.py` script calculates:\n* The E\u2297e dynamic Jahn-Teller effect\n* Spin-orbit interaction\n* Energy splitting of degenerate electron states\n* ZPL (zero phonon line) shift in magnetic field\n\n\n\nThis project was built with Python 3.10.\n\n## Installation\n\n\n\n### Installation directly from PyPI:\n\n```\npip install jahn-teller-dynamics\n```\n### Installation from Github\n\n\n1. Download the project:\n ```bash\n git clone https://github.com/tbalu98/Jahn-Teller-Dynamics.git\n ```\n or download the [zip file](https://github.com/tbalu98/Jahn-Teller-Dynamics/archive/refs/heads/main.zip)\n\n2. Install dependencies:\n ```bash\n pip3 install -r requirements.txt\n ```\n\n\n\n\n## Usage\n\nTo run a calculation, you need to:\n\n1. Create a configuration file (.cfg) that specifies your Jahn-Teller active system parameters\n2. Run the following command, replacing configuration_file.cfg with your config file name:\n\n```bash\nExe configuration_file.cfg\n```\n\n### Test Data\n\nTo test the code, download this folder that contains the vasprunxml files for the negatively charged tin vacancy (SnV) from:\n[Google Drive](https://drive.google.com/drive/folders/1_L-j08JW8fuGhRihFijjS_vfALAPvC43?usp=sharing)\n\n## Configuration Examples\n\nExample configuration files can be found in the `config_files` folder, which demonstrate different use cases and parameter settings.\n\n### 1. Basic Configuration with vasprunxml\n\nTo perform calculations, you need at least two geometric configurations of your Jahn-Teller active system:\n- The highly symmetric geometry\n- The Jahn-Teller distorted geometry with minimum energy\n- (Optional) The saddle point geometry\n- (Optional) Spin-orbit coupling from density functional theory calculation\n\nExample configuration:\n```\n[essentials]\nmaximum_number_of_vibrational_quanta = 12\noutput_prefix = SnV_gnd\noutput_folder = results/SnV_results\ninput_folder = data/SnV_data\neigen_states = real\nsave_raw_parameters = true\nsave_model_hamiltonian_cfg = true\n\n\n[system_parameters]\nsaddle_point_geometry = SnV_gnd_saddle_point.xml\nglobal_minimum_geometry = SnV_gnd_C2h.xml\nhigh_symmetry_geometry = SnV_gnd_D3d.xml\n#spin-orbit coupling obtained from DFT calculation in meV:\n#This calculation modells a hole therefore, it is a negative value.\nDFT_spin-orbit_coupling = -8.3\norbital_reduction_factor = 0.328\n\n#Optionally you may specify a magnetic field\n[magnetic_field]\n#In Tesla\nminimum = 0.0\nmaximum = 10.0\ndirection_vector = 1.0, 0.0, 0.0\nstep_number = 11\n\n```\n\nThe eigenenergies, states and the theoretical results such as reduction factors will be presented in the output_folder.\n\n### 2. ZPL Calculation Configuration\n\nFor ZPL shift calculations, you need to specify:\n- Ground and excited states\n- Magnetic field parameters\n- Basis vectors of the E\u2297e dynamic Jahn-Teller active system' spin\n\n```\n[essentials]\nmaximum_number_of_vibrational_quanta = 12\noutput_prefix = SnV_ZPL_shift\noutput_folder = results/SnV_results\ninput_folder = data/SnV_data\n#basis vectors of the Exe system's coordinate system\nbasis_vector_1 = 1, -1, 0\nbasis_vector_2 = 1, 1, -2\nbasis_vector_3 = 1, 1, 1\n\n# It can use the model four state Hamiltonian.\nmodel_Hamiltonian = false\n\n\n#Saves geometries of the system in .csv files, and creates a corresponding .cfg file\nsave_raw_parameters = true\n#Save a .cfg file which contains the parameters of the model Hamiltonian operator of the system\nsave_model_Hamiltonian_cfg = true\n#Save a .cfg file which contains the Taylor coefficients of the electron-phonon interaction\nsave_taylor_coeffs_cfg = true\n[ground_state_parameters]\nsaddle_point_geometry = SnV_gnd_saddle_point.xml\nglobal_minimum_geometry = SnV_gnd_C2h.xml\nhigh_symmetry_geometry = SnV_gnd_D3d.xml\n#spin-orbit coupling obtained from DFT calculation in meV:\nDFT_spin-orbit_coupling = -8.3\norbital_reduction_factor = 0.328\n\n\n[excited_state_parameters]\nsaddle_point_geometry = SnV_ex_saddle_point.xml\nglobal_minimum_geometry = SnV_ex_C2h.xml\nhigh_symmetry_geometry = SnV_ex_D3d.xml\n#spin-orbit coupling obtained from DFT calculation in meV:\nDFT_spin-orbit_coupling = -95.9\norbital_reduction_factor = 0.782\n\n\n[magnetic_field]\n#In Tesla\nminimum = 0.0\nmaximum = 10.0\ndirection_vector = 1.0, 0.0, 0.0\nstep_number = 11\n\n```\n\n### 3. CSV File Configuration\nBy opting for the ```save_raw_parameters = true``` the program saves the atomic locations in CSV files and creates the corresponding configurational file. It contains additional structural parameters of the lattice energies, lattice vectors, atomic masses and names. \n\n```\n[ground_state_parameters]\ndft_spin-orbit_coupling = -8.3\norbital_reduction_factor = 0.328\nhigh_symmetry_geometry = SnV_ZPL_shift_ground_state_parameters_high_symmetry_geometry.csv\nhigh_symmetric_geometry_energy = -5368.30679265\nglobal_minimum_geometry = SnV_ZPL_shift_ground_state_parameters_global_minimum_geometry.csv\nglobal_minimum_energy = -5368.32839163\nsaddle_point_energy = -5368.32682965\nsaddle_point_geometry = SnV_ZPL_shift_ground_state_parameters_saddle_point_geometry.csv\n\n[excited_state_parameters]\ndft_spin-orbit_coupling = -95.9\norbital_reduction_factor = 0.782\nhigh_symmetry_geometry = SnV_ZPL_shift_excited_state_parameters_high_symmetry_geometry.csv\nhigh_symmetric_geometry_energy = -5366.13656085\nglobal_minimum_geometry = SnV_ZPL_shift_excited_state_parameters_global_minimum_geometry.csv\nglobal_minimum_energy = -5366.21970743\nsaddle_point_energy = -5366.21291581\nsaddle_point_geometry = SnV_ZPL_shift_excited_state_parameters_saddle_point_geometry.csv\n\n[atom_structure_parameters]\nmasses_of_atoms = 118.71, 12.011\nnames_of_atoms = Sn, C\nnumbers_of_atoms = 1, 510\nbasis_vector_1 = 14.17860889, 0.0, 0.0\nbasis_vector_2 = 0.0, 14.17860889, 0.0\nbasis_vector_3 = 0.0, 0.0, 14.17860889\n\n[essentials]\nmaximum_number_of_vibrational_quanta = 12\noutput_prefix = SnV_ZPL_shift\noutput_folder = results/SnV_results\ninput_folder = data/SnV_data\nbasis_vector_1 = 1, -1, 0\nbasis_vector_2 = 1, 1, -2\nbasis_vector_3 = 1, 1, 1\nmodel_hamiltonian = false\nsave_raw_parameters = false\nsave_model_hamiltonian_cfg = false\nsave_taylor_coeffs_cfg = true\n\n[magnetic_field]\nminimum = 0.0\nmaximum = 10.0\nstep_number = 11\ndirection_vector = 1.0, 0.0, 0.0\n\n\n```\n\n### 4. Direct Parameter Configuration\n\nYou can also specify E\u2297e Jahn-Teller interaction parameters directly. There you need to give the Jahn-Teller energies, barrier energies, and the distances between the lattice configurations so the program can calculate the coeffcients of the Jahn-Teller interaction.\n\n```\n[essentials]\nmaximum_number_of_vibrational_quanta = 12\noutput_prefix = SnV_ZPL_shift_JT_pars\noutput_folder = results/SnV_results\nspectrum_range = 50\n\n#basis vectors of the Exe system's coordinate system\nbasis_vector_1 = 1, -1, 0\nbasis_vector_2 = 1, 1, -2\nbasis_vector_3 = 1, 1, 1\n\n\n\n[ground_state_parameters]\nJahn-Teller_energy = 21.599\nbarrier_energy = 1.562\nvibrational_energy_quantum = 79.4954\n#spin-orbit coupling obtained from DFT calculation in meV:\nDFT_spin-orbit_coupling = -8.3\norbital_reduction_factor = 0.328\nhigh_symmetric_geometry-minimum_energy_geometry_distance = 0.1644\nhigh_symmetric_geometry-saddle_point_geometry_distance = 0.1676\n\n[excited_state_parameters]\nJahn-Teller_energy = 83.1466\nbarrier_energy = 6.7916\nvibrational_energy_quantum = 75.6121\n#spin-orbit coupling obtained from DFT calculation in meV:\nDFT_spin-orbit_coupling = -95.9\norbital_reduction_factor = 0.782\nhigh_symmetric_geometry-minimum_energy_geometry_distance = 0.3407\nhigh_symmetric_geometry-saddle_point_geometry_distance = 0.3421\n\n\n\n[magnetic_field]\nminimum = 0.0\nmaximum = 10.0\ndirection_vector = 0.0, 0.0, 1.0\nstep_number = 11\n#basis vector of the magnetic field (the program normalize it automatically)\nbasis_vector_1 = 14.17860889, 0.0, 0.0\nbasis_vector_2 = 0.0, 14.17860889, 0.0\nbasis_vector_3 = 0.0, 0.0, 14.17860889\n\n```\n\n### 5. Four-State Model Configuration\n\n\nFor calculations using the four-state model:\n\n```\n[essentials]\nmaximum_number_of_vibrational_quanta = 12\noutput_prefix = SnV_ZPL_shift\noutput_folder = results/SnV_results\ninput_folder = data/SnV_data\nbasis_vector_1 = 1, -1, 0\nbasis_vector_2 = 1, 1, -2\nbasis_vector_3 = 1, 1, 1\nmodel_hamiltonian = false\nsave_raw_parameters = false\nsave_model_hamiltonian_cfg = false\nsave_taylor_coeffs_cfg = true\n\n[ground_state_parameters]\ndft_spin-orbit_coupling = -8.3\norbital_reduction_factor = 0.328\nham_reduction_factor = 0.4706170075391288\ndelta_p = 0.04700977697171288\nk_jt = 0.01040108529115713\n\n[excited_state_parameters]\ndft_spin-orbit_coupling = -95.9\norbital_reduction_factor = 0.782\nham_reduction_factor = 0.12550119453836145\ndelta_p = 0.2967480915488183\nk_jt = 0.0644133368548232\n\n[magnetic_field]\nminimum = 0.0\nmaximum = 10.0\nstep_number = 11\ndirection_vector = 1.0, 0.0, 0.0\n\n\n```\n\n## Output Options\n\nThe tool can generate various output files based on configuration:\n\n- `save_raw_parameters = true`: Saves geometries in CSV format and generates the corresponding configuration file with atomic parameters such as chemical symbol, mass, basis vector of the supercell.\n- `save_model_hamiltonian_cfg = true`: Generates four state model Hamiltonian configuration\n- `save_taylor_coeffs_cfg = true`: Saves .cfg files that contains Taylor coefficients for the dynamic Jahn-Teller interaction\n\n## Eigenstates\n\nThe script can save eigenstates in either real or complex basis:\n\n- Complex basis (e<sub>+</sub>, e<sub>-</sub>): Superpositions of degenerate orbitals (e<sub>x</sub>, e<sub>y</sub>)\n - e<sub>+</sub> = -(e<sub>x</sub>+ie<sub>y</sub>)\n - e<sub>-</sub> = e<sub>x</sub>-ie<sub>y</sub>\n\nTo use complex eigenstates, set:\n```\neigen_states = complex\n```\n## Directory Structure\n\n```\nJahn-Teller-Dynamics/\n\u251c\u2500\u2500 src/\n\u2502 \u2514\u2500\u2500 jahn_teller_dynamics/ # Main package\n\u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u251c\u2500\u2500 Exe.py # Main executable script\n\u2502 \u251c\u2500\u2500 io/ # Input/Output modules\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u251c\u2500\u2500 JT_config_file_parsing.py\n\u2502 \u2502 \u251c\u2500\u2500 plotting.py\n\u2502 \u2502 \u251c\u2500\u2500 user_workflow.py\n\u2502 \u2502 \u251c\u2500\u2500 VASP.py\n\u2502 \u2502 \u2514\u2500\u2500 xml_parser.py\n\u2502 \u251c\u2500\u2500 math/ # Mathematical utilities\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u251c\u2500\u2500 matrix_mechanics.py\n\u2502 \u2502 \u251c\u2500\u2500 braket_formalism.py\n\u2502 \u2502 \u2514\u2500\u2500 maths.py\n\u2502 \u251c\u2500\u2500 physics/ # Physics modules\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u251c\u2500\u2500 jahn_teller_theory.py\n\u2502 \u2502 \u251c\u2500\u2500 quantum_physics.py\n\u2502 \u2502 \u2514\u2500\u2500 quantum_system.py\n\u251c\u2500\u2500 config_files/ # Example configuration files\n\u2502 \u251c\u2500\u2500 SnV_gnd_csv.cfg\n\u2502 \u251c\u2500\u2500 SnV_ZPL_shift_csv.cfg\n\u2502 \u2514\u2500\u2500 ... (other config examples)\n\u251c\u2500\u2500 data/ # Data directory (user-provided)\n\u251c\u2500\u2500 results/ # Output results directory (user-provided)\n\u251c\u2500\u2500 requirements.txt # Python dependencies\n\u251c\u2500\u2500 setup.py # Package installation script\n\u2514\u2500\u2500 README.md # This file\n```\n\n### Key Components:\n\n- **`src/jahn_teller_dynamics/`**: Main package containing all Python modules\n- **`io/`**: Input/Output modules for configuration parsing, VASP file handling, and plotting\n- **`math/`**: Mathematical utilities for braket formalism and matrix mechanics and Hilbert spaces\n- **`physics/`**: Core physics modules for Jahn-Teller theory and quantum mechanical systems\n- **`config_files/`**: Example configuration files for different calculation types\n- **`data/`**: Directory for user input data (VASP files, CSV files, etc.)\n- **`results/`**: Output directory for calculation results\n\n",
"bugtrack_url": null,
"license": "GPL-3.0",
"summary": "A comprehensive Python package for Jahn-Teller effect calculations and dynamics",
"version": "0.3.1",
"project_urls": {
"Bug Tracker": "https://github.com/yourusername/Jahn-Teller-Dynamics/issues",
"Documentation": "https://github.com/yourusername/Jahn-Teller-Dynamics#readme",
"Homepage": "https://github.com/yourusername/Jahn-Teller-Dynamics",
"Repository": "https://github.com/yourusername/Jahn-Teller-Dynamics.git"
},
"split_keywords": [
"jahn-teller",
" quantum-physics",
" solid-state-physics",
" vasp",
" dft",
" quantum-mechanics",
" crystal-field-theory",
" electron-phonon-coupling",
" spin-orbit-coupling",
" defect-physics",
" point-defects",
" color-centers"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "d1e425ccf12864a2464cd4aa47c59e921bc2395e5a1380686279477389edc827",
"md5": "20770551c0a44a1fc703cf5661cb8949",
"sha256": "d6967467e2e0fe4bf3cfb71b65b0c3986352e46ee391c0ba34320f8e4a8ef603"
},
"downloads": -1,
"filename": "jahn_teller_dynamics-0.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "20770551c0a44a1fc703cf5661cb8949",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 440541,
"upload_time": "2025-08-14T11:23:44",
"upload_time_iso_8601": "2025-08-14T11:23:44.623663Z",
"url": "https://files.pythonhosted.org/packages/d1/e4/25ccf12864a2464cd4aa47c59e921bc2395e5a1380686279477389edc827/jahn_teller_dynamics-0.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "63466d8def36531364d1a614f01da413a4ec1d8d6e6771334ba244fe50482e14",
"md5": "05ae53a3d97100de2c0944aae160fbf0",
"sha256": "d8e387fbfade15d88ab6199ae62505eb4d974660e0b7ae633a6f39c22d985ced"
},
"downloads": -1,
"filename": "jahn_teller_dynamics-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "05ae53a3d97100de2c0944aae160fbf0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 374371,
"upload_time": "2025-08-14T11:23:46",
"upload_time_iso_8601": "2025-08-14T11:23:46.981765Z",
"url": "https://files.pythonhosted.org/packages/63/46/6d8def36531364d1a614f01da413a4ec1d8d6e6771334ba244fe50482e14/jahn_teller_dynamics-0.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-14 11:23:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yourusername",
"github_project": "Jahn-Teller-Dynamics",
"github_not_found": true,
"lcname": "jahn-teller-dynamics"
}