Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lukeroantree4815162342/mastersproject
Code for "Computational Methods For Ultrafast Quantum Physics"
https://github.com/lukeroantree4815162342/mastersproject
high-performance high-performance-computing mathematics numpy physics physics-simulation python python3 quantum-mechanics scipy sparse-matrix
Last synced: 26 days ago
JSON representation
Code for "Computational Methods For Ultrafast Quantum Physics"
- Host: GitHub
- URL: https://github.com/lukeroantree4815162342/mastersproject
- Owner: LukeRoantree4815162342
- Created: 2018-11-02T17:27:16.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-05-22T19:24:10.000Z (over 5 years ago)
- Last Synced: 2024-11-13T00:31:58.170Z (3 months ago)
- Topics: high-performance, high-performance-computing, mathematics, numpy, physics, physics-simulation, python, python3, quantum-mechanics, scipy, sparse-matrix
- Language: Jupyter Notebook
- Size: 680 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Masters Project: Computational Methods For Ultrafast Quantum Physics
---
## My project focuses on efficiently modelling laser pulse interactions with atoms
To do this;
> I solve (find eigenstates of) the Time-Independent Schrodinger Equation for a given potential distribution (so far using a soft-core potential to numerically simulate a Coulomb potential while avoiding the problem at the centre)
> I pick a state, and propagate it through time (as described by the TDSE) to see how it evolves under a chosen time-dependent potential. I model the Coulomb interaction with a soft-core potential.
---
## Optimisations So Far:
### Sparse Storage for Hamiltonian; I use sparse diagonal storage, allowing much larger numbers of spatial points to be used
### Sparse Eigensolver; I use a Krylov subspace based eigensolver that allows sparse inputs, speeding up finding states
### ML For Shift-Inverse Method; The eigensolver has a parameter to allow it to look for eigenstates with eigenvalues near a value provided; I trained a Neural Network to predict the eigenvalue of the Ground State based on the potential distribution, and pass this result into the eigensolver - this speeds it up dramatically
### Finite Difference Propagator; Implemented an arbitrary-order finite difference method time propagator
### Krylov-Subspace Propagator; Implemented an arbitrary-order Arnoldi-based time propagator
### Parallelised The FD Propagator; I used multiprocessing to more efficiently propagate the state through time (speed-ups depending on number of cores available in the computer / server cluster used)
---
## TODO:
### Re-Write In Fortran; In progress, switching over to MPI & OpenMP for parallelisation
### Apply some results found to existing RMT code to investigate if it can similarly be improved, and if it can maintain stability under these