VSim User Guide


This manual demonstrates how to use either the Visual Setup (.sdf input files) or Text Base Setup (.pre input files) to set up a VSim simulation. It then shows how to run the computational engine on the resulting input files, how to perform data analysis in VSim, and how to visualize data.

VSim [VSi] is an arbitrary dimensional, electromagnetics and plasma simulation code consisting of two major components:

  • VSimComposer, the graphical user interface.

  • Vorpal [NC04], the VSim Computational Engine.

VSim also includes many more items such as Python, MPI, data analyzers, and a set of input simplifying macros.

Starting VSimComposer

Creating or Opening a Simulation

Simulation Concepts

Visual Setup

Text Setup

Setup Basics

Text-based (.pre) Input File Structure

Executing the Computational Engine (Vorpal)

Running Vorpal within VSimComposer

Running Vorpal from the Command Line

Running Vorpal on a Cluster using a Queuing System

Output Data

Parameter Scan

Data Analysis



Advanced Simulation Topics



The rectangular Cartesian grid. The physical domain is the grid specified by a user. The extended domain is the grid with guard cells added by Vorpal.

extended domain

See domain.


Finite-difference time-domain. The FDTD method is a technique for solving problems in electromagnetics.


A floating-point number.

guard cell

A cell located outside the user-defined simulation grid that Vorpal adds for parallel processing and other computational purposes. Charges cannot be deposited in guard cells, but you can use guard cells when you describe boundary conditions.


Hierarchical Data Format Version 5. A library and file format, developed by the National Center for Supercomputing Applications at the University of Illinois at Urbana-Champaign, for storing graphical and numerical data and for transferring that data between computers. Vorpal and VSimComposer output data in hdf5.

input block

An input block is an object consisting of parameters. Input blocks can be nested within other input blocks. For example, input blocks for boundary conditions are nested within the input block for an electromagnetic field.

input file

A Vorpal simulation file, which has a .pre suffix. Users define a simulation and its variables in an input file. VSimComposer then runs the input file through a preprocessor to produce a processed input file.


Message Passing Interface. An application programming interface (API) for communicating between processes executing in parallel.

multi-grid pre-conditioner

A pre-conditioner that enables a solver to use a hierarchy of grids to solve a partial differential equation problem. The multi-grid pre-conditioner applies the results from coarse grids to accelerate the convergence on the finest grid.


A parameter is a variable value (integer, floating-point number, or text string) that users define to create a simulation.


To divide input into parts and determine the meaning of each part.

physical domain

See domain.


An algorithm that works with an electrostatic solver to transfer an original linear system matrix into a matrix that has better convergence behavior.

processed input file

A Vorpal simulation file, which has a .in suffix. VSimComposer processes the input file to produce a processed input file.


An open-source, interpreted scripting language managed by the Python Software Foundation.

SI units

The International System of Units (Le Systeme International d’Unites), which has seven base units: meter, kilogram, second, ampere, kelvin, mole, and candela.


An algorithm that calculates the results of electrostatic problems.


A cross-platform library of computational modules, provided by Tech-X Corporation, for modeling charged particles.