
Visualization of real-time plasma simulations
PR, BA, DA
Andreas Ipp,
Michael Wimmer
Description
A Particle-In-Cell (PIC) simulation is a common technique to simulate electromagnetic plasmas. A large number (up to millions) of charged particles is tracked on a background of electromagnetic fields on a fixed mesh.
OpenPixi is designed as an open source PIC simulator that wants to enable students and scientists to experiment interactively with such a plasma through a graphical user interface.
Task
The aim of this project is to create an intuitive cross-platform interface in Java, possibly based on Java OpenGL (JOGL), for real-time visualization and interaction with the OpenPixi simulator. In a first step, the existing code should be refactored into a clean Model-View-Controller (MVC) design, so that the view can be easily switched between Java Swing and OpenGL. The OpenGL version should be able to visualize a two- or three-dimensional setting from any perspective, including particles, meshes, and vectors on top of the meshes in a visually attractive way. The user should be able to interactively navigate through the real-time simulation and zoom into regions of interest.
Requirements
The student should be interested in the following topics: physics simulations, two- and three-dimensional visualization, intuitive user interface, clean coding style.
Good Java knowledge is mandatory; knowledge of OpenGL/JOGL is of advantage.
Environment
The code is being developed at
github/openpixi. The physics routines are being developed and improved by physics students who are not necessarily trained to write clean and maintainable code, so be prepared to help them with your refactoring and code design skills. The programming language is Java, test cases are written in JUnit, the build system is based on Maven, and the version control system used is git. The IDE can be Eclipse or IntelliJ IDEA.