Skip to main content

Virtual-IPM is a software for simulating transverse profile monitors under the influence of beam space-charge and external fields.

Project description

PyPI status Maintenance yes Documentation Status PyPI pyversions PyPI version GPLv3 license


Virtual-IPM is a software for simulating the electron/ion transport in Ionization Profile Monitors (IPM) and other related devices, such as Beam Induced Fluorescence Monitors (BIF). It can simulate quite general setups involving the space-charge fields from one or multiple particle beams as well as the presence of external electric/magnetic guiding fields. The application can be used from the command line but it offers a rich graphical user interface (GUI) as well.

The software has a modular structure which allows for great flexibility in terms of combining the various different realizations of beam fields, external fields, detector geometry, etc.

Use cases

The following list is a brief overview of possible use cases:

  • Beam profile deformation due to beam space-charge

  • Beam profile deformation due to guiding field non-uniformities

  • Gas-jet for IPM and BIF

  • Simulating the effect of multiple beams on electron/ion transport


The following is an overview of the available implementations for the various modules:

Bunch shapes

Bunch fields

External fields


Particle generation




Ionization Profile Monitor (IPM)

Ionization via beam (IPM):

  • at rest

  • parametrized DDCS

  • DDCS by Voitkiv et al.



2D field maps

Beam Induced Fluorescence Monitor (BIF)

Excitation via beam (BIF)

Gaussian DC

Gaussian DC

3D field maps

Arbitrary CAD models (via .STL files)

Thermal motion

Generalized Gaussian

Generalized Gaussian

Gas jets



Custom CSV files

Hollow DC

Hollow DC

Parabolic Ellipsoid

Parabolic Ellipsoid

Poisson 2D SOR

Poisson 3D


Virtual-IPM can be installed via pip with or without GUI components. pip install Virtual-IPM[GUI] installs the application together with the graphical user interface while pip install Virtual-IPM just installs the command line version. For more information see the documentation.

Graphical User Interface

The GUI can be started via virtual-ipm-gui. At the top, it offers buttons for various functionality:

Command Line Usage

The application can be run from the command line via virtual-ipm path/to/config.xml. For customization and options see virtual-ipm --help.

The application also ships with a number of other command line utilities, e.g. for plotting beam fields from configuration files.


Please contact the maintainers.

Project details

Download files

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

Source Distribution

virtual-ipm-2.2.1.post1.tar.gz (154.6 kB view hashes)

Uploaded Source

Built Distribution

virtual_ipm-2.2.1.post1-py3-none-any.whl (248.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page