This release is a pre-release and may not be stable for production use.
The quantum_dynamics package contains tools for simulation of 1D time-dependent Schrödinger equation. The package allows for simulation of 1D model potentials and time-dependent external interactions, e.g., an laser electric field in the dipole approximation.
This package has been created as a reference solution to an exercise in the computational physics course at Tampere University of Technology in Spring 2018.
The key numerical methods behind the package are:
finite-difference approximation of the laplacian operator with Dirichlet boundary conditions at the endpoints of the simulation grid
exponential mid-point rule for the time-evolution operator
krylov-subspace based implementation of the matrix exponential
- Upon successful installation, two executables are copied to your PATH:
qdyn_laser
plot_time_evolution
qdyn_laser
This simulates the electron in 1D soft coulomb potential (“1D hydrogen”) under laser electric field with sin^2 envelope and cosine carrier wave. Please consult the help of the script for all options: qdyn_laser --help.
After a successful simulation, an outputfile of HDF5-format is created. It contains the following datasets and groups
- coordinate_grid
The gridpoints of the coordinate space used in the calculation.
- savetimes
The times corresponding to the saved wavefunction values in the file.
- wavefunction
A 2D array of values of the wavefunction. The first index corresponds to coordinate_grid and the second index to savetimes.
- final_wavefunction
Wavefunction values at the end of the simulation.
- laser
The laser electric field for all timesteps. First column is times, second the laser electric field values.
- tise_hamiltonian
The time-independent part of the Hamiltonian matrix. It’s saved as a sparse matrix and can be loaded with quantum_dynamics.utils.load_sparse_matrix like:
from quantum_dynamics.utils import load_sparse matrix import h5py with h5py.File("myfile.h5", "r") as f: H0 = load_sparse_matrix(f['tise_hamiltonian'])
plot_time_evolution
This can be used to visualize the time-evolved density calcualted with qdyn_laser. For usage instructions, please see plot_time_evolution --help.
Release files for quantum-dynamics 0.1.dev14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| quantum_dynamics-0.1.dev14.tar.gz | 14.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| quantum_dynamics-0.1.dev14-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.6 kB
Release files / quantum_dynamics-0.1.dev14.tar.gz
| Download URL | quantum_dynamics-0.1.dev14.tar.gz |
|---|---|
| Size | 14.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4a721b967d75695a654226aebe7fc9276c35d1f0de314cd14039734013cd5970
|
|
BLAKE2b-256 checksum How to use checksums |
354481c92767c5df3218c19eedf5f786ff388e9db739f6de7f4fc30e7b20826f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / quantum_dynamics-0.1.dev14-py3-none-any.whl
| Download URL | quantum_dynamics-0.1.dev14-py3-none-any.whl |
|---|---|
| Size | 21.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6426b9be5d85e97849a152c90e9b0b1cf98fa81ded00a59c41b7036862f2f2ee
|
|
BLAKE2b-256 checksum How to use checksums |
868b85419d4666e4d98a655fc2d6523b92ff1040823a4725c981596d0aba1b37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |