- Notifications
You must be signed in to change notification settings - Fork221
Performance-Portable Particle-in-Cell Simulations for the Exascale Era ✨
License
Unknown and 2 other licenses found
Licenses found
ComputationalRadiationPhysics/picongpu
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
PIConGPU is a fully relativistic,manycore,3D3V particle-in-cell (PIC)code. The Particle-in-Cell algorithm is a central tool in plasma physics.It describes the dynamics of a plasma by computing the motion ofelectrons and ions in the plasma based onMaxwell's equations.
PIConGPU implements various numerical schemes to solve the PIC cycle.Its features for the electro-magnetic PIC algorithm include:
- a central or Yee-lattice for fields
- particle pushers that solve the equation of motion for charged and neutralparticles, e.g., theBoris- and theVay-Pusher
- Maxwell field solvers, e.g.Yee's andLehe's scheme
- rigorously charge conserving current deposition schemes, such asEsirkepovandEZ (Esirkepov meets ZigZag)
- macro-particle form factors ranging from NGP (0th order), CIC (1st),TSC (2nd), PQS (3rd) to PCS (4th)
and the electro-magnetic PIC algorithm is further self-consistently coupled to:
- classical radiation reaction(DOI:10.1016/j.cpc.2016.04.002)
- advanced field ionization methods(DOI:10.1103/PhysRevA.59.569,LV Keldysh, BSI)
Besides the electro-magnetic PIC algorithm and extensions to it, we developeda wide range of tools and diagnostics, e.g.:
- online, far-field radiation diagnostics for coherent and incoherent radiationemitted by charged particles
- full restart and output capabilities viaopenPMD,includingparallel HDF5
- 2D and 3D live view and diagnostics tools
- a large selection of extensibleonline-plugins
As one of our supported compute platforms, GPUs provide a computationalperformance of severalTFLOP/s at considerable lower invest andmaintenance costs compared to multi CPU-based compute architectures of similarperformance. The latest high-performance systems(TOP500) are enhanced by accelerator hardware thatboost their peak performance up to the multi-PFLOP/s level. With itsoutstanding performance and scalability to more than 18'000 GPUs,PIConGPU was one of thefinalists of the 2013Gordon Bell Prize.
PIConGPU is developed and maintained by theComputational Radiation Physics Groupat theInstitute for Radiation PhysicsatHZDR in close collaboration with the Centerfor Information Services and High Performance Computing(ZIH) of theTechnical University Dresden (TUD). We are amember of theDresden GPU Center of Excellence thatcooperates on a broad range of scientific GPU and manycore applications,workshops and teaching efforts.
PIConGPU is ascientific project. If youpresent and/or publish scientificresults that used PIConGPU, you should set areference to show your support.
Our accordingup-to-date publication atthe time of your publicationshould be inquired from:
Please also consider adding yourself to ourcommunity map.We would love to hear from you!
The following slide should be part oforal presentations. It is intended toacknowledge the team maintaining PIConGPU and to support our community:
(coming soon) presentation_picongpu.pdf(svg version, key note version, png version: 1920x1080 and 1024x768)
PIConGPU is licensed under theGPLv3+. Furthermore, you can develop yourown particle-mesh algorithms based on our general libraryPMacc that isshipped alongside PIConGPU.PMacc isdual licensed under both theGPLv3+ and LGPLv3+.For a detailed description, please refer toLICENSE.md
See our notes inINSTALL.rst.
Dear User, we hereby emphasize that we are still actively developing PIConGPU at greatspeed and do, from time to time, break backwards compatibility.
When using this software, please stick to the latest release or use thedev
branch containing thelatest changes. It also contains a fileCHANGELOG.md
with thelatest changes (and how to update your simulations). Read it first beforeupdating between two versions! Also, we add a gittag
according to a versionnumber for each release.
For any questions regarding the usage of PIConGPU pleasedo not contact thedevelopers and maintainers directly.
Instead, pleaseopen an issue on GitHub.
Before you post a question, browse the PIConGPUdocumentation,wiki and theissue trackerto see if your question has been answered, already.
PIConGPU is a collaborative project.We thus encourage users to engage in answering questions of other users and post solutions to problems to the list.A problem you have encountered might be the future problem of another user.
In addition, please consider using the collaborative features of GitHub if you have questions or comments on code or documentation.This will allow other users to see the piece of code or documentation you are referring to.
Main ressources are in ouronline manual, theuser section of our wiki, documentation files in.md
(Markdown) and.rst
(reStructuredText) format in this repository and agetting started video.Feel free to visitpicongpu.hzdr.de to learn more about the PIC algorithm.
PIConGPU ships new and frequent changes to the code in the development branchdev
.
From time to time we publish a new releaseof PIConGPU. Before you pull the changes in, please read ourChangeLog!You may have to update some of your simulation.param
and.cfg
files byhand since PIConGPU is an active project and new features often require changesin input files. Additionally, a full description of new features and fixed bugsin comparison to the previous release is provided in that file.
In case you decide to usenew, potentially buggy and experimental featuresfrom ourdev
branch, be aware that you must participate or at least follow the development yourself.Syntax changes and in-development bugs willnot be announced outside of their according pullrequests and issues.
Before drafting a new release, we open a newrelease-*
branch fromdev
withthe*
being the version number of the upcoming release. This branch onlyreceives bug fixes (feature freeze) and users are welcome to try it out(however, the change log and a detailed announcement might still be missing init).
If you like to jump in right away, see
- Dr. Michael Bussmann
- Dr. Thomas Kluge
- Dr. Richard Pausch
- Dr. Klaus Steiniger
- Finn-Ole Carstens
- Dr. Alexander Debus
- Dr. Marco Garten*
- Dr. Axel Huebl*
- Dr. Jeffrey Kelling*
- Dr. Julian Lenz*
- Brian Edward Marre
- Tapish Narwal*
- Pawel Ordyna
- Dr. Richard Pausch*
- Franz Poeschel
- Dr. Klaus Steiniger*
- Rene Widera*
The PIConGPU team expresses its gratitude to:
Dr. Sergei Bastrakov, Florian Berninger, Heiko Burau, Fabia Dietrich, Robert Dietrich, Carlchristian Eckert,Simeon Ehrig, Ph.D. Wen Fu, Alexander Grund, Sebastian Hahn, Anton Helm, Wolfgang Hoehnig,Dr.-Ing. Guido Juckeland, Jeffrey Kelling, Maximilian Knespel, Dr. Remi Lehe,Felix Schmitt, Frank Winkler, Benjamin Schneider, Joseph Schuchart, Conrad Schumann,Stefan Tietze, Ph.D. Marija Vranic, Benjamin Worpitz, Erik Zenker,Sophie Rudat, Sebastian Starke, Alexander Matthes, Kseniia Bastrakova,Bernhard Manfred Gruber, Jakob Trojok, Anton Lebedev, Nils Prinz,Felix Meyer, Lennert Sprenger, Manhui Wang, Maxence Thevenet, Ilja Goethel,Mika Soren Voß, Lei Bifeng, Andrei Berceanu, Felix Meyer,Lennert Sprenger and Nico Wrobel.
Kudos to everyone, mentioned or unmentioned, who contributed further in anyway!
About
Performance-Portable Particle-in-Cell Simulations for the Exascale Era ✨
Topics
Resources
License
Unknown and 2 other licenses found
Licenses found
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.