Open-source Wake and Impedance Solver
wakis is a 3D Time-domain Electromagnetic solver that solves the Integral form of Maxwell's equations using the Finite Integration Technique (FIT) numerical method. It computes the longitudinal and transverse wake potential and beam-coupling impedance from the simulated electric and magnetic fields. It is also a multi-purpose solver, capable of simulating planewaves interaction with nano-structures, optical diffraction, and much more!
๐ Some of wakis features:
- Wake potential and impedance calculations for particle beams with different relativistic
$\beta$ - Material tensors: permittivity
$\varepsilon$ , permeability$\mu$ , conductivity$\sigma$ . Possibility of anisotropy. - CAD geometry importer (
STL&STEPformat) for definition of embedded boundaries and material regions, based onpyvista - Boundary conditions: PEC, PMC, Periodic, ABC-FOEXTRAP, Perfect Matched Layers (PML)
- Different time-domain sources: particle beam, planewave, gaussian wavepacket
- 100% python, fully exposed API (material tensors, fields
$E$ ,$H$ ,$J$ ). Matrix operators based onnumpyandscipy.sparseroutines ensure multithreaded calculations using Intel'smkl-service. - 1d, 2d, 3d built-in plotting on-the-fly
- Optimized memory consumption & GPU acceleration using
cupy/cupyxon double and single precision: added in#v0.6.1 - CUDA-aware MPI parallelization with
mpi4pyandipyparallel: added in#v0.6.0 - Snappy Smart mesh added in #v0.6.2
๐งฉ Other complementary tools in the ecosystem:
- Wakefield extrapolation via broadband resonator fitting with PIML
iddefixevolutionary algorithms - Non-equidistant Filon Fourier integration with
neffint - Beam-induced heating estimation due to impedance with
bihc
๐ฃ Tag and version changes are decribed in each Wakis Github Release
- For specific needs, please contact the developer ๐ฉโ๐ป๐: elena.de.la.fuente.garcia@cern.ch
๐ Documentation, powered by sphinx, is available at wakis.readthedocs.io
Check ๐ examples/ and notebooks/ for different physical applications:
- Planewave interacting with a PEC or dielectric sphere
- Gaussian wavepacket travelling through vacuum / dielectric
- Custom perturbation interacting with PEC geometry
- Wakefield simulation of accelerator cavity on CPU, GPU and with MPI
Check ๐๐ SWAN_tutorial/ for hands-on notebook examples ready to run on CERN's SWAN service's GPUs (A100, Tesla T4):
Check ๐๐ wakis-benchmarks/ for beam-coupling impedance calculations & comparisons to the commercial tool CSTยฎ Wakefield solver:
- PEC cubic cavity below cutoff (mm) and above cutoff (cm)
- Conductive cubic cavity below cutoff
- Lossy pillbox cavity (cylindrical) above cutoff
- Simulations using beams with different relativistic
$\beta$
Check ๐๐ BE-Seminar-demo/ for a complete demonstration of Wakis usage.
Wakis supports Python 3.9 - 3.14 and can be installed in any conda or venv environment.
๐ For a detailed installation guide (GPU, MPI setup, FAQs), check our documentation.
For basic usage, simply run:
pip install wakisFor additional features, including interactive 3D plots in Jupyter notebooks and Wakis' satellite packages, use:
pip install wakis['all']To use the version-frozen environment specified in requirements.txt, with python 3.9-3.11 do:
conda create --name wakis-env python=3.11
conda activate wakis-env
pip install wakis['notebook']To install Wakis from the source, clone the repository and install it in editable mode:
git clone https://github.com/ImpedanCEI/wakis.git
cd wakis
pip install -e .A pre-built Docker image of Wakis is available for easy setup and reproducibility.
sudo docker pull docker.io/edelafue/wakis:latest
sudo docker run --rm -it docker.io/edelafue/wakis:latest /bin/bash๐ก Have a bug, feature request, or suggestion? Open a GitHub Issue so the community can track it.
๐ ๏ธ Want to contribute? To merge your changes into main, create a Pull Request (PR) following our PR template.
๐ฏ The determination of electromagnetic wakefields and their impact on accelerator performance is a significant issue in current accelerator components. These wakefields, which are generated within the accelerator vacuum chamber as a result of the interaction between the structure and a passing beam, can have significant effects on the machine.
These effects can be characterized through the beam coupling impedance in the frequency domain and wake potential in the time domain. Accurate evaluation of these properties is essential for predicting dissipated power and maintaining beam stability.
wakis is an open-source tool that can compute wake potential and impedance for both longitudinal and transverse planes for general 3D structures.
-
๐ฑ
wakiswas firstly presented at the International Particle Accelerator Conference in 2023 (IPAC23) as a post-processing tool: https://doi.org/10.18429/JACoW-IPAC2023-WEPL170 -
๐ณ It has now evolved from a post-processing tool to a full 3D electromagnetic, time domain solver; and has been presented at the ICAP24: The 14th International Computational Accelerator Physics Conference in 2024: https://indico.gsi.de/event/19249/contributions/82636/
-
๐ธ A dedicated contribution was presented at IPAC'25: The 16th International Particle Accelerator Conference: https://inspirehep.net/literature/3101186
๐ Each Wakis release is linked to a Zenodo publication under a unique DOI. If you are using Wakis in your scientific research, please help our scientific visibility by citing this work:
[1] E. de la Fuente Garcia et. al., โWakisโ. Zenodo, 2025. doi: https://doi.org/10.5281/zenodo.15527405

