Skip to main content

Quantum mechanics in 1D.

Project description

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:

  1. finite-difference approximation of the laplacian operator with Dirichlet boundary conditions at the endpoints of the simulation grid

  2. exponential mid-point rule for the time-evolution operator

  3. 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.

Authors

Janne Solanpää

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quantum_dynamics-0.1.dev14.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

quantum_dynamics-0.1.dev14-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file quantum_dynamics-0.1.dev14.tar.gz.

File metadata

File hashes

Hashes for quantum_dynamics-0.1.dev14.tar.gz
Algorithm Hash digest
SHA256 4a721b967d75695a654226aebe7fc9276c35d1f0de314cd14039734013cd5970
MD5 c45b66cb4f60e925ceef830534e78b87
BLAKE2b-256 354481c92767c5df3218c19eedf5f786ff388e9db739f6de7f4fc30e7b20826f

See more details on using hashes here.

File details

Details for the file quantum_dynamics-0.1.dev14-py3-none-any.whl.

File metadata

File hashes

Hashes for quantum_dynamics-0.1.dev14-py3-none-any.whl
Algorithm Hash digest
SHA256 6426b9be5d85e97849a152c90e9b0b1cf98fa81ded00a59c41b7036862f2f2ee
MD5 d704b9de199aaad896b23a0463d1fe60
BLAKE2b-256 868b85419d4666e4d98a655fc2d6523b92ff1040823a4725c981596d0aba1b37

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page