FELTOR is a modular scientific code project that consists of both a numerical library and a collection of physical simulation codes built on top of it.
Written in C++-14 with a header-only template library
Fully parallelized with cuda, OpenMP as well as MPI+X
Platform independent Applications run unchanged on a variety of hardware ranging from consumer grade CPUs and GPUs to mid-sized high-performance compute clusters.
Basic algorithms including
- 50+ different time integrators, including explicit, implicit and imex single- and multi-step methods
- Various linear and non-linear solvers like Conjugate gradient, LGMRES, Anderson Acceleration and more
- Modular combinations of solvers into preconditioners or multigrid/full approximation scheme solvers
Grid generators for conformal, orthogonal and general curvilinear structured grid generation
Discontinuous Galerkin methods in various discretizations from simple derivatives to general elliptic operators, diffusive terms and general upwind schemes for the advection terms.
FCI approach for the parallel derivative in three-dimensional magnetized plasma simulations
Already written fluid codes in various dimensions
Who we are
Matthias started the development of Feltor early 2012
as part of his PhD project in the group of Alexander Kendl at
Innsbruck University, Austria.
Since summer 2017 Matthias has worked as a postdoctoral researcher in the Plasma Physics and
Fusion Energy group at the Technical University of Denmark (DTU).
Markus, a fellow PhD student in Innsbruck, joined
the development of Feltor in 2014. After his PhD, Markus worked as a postdoctoral researcher at the
department of Space, Earth and Environment, Astronomy and Plasma Physics at
Chalmers University of Technology in Gothenburg, Sweden.
Today, Markus is associate professor at UiT - The Arctic University of Norway.
- Aslak Poulsen
for his valuable insights and contributions to implicit time steppers and nonlinear solvers. We are grateful to
- Roman Iakymchuk,
who courteuously provided the exblas library for binary reproducible scalar products and advice on how to use and adapt it. We further acknowledge support on the Knights landing architecture from the High Level Support Team from
- Albert Gutiérrez
- Xavier Saez
and from Intel Barcelona
- Harald Servat
Furthermore, we gratefully acknowledge fruitful discussions and code contribution from
- Ralph Kube
- Eduard Reiter
- Lukas Einkemmer
- Jakob Gath
We received funding from the Austrian Science Fund (FWF) within project W1227 and Y398 under project leader Alexander Kendl at Innsbruck University. The work has been carried out within the framework of the EUROfusion Consortium and has received funding from the Euratom research and training programme 2014-2018 under grant agreement No 633053. MW has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie Sklodowska-Curie grant agreement no. 713683 (COFUNDfellowsDTU). We gratefully acknowledge the support of NVIDIA Corporation with the donation of a Titan Xp GPU used for our research.
Feltor is fair software and licensed under the very permissive MIT license. The MIT License grants you great freedom in what you do with the code as long as you name us (Matthias Wiesenberger and Markus Held) as creators, in particular in publications that use Feltor to produce results. In this case we would be happy if you could cite one of our papers. We also suggest to take a snapshot of the used code and create and cite a DOI via e.g. Zenodo or to cite one of the existing DOIs if you did not alter the contained code in any way.
Our latest code release has a shiny DOI badge from zenodo
which makes us officially citable.