Skip to main content

Data visualizer for PIC codes

Project description

VisualPIC - A Data Visualizer for PIC Codes

VisualPIC logo

Introduction

VisualPIC is a new software for data visualization and analysis specifically designed to work with Particle-In-Cell (PIC) simulation codes, mainly for its application in plasma wakefield acceleration.

The original aim of VisualPIC was to provide a flexible and easy-to-use interface for data analysis, allowing the user to visualize the simulation results without having to write any code. This reduces the need of custom made scripts which, even if very efficient for specific cases, can easily tend to become quite cluttered and unpractical when used as the only tool for data visualization.

The main principles under which this application was developed are:

  • Easyness of use (must have a graphical user interface).
  • Cross-platform.
  • Written in Python (and Qt for the interface).
  • Open-source.
  • Compatibility with multiple PIC codes.
  • Open for collaboration.
  • Modular design.

The main capabilities of the program include 2D and 3D visualization of fields and particle data, particle tracking through the simulation, the creation of snapshots and animations, as well as a dedicated visualizer for making eye-catching 3D renders of the simulation.

VisualPIC Screnshot

Installation

Required software

  • Python 3.5 or higher.
  • Qt 5.7 or higher (will be installed with PyQt5).
  • FFmpeg.

Required Python packages

  • Numpy.
  • SciPy.
  • Matplotlib.
  • PyQt5.
  • H5Py.
  • Pillow.
  • openPMD-viewer.

Installing the easy way

  • If you dont have it already, install Python 3.5 or higher. Download here. Choose the 64-bit version if possible.
  • Open a terminal and simply type pip install visualpic.
  • (Optional) If you plan on creating animations with VisualPIC, download FFmpeg (link) and add it to your system PATH (As explained here, for example).
  • After this, you should be able to run VisualPIC by simply typing visualpic in the command line from any directory.

Installing the manual way

  • Install Python 3.5 or higher. Download here. Choose the 64-bit version if possible.
  • Install all required dependencies: pip install numpy, scipy, pyqt5, matplotlib, pillow, h5py, vtk.
  • (Optional) If you plan on creating animations with VisualPIC, download FFmpeg (link) and add it to your system PATH (As explained here, for example).
  • Clone this repository to your computer with git clone https://github.com/AngelFP/VisualPIC.git.
  • Finally, switch to the cloned directory with cd VisualPIC and install VisualPIC by typing python setup.py install
  • After this, you should be able to run VisualPIC by simply typing visualpic in the command line from any directory.

Collaborating

Adding support for more PIC codes

One of the main objectives when designing VisualPIC was that it should be able to read data from any code, but without adding more complexity to the main logic.

As a consequence, all the data reading process has been isolated from the rest of the code in well defined clases that read the data and "give it" to the rest of the code in a standarized way, independent from the simulation code that was used to create the data files.

For more details about this and on how to add compatibility for more simulation codes, see the documentation.

Citing VisualPIC

If you use VisualPIC to produce plots or figures for any scientific work, please provide a reference to the following publication:

A. Ferran Pousa et al., VisualPIC: A New Data Visualizer and Post-Processor for Particle-in-Cell Codes, presented at IPAC’17, Copenhagen, Denmark, May 2017, paper TUPIK007.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
VisualPIC-0.3.3-py3-none-any.whl (331.7 kB) Copy SHA256 hash SHA256 Wheel py3
VisualPIC-0.3.3.tar.gz (193.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page