SelaV1D
SelaV1D is a Semi-Lagrangian Vlasov simulation code in one degree of
freedom, employing tree-based adaptive mesh refinement to efficiently represent
sparse phase-space densities.
Its primary intended field of application is the study of the longitudinal
phase-space dynamics of electron bunches in particle accelerators.
Features
- A multitude of predefined maps
- Arbitrary user-defined maps/flows
- Multiple interpolation schemes
- Shared-memory parallelization
- Computation of marginal distributions / projections
- Facilities to extract statistics from phase-space densities
- Export/Import of phase-space densities trees to/from binary files
- Constructing phase-space densities from ensembles
- Generating samples (ensembles) from phase-space densities
- Interactive visualization
- A simple mini-language, allowing flexible simulation setups
Releases
The latest release is
selav-0.2.0.tar.gz
(2022-03-26).
Older releases are available
here.
Documentation
A manual of SelaV1D is available in
PDF
form.
Building
Download the latest release, extract the tarball and run make in the resulting
directory.
tar xzf selav-0.2.0.tar.gz
cd selav-0.2.0
make
Building SelaV1D requires the libraries
FFTW,
libmatheval, and optionally
xlib.
They are available via the package management system of most GNU/Linux
distributions.
To build SelaV1D without X11 support edit the Makefile at the
indicated position.
License
The source code of SelaV1D and the underlying libselav is licensed
under
GPLv3.
The documentation is licensed under a
Creative Commons Attribution-ShareAlike 4.0 International License
.
lattice2selav
lattice2selav is a python script that generates an input file for
SelaV1D from a simple accelerator beamline lattice description.
For usage instructions please see the examples directory.
lattice2selav-0.1.0.tar.gz
Contributing
A git repository with the latest development version is available
here.
Clone it via
git clone https://selav.desy.de/selav.git
If you would like to contribute a bug fix or a new feature, please send a patch
to the email address below.
It will be highly appreciated!
Patches can be prepared by running
git format-patch main
from your development branch.
I kindly ask you not to upload the source code of the SelaV project to public
third-party git hosting sites such as gitlab, github, etc. if you don't intend
to actively maintain it there.
Contact
Philipp Amstutz <philippDOTamstutzATdesyDOTde>
last updated: 2022-03-30
Data Privacy Policy
 
Imprint