|PyPI status| |Maintenance yes| |Documentation Status| |PyPI pyversions| |PyPI version| |GPLv3 license|
|
|
|
.. image:: https://gitlab.com/IPMsim/Virtual-IPM/-/raw/develop/logo.svg
:align: center
:width: 100%
Virtual-IPM
===========
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 <https://ipmsim.gitlab.io/Virtual-IPM/use-cases.html>`__:
* 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
Components
----------
The following is an overview of the available implementations for the various modules:
+--------------+----------------+-----------------+-----------------------------------------+----------------------------+
| Bunch shapes | Bunch fields | External fields | Devices | Particle generation |
+==============+================+=================+=========================================+============================+
| Uniform | Uniform | Uniform | Ionization Profile Monitor (IPM) | Ionization via beam (IPM): |
| | | | | |
| | | | | * at rest |
| | | | | * parametrized DDCS |
| | | | | * DDCS by Voitkiv et al. |
+--------------+----------------+-----------------+-----------------------------------------+----------------------------+
| Gaussian | Gaussian | 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 | Generalized | | | Gas jets |
| Gaussian | Gaussian | | | |
+--------------+----------------+-----------------+-----------------------------------------+----------------------------+
| QGaussian | QGaussian | | | Custom CSV files |
+--------------+----------------+-----------------+-----------------------------------------+----------------------------+
| Hollow DC | Hollow DC | | | |
+--------------+----------------+-----------------+-----------------------------------------+----------------------------+
| Parabolic | Parabolic | | | |
| Ellipsoid | Ellipsoid | | | |
+--------------+----------------+-----------------+-----------------------------------------+----------------------------+
| | Poisson 2D SOR | | | |
+--------------+----------------+-----------------+-----------------------------------------+----------------------------+
| | Poisson 3D | | | |
+--------------+----------------+-----------------+-----------------------------------------+----------------------------+
Installation
------------
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 <https://ipmsim.gitlab.io/Virtual-IPM/installation.html>`__.
Graphical User Interface
------------------------
`The GUI <https://ipmsim.gitlab.io/Virtual-IPM/usage.html#via-the-gui>`__
can be started via ``virtual-ipm-gui``. At the top, it offers buttons for various functionality:
* Create, save and load configuration files
* Run configurations
* Analyze simulation output
* `Create parameter sweeps <https://ipmsim.gitlab.io/Virtual-IPM/parameter-sweeps.html>`__
Command Line Usage
------------------
`The application <https://ipmsim.gitlab.io/Virtual-IPM/usage.html#via-the-command-line>`__
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 <https://ipmsim.gitlab.io/Virtual-IPM/usage.html#command-line-tools>`__,
e.g. for plotting beam fields from configuration files.
Contributing
------------
Please contact `the maintainers <https://gitlab.com/IPMsim/Virtual-IPM/-/blob/develop/setup.py#L38>`__.
Relevant links
--------------
* `Documentation <https://ipmsim.gitlab.io/Virtual-IPM/>`__
* `Changelog / Release notes <https://ipmsim.gitlab.io/Virtual-IPM/changelog.html>`__
* `Examples <https://ipmsim.gitlab.io/Virtual-IPM/examples.html>`__
* `Issue tracker <https://gitlab.com/IPMsim/Virtual-IPM/-/issues>`__
* `Virtual-IPM on PyPI <https://pypi.org/project/virtual-ipm/>`__
.. |Maintenance yes| image:: https://img.shields.io/badge/maintained-yes-success.svg
:target: https://gitlab.com/IPMsim/Virtual-IPM/-/releases
.. |PyPI version| image:: https://img.shields.io/pypi/v/virtual-ipm.svg
:target: https://pypi.org/project/virtual-ipm/
.. |GPLv3 license| image:: https://img.shields.io/badge/license-AGPLv3-blue.svg
:target: https://www.gnu.org/licenses/agpl-3.0.html
.. |PyPI pyversions| image:: https://img.shields.io/pypi/pyversions/virtual-ipm.svg
:target: https://pypi.org/project/virtual-ipm/
.. |PyPI status| image:: https://img.shields.io/badge/status-stable-success.svg
:target: https://pypi.org/project/virtual-ipm/
.. |Documentation Status| image:: https://img.shields.io/badge/documentation-yes-success.svg
:target: https://ipmsim.gitlab.io/Virtual-IPM/
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/IPMsim/Virtual-IPM",
"name": "virtual-ipm",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "IPM, BGI, BIF, beam instrumentation, beam diagnostics, transverse profile monitor, simulation, framework, ionization profile monitor, beam gas ionization profile monitor, beam induced fluorescence monitor, space charge, particle accelerator",
"author": "Dominik Vilsmeier",
"author_email": "dominik.vilsmeier1123@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ff/64/bac9270850569b4081586e9cc07aa29cb8ce11a345cf2ede68ffe5950365/virtual-ipm-2.2.1.post1.tar.gz",
"platform": null,
"description": "|PyPI status| |Maintenance yes| |Documentation Status| |PyPI pyversions| |PyPI version| |GPLv3 license|\n\n|\n|\n|\n\n.. image:: https://gitlab.com/IPMsim/Virtual-IPM/-/raw/develop/logo.svg\n :align: center\n :width: 100%\n\n\nVirtual-IPM\n===========\n\nVirtual-IPM is a software for simulating the electron/ion transport in Ionization Profile Monitors (IPM)\nand other related devices, such as Beam Induced Fluorescence Monitors (BIF).\nIt can simulate quite general setups involving the space-charge fields from one or multiple particle beams\nas well as the presence of external electric/magnetic guiding fields.\nThe application can be used from the command line but it offers a rich graphical user interface (GUI) as well.\n\nThe software has a modular structure which allows for great flexibility in terms of combining the various\ndifferent realizations of beam fields, external fields, detector geometry, etc.\n\n\nUse cases\n---------\n\nThe following list is a brief overview of possible `use cases <https://ipmsim.gitlab.io/Virtual-IPM/use-cases.html>`__:\n\n* Beam profile deformation due to beam space-charge\n* Beam profile deformation due to guiding field non-uniformities\n* Gas-jet for IPM and BIF\n* Simulating the effect of multiple beams on electron/ion transport\n\n\nComponents\n----------\n\nThe following is an overview of the available implementations for the various modules:\n\n+--------------+----------------+-----------------+-----------------------------------------+----------------------------+\n| Bunch shapes | Bunch fields | External fields | Devices | Particle generation |\n+==============+================+=================+=========================================+============================+\n| Uniform | Uniform | Uniform | Ionization Profile Monitor (IPM) | Ionization via beam (IPM): |\n| | | | | |\n| | | | | * at rest |\n| | | | | * parametrized DDCS |\n| | | | | * DDCS by Voitkiv et al. |\n+--------------+----------------+-----------------+-----------------------------------------+----------------------------+\n| Gaussian | Gaussian | 2D field maps | Beam Induced Fluorescence Monitor (BIF) | Excitation via beam (BIF) |\n+--------------+----------------+-----------------+-----------------------------------------+----------------------------+\n| Gaussian DC | Gaussian DC | 3D field maps | Arbitrary CAD models (via .STL files) | Thermal motion |\n+--------------+----------------+-----------------+-----------------------------------------+----------------------------+\n| Generalized | Generalized | | | Gas jets |\n| Gaussian | Gaussian | | | |\n+--------------+----------------+-----------------+-----------------------------------------+----------------------------+\n| QGaussian | QGaussian | | | Custom CSV files |\n+--------------+----------------+-----------------+-----------------------------------------+----------------------------+\n| Hollow DC | Hollow DC | | | |\n+--------------+----------------+-----------------+-----------------------------------------+----------------------------+\n| Parabolic | Parabolic | | | |\n| Ellipsoid | Ellipsoid | | | |\n+--------------+----------------+-----------------+-----------------------------------------+----------------------------+\n| | Poisson 2D SOR | | | |\n+--------------+----------------+-----------------+-----------------------------------------+----------------------------+\n| | Poisson 3D | | | |\n+--------------+----------------+-----------------+-----------------------------------------+----------------------------+\n\n\nInstallation\n------------\n\nVirtual-IPM can be installed via ``pip`` with or without GUI components. ``pip install Virtual-IPM[GUI]`` installs\nthe application together with the graphical user interface while ``pip install Virtual-IPM`` just installs the command\nline version. For more information see `the documentation <https://ipmsim.gitlab.io/Virtual-IPM/installation.html>`__.\n\n\nGraphical User Interface\n------------------------\n\n`The GUI <https://ipmsim.gitlab.io/Virtual-IPM/usage.html#via-the-gui>`__\ncan be started via ``virtual-ipm-gui``. At the top, it offers buttons for various functionality:\n\n* Create, save and load configuration files\n* Run configurations\n* Analyze simulation output\n* `Create parameter sweeps <https://ipmsim.gitlab.io/Virtual-IPM/parameter-sweeps.html>`__\n\n\nCommand Line Usage\n------------------\n\n`The application <https://ipmsim.gitlab.io/Virtual-IPM/usage.html#via-the-command-line>`__\ncan be run from the command line via ``virtual-ipm path/to/config.xml``.\nFor customization and options see ``virtual-ipm --help``.\n\nThe application also ships with a number of other\n`command line utilities <https://ipmsim.gitlab.io/Virtual-IPM/usage.html#command-line-tools>`__,\ne.g. for plotting beam fields from configuration files.\n\n\nContributing\n------------\n\nPlease contact `the maintainers <https://gitlab.com/IPMsim/Virtual-IPM/-/blob/develop/setup.py#L38>`__.\n\n\nRelevant links\n--------------\n\n* `Documentation <https://ipmsim.gitlab.io/Virtual-IPM/>`__\n* `Changelog / Release notes <https://ipmsim.gitlab.io/Virtual-IPM/changelog.html>`__\n* `Examples <https://ipmsim.gitlab.io/Virtual-IPM/examples.html>`__\n* `Issue tracker <https://gitlab.com/IPMsim/Virtual-IPM/-/issues>`__\n* `Virtual-IPM on PyPI <https://pypi.org/project/virtual-ipm/>`__\n\n\n\n.. |Maintenance yes| image:: https://img.shields.io/badge/maintained-yes-success.svg\n :target: https://gitlab.com/IPMsim/Virtual-IPM/-/releases\n\n.. |PyPI version| image:: https://img.shields.io/pypi/v/virtual-ipm.svg\n :target: https://pypi.org/project/virtual-ipm/\n\n.. |GPLv3 license| image:: https://img.shields.io/badge/license-AGPLv3-blue.svg\n :target: https://www.gnu.org/licenses/agpl-3.0.html\n\n.. |PyPI pyversions| image:: https://img.shields.io/pypi/pyversions/virtual-ipm.svg\n :target: https://pypi.org/project/virtual-ipm/\n\n.. |PyPI status| image:: https://img.shields.io/badge/status-stable-success.svg\n :target: https://pypi.org/project/virtual-ipm/\n\n.. |Documentation Status| image:: https://img.shields.io/badge/documentation-yes-success.svg\n :target: https://ipmsim.gitlab.io/Virtual-IPM/\n\n\n",
"bugtrack_url": null,
"license": "AGPL-3.0",
"summary": "Virtual-IPM is a software for simulating transverse profile monitors under the influence of beam space-charge and external fields.",
"version": "2.2.1.post1",
"project_urls": {
"Changelog": "https://ipmsim.gitlab.io/Virtual-IPM/changelog.html",
"Code": "https://gitlab.com/IPMsim/Virtual-IPM",
"Documentation": "https://ipmsim.gitlab.io/Virtual-IPM/",
"Homepage": "https://gitlab.com/IPMsim/Virtual-IPM",
"Issue tracker": "https://gitlab.com/IPMsim/Virtual-IPM/-/issues"
},
"split_keywords": [
"ipm",
" bgi",
" bif",
" beam instrumentation",
" beam diagnostics",
" transverse profile monitor",
" simulation",
" framework",
" ionization profile monitor",
" beam gas ionization profile monitor",
" beam induced fluorescence monitor",
" space charge",
" particle accelerator"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0b56f7395482824a818024ece1faeb037338e035efd8270e5509a21db3e31479",
"md5": "a1a2ae5069848b3ab5884c97ec524926",
"sha256": "922d73a2862f8ab9fe5cbdc0a5ab820d504b11bc3e59ef8d6179e4a2a5701fa8"
},
"downloads": -1,
"filename": "virtual_ipm-2.2.1.post1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a1a2ae5069848b3ab5884c97ec524926",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 247986,
"upload_time": "2024-07-09T19:52:58",
"upload_time_iso_8601": "2024-07-09T19:52:58.240272Z",
"url": "https://files.pythonhosted.org/packages/0b/56/f7395482824a818024ece1faeb037338e035efd8270e5509a21db3e31479/virtual_ipm-2.2.1.post1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ff64bac9270850569b4081586e9cc07aa29cb8ce11a345cf2ede68ffe5950365",
"md5": "997c645dcea18b4f8c812f6c9adcf660",
"sha256": "2e74e81a3d4d8e1ad83d696dd0df10d6dcf1e8132dd3bb11e757f569b0e0e994"
},
"downloads": -1,
"filename": "virtual-ipm-2.2.1.post1.tar.gz",
"has_sig": false,
"md5_digest": "997c645dcea18b4f8c812f6c9adcf660",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 154558,
"upload_time": "2024-07-09T19:53:12",
"upload_time_iso_8601": "2024-07-09T19:53:12.861751Z",
"url": "https://files.pythonhosted.org/packages/ff/64/bac9270850569b4081586e9cc07aa29cb8ce11a345cf2ede68ffe5950365/virtual-ipm-2.2.1.post1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-09 19:53:12",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "IPMsim",
"gitlab_project": "Virtual-IPM",
"lcname": "virtual-ipm"
}