Vlasiator.jl

Data processing and analyzing tool for the numerical model for collisionless ion-kinetic plasma physics Vlasiator. This lightweight package is built upon its sister in Python Analysator and carefully designed for performance, capability and ease of use. It can be easily integrated with external packages like FieldTracer.jl and TestParticle.jl to do all kinds of in-depth analysis.

Vlasiator.jl contains the following features:

  • Reading VLSV format data.
  • Calculating derived quantities from raw VLSV outputs.
  • Appending DCCRG arrays to VLSV files.
  • Extracting quantities at a given point/line/plane.
  • Plotting 1D curves/2D cuts of saved/derived variables, and phase space distributions.
  • Analyzing velocity distribution functions.
  • Converting VLSV into VTK format for postprocessing in e.g. ParaView and VisIt.
  • Monitoring Vlasiator run log files.
Warning

This package mostly aims at supporting Vlasiator 5.0+. Older versions of Vlasiator has different naming standard for outputs, and is not guaranteed to work. This analysator wiki page describes the old and new naming standards in detail.

Getting started

To install,

pkg> add Vlasiator

You can then get started with

julia> using Vlasiator

If you want to use Plots.jl for visualization, add it also through the pkg manager; if you aim at using Matplotlib, besides adding PyPlot, you should also link to a preinstalled Python version by setting the environment variable and building the PyCall package

ENV["PYTHON"]="your python executable"
Pkg.build("PyCall")

If ENV["PYTHON"] = "" before building, a private Python distribution will be installed via Miniconda. Details are described in automated matplotlib installation.

Author

This module is written by Hongyang Zhou.