VSim is a cross-platform computational framework for multiphysics, compatible with Windows, Linux, and macOS.

VSim
Logo for Tech-X
Developed byTech-X Corporation
Latest release
10.0.1
September 20, 2019; 4 years ago (2019-09-20)

It includes VSimComposer, a GUI for visual setup of simulations, supporting CAD geometry import and direct geometry construction. VSimComposer allows users to execute data analysis scripts and visualize results in one, two, or three dimensions. VSim utilizes the Vorpal computational engine, which has been applied to simulate electromagnetic systems, plasmas, and rarefied as well as dense gases. VSim is used for modeling basic electromagnetics and plasma physics, complex metallic and dielectric shapes, photonics, vacuum electronics including multipactor effects, laser wake-field acceleration, plasma thrusters, and fusion plasmas.

The Vorpal computational engine is arbitrarily dimensional, such that it can be run in one, two, or three dimensions. It can be run in full electromagnetic mode, using the FDTD algorithm, or with electrostatically or magnetostatically computed fields. Charged and neutral particles in Vorpal can be represented by a fluid or kinetically using the PIC algorithm in either case self-consistently. The fields and particles can interact with arbitrarily shaped structures, including conductors, particle absorbers, reflectors, and many more. Accuracy is maintained using cut-cell techniques. The computational domain can be periodic or mimic boundaries at infinity via PML or other outgoing wave boundary conditions. Vorpal outputs data in HDF5 (Hierarchical Data Format) that is VizSchema compliant.

Input edit

Simulations can be set up in the VSimComposer setup panel. Shapes can be imported or constructed, materials can be assigned to shapes, fields, and particles can be added, and algorithms can be chosen. VSimComposer then writes out an input file suitable for use by the Vorpal computational engine.

For greater flexibility, the input file can be written directly. Here the user has complete control over the physical quantities to include in the simulation, including low-level control over algorithms and solvers. The user can specify the dynamics of the particles as fully relativistic, non-relativistic, unmagnetized, or other. Additional collisions between electrons, ions, and neutral gases (neutral gases being represented by either fluids or particles) are available in the input file, including self-splitting and self-combining operations. Field ionization can also be included. Advanced surface interactions can be modeled, including user-defined secondary electron emission, sputtering, and surface charging. Parallel decompositioning can also be specified manually for high performance applications.

VSimSetup
 
Constructive Solid Geometry in VSim

Engine execution edit

VSim can be run from its VSimComposer GUI interface or invoked from the command line. The parallel version of VSim runs on systems that support the Message Passing Interface (MPI). Input to VSim is made via XML-like files used to create simulation objects. A Python-based macro-preprocessor, txpp.py, can be used to generate input files allowing users to set up their simulations with math functions, variable substitutions, macros, and loops.

Data analysis edit

Generated data can be analyzed using any of the built-in analyzers, or users can write their own analyzers in any language. Built-in analyzers output data in VizSchema form for immediate visualization in the VSimComposer visualization pane. For analyzers written in Python, VSim provides the VsH5 package, which facilitates writing output in VizSchema.

Visualization edit

Vorpal output files can be visualized within VSimComposer. Plots include those for particle data, field data, and simulation geometry, with lineouts for inspecting critical variations. The visualization within VSimComposer is accomplished by embedding the powerful VisIt tool, which users can download for more specific visualizations. Use of the VsH5 package along with popular Python tools like matplotlib allows creation of high-quality publication ready plots.

References edit