GithubHelp home page GithubHelp logo

s0vereign / ahti Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 1.0 506 KB

Ahti: Acceleratored High Performance Simulation of the Time Dependent Schrödinger Equation In Various Enviroments ⚛️

License: GNU General Public License v3.0

CMake 7.87% C++ 47.41% Shell 0.45% Jupyter Notebook 36.84% Python 6.26% Dockerfile 1.18%

ahti's People

Contributors

s0vereign avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

stillerpatrick

ahti's Issues

Tunneling

Implement a tunnneling test case, for instance in 1D with opportunities to test against some analytical case

Expand testcases

Expand the testcases, currently testing is very minimal. Maybe use Googletest instead of Boost test.

Use a suitable data structure for 2D case

It is possible to use a std::array or plain C array in order to save the wave-function
in each timestep. Decide on which one to use! Maybe even look in Boost if there's something
suitable to find.

Harmonic oscillator

Use the current Harmonic Oscillator testcases and produce some visible results.

Driven harmonic oscillator

Implementation of the driven harmonic oscillator as a non automatic analyitcal test of the time dependent schrödinger equation.

Implement function to reshuffle 2D FFT result

Implement a shift function so that Array2D is reshuffled in a way so that the (kx,ky)=(0,0) is in the center of the grid in order to simplify the thought process to design the time evolution operators

Document the code

The code should be well documented so that users are able to create simulations and implement new systems using the current solvers

Find calculation to contruct the inverse-space 2D grid

After a fourier transformation has been performed on the testfunction,
one will have to apply the phase operator to it which is
exp(i (p_x^2 + p_y^2)/2M dt/2) in the frequency domain. The question
is now how to calculate the grid-spacing dpx and dpy.
From the 1D analogy: dpi = 2pi/(N_idx_i).
The question is then how does FFTW allign the results after the transformation.

Rewrite initial design without MPI

The hand written MPI communication is because most of the communication interface will
be obsolete since ACCFFT will be used in later iterations.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.