This is a repository for tutorials in quantum mechanics and computational materials science. Jupyter notebooks are converted into interactive web applications. Professors can use them to demonstrate knowledge in the classroom. Students can also use them for self-learning.
One can clone this repository and install all the required packages locally. To do so (ideally in a fresh python virtual environment, to reduce risks of version clashes of some of the dependencies), run the following commands:
git clone https://github.com/osscar-org/quantum-mechanics.git
cd quantum-mechanics
pip install -r requirements.txt
Then, to view the notebooks in the form of a web application, you can type the following command in the terminal:
voila --template=osscar --VoilaConfiguration.enable_nbextensions=True notebook/
This will start the voila server and then open your default browser, where you can use the web application.
Here are the tutorials to demonstrate numerical solution for 1D Schrödinger equation.
Name | Description | Notebook links | Binder | Materials Cloud |
---|---|---|---|---|
One Quantum Well | The solution for 1 quantum well | One Quantum Well | ||
Two Quantum Wells | The solution for 2 quantum wells | Two Quantum Wells | ||
Asymmetric Well | Avoided crossing in an asymmetric well | Asymmetric Well | ||
Shooting method | Shooting method with Numerov algorithm | Shooting method | ||
SOFT | Split operator Fourier transform method | SOFT | ||
MSOFT | Multiple Split operator Fourier transform method | SOFT |
Here are the tutorials to demonstrate the band theory of crystal systems.
Name | Description | Notebook links | Binder | Materials Cloud |
---|---|---|---|---|
FFT and Planewaves | Fourier Transforms and Plane-Wave Expansions | FFT and Planewaves | ||
Free Electron | Free-electron Bands in a Periodic Lattice | Free Electron | ||
Density of States | Density of States (DOS) | Density of States | ||
Pseudopotentials | Norm-conserving pseudopotentials | Pseudopotentials | ||
Brillouin Zone | Brillouin Zone | Brillouin Zone |
Name | Description | Notebook links | Binder | Materials Cloud |
---|---|---|---|---|
Phonon 1D | lattice vibration for one dimensional system | Phonons 1D | ||
Phonon 2D | lattice vibration for two dimensional systems | Phonon 2D | ||
Molecular Vibrations | introduce to molecular vibrations | Molecular Vibration |
Name | Description | Notebook links | Binder | Materials Cloud |
---|---|---|---|---|
Verlet Integration | Verlet integration | Verlet Integration |
Name | Description | Notebook links | Binder | Materials Cloud |
---|---|---|---|---|
Metropolis Monte Carlo | Metropolis-Hastings Monte Carlo | Metropolis Monte Carlo | ||
Monte Carlo Integration | Monte Carlo Integration | Monte Carlo Integration | ||
Ising Model | Ising Model | Ising Model |
If you would like to contribute a new notebook to OSSCAR, see the guide to contributing on our website, where you can also find an example notebook template.
When using the content of this repository, please cite the following article:
D. Du, T. Baird, S. Bonella and G. Pizzi, OSSCAR, an open platform for collaborative development of computational tools for education in science, Computer Physics Communications, 282, 108546 (2023). https://doi.org/10.1016/j.cpc.2022.108546
We acknowledge support from the EPFL Open Science Fund via the OSSCAR project.