Coder Social home page Coder Social logo

1155092080 / gpue Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gpue-group/gpue

0.0 0.0 0.0 30.69 MB

GPU Gross-Pitaevskii Equation numerical solver for Bose-Einstein condensates.

Home Page: https://gpue-group.github.io/

License: Other

Makefile 0.35% Shell 0.57% C 3.69% C++ 15.08% MATLAB 6.16% Python 16.42% Cuda 55.06% CMake 0.26% TeX 1.58% Dockerfile 0.13% Julia 0.72%

gpue's Introduction


GPUE - GPU Gross-Pitaevskii Equation solver


DOI

Welcome to GPUE, the fastest zero temperature BEC routines in the land (the last time we checked). All documentation is available at https://gpue-group.github.io.

1. What does this software do?

This software is a CUDA-enabled non-linear Schrodinger (Gross-Pitaevskii) equation solver. The primary use of this code was for research on Bose-Einstein condensates. Due to the complexity and timescales needed to simulate such system, it was essential to write some accelerated code to understand the behaviour of such systems.

As a short introduction of the use-case: We want to simulate how a Bose-Einstein condensate (BEC) behaves in a trap. The trap is parabolic (harmonic), and for the lowest energy state of the system (ground-state) the BEC will want to sit about the centre. Due to the interaction between the particles it will occupy more space than a standard Schrodinger equation, which has zero interactions. As a result of these interactions many interesting things happen.

The main purpose of the code is to investigate the behaviour of quantum vortices (think really small tornadoes). Instead of having a continuous range of angular momentum values, the condensate can only accept angular momentum in quantised predefined units.

The most interesting fact is that instead of getting bigger and bigger with faster rotation (as a tornado would), these vortices only allow themselves to enter with a singular unit of angular momentum (think 100x 1 unit vortices instead of 1x 100 unit vortex). This gives us a nice well arranged lattice if performed correctly. It is this lattice that we have been researching (read as: playing with). However, this code can be used in any trapping geometry, rotation, etc. that you wish to use.

2. Great! How do I make a BEC?

See the Building GPUE and GPUE functionality sections of the documentation.

As an example, here are some simulations performed with the code:

3. Specific use-cases

We would like this tool to be a suite for 1D, 2D and 3D simulations of both Schrodinger and non-linear Schrodinger (Gross--Pitaevskii) systems.

4. Works using GPUE

If you have used GPUE, or any of the works using GPUE, please consider giving us a citation as:

  • James Schloss and Lee James O'Riordan, GPUE: Graphics Processing Unit Gross--Pitaevskii Equation solver. Journal of Open Source Software, 3(32), 1037 (2018), https://doi.org/10.21105/joss.01037

Previous versions of this code/works are citable as follows:

More recent versions will be citable under the GPUE Group repository. Works which have used GPUE include (to-date):

5. Acknowledgements

We are greatly thankful to the support provided by Okinawa Institute of Science and Technology Graduate University, without whom this research code would be a fraction of what it currently has become. A list of acknowledgements is given in acknowledgements.md.

gpue's People

Contributors

leios avatar mlxd avatar benchislett avatar peterwittek avatar

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.