Visualization of real-time plasma simulations

PR, BA, DA

Andreas Ipp, Michael Wimmer

Content:

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.