My general research interests are scientific computing, computational (plasma) physics and more recently also machine learning / data science.

I have developed both particle-in-cell and plasma fluid codes for the simulation of electric discharges (non-thermal plasmas). I'm also active in the development of MPI-AMRVAC, a framework for (magneto)hydrodynamics simulations. My work has focused on topics such as adaptive mesh refinement (AMR) and fast elliptic solvers (e.g., multigrid). I like to study systems that have some intrinsic complexity, not coming from boundary conditions or input data.

Since 2018, I have been working on machine learning methods applied to space weather applications, in collaboration with Enrico Camporeale, as I have taken over two EU projects in this direction from Enrico (AIDA and ESCAPE, see below). Current research focuses on forecasting time-series data, recognizing magnetic reconnection, and the use of unsupervised methods for e.g. dimensionality reduction and clustering.

These are some of the simulation codes that I have developed or worked on:

Link | Description |
---|---|

MPI-AMRVAC doc | Parallel AMR framework aimed at hyperbolic PDEs, with a focus on (magneto)hydrodynamics |

Afivo doc | Parallel AMR framework with multigrid methods |

Afivo-streamer doc | Parallel AMR code for streamer discharge simulations |

Octree-mg | MPI-parallel geometric multigrid library, AMR compatible |

Particle_swarm | Monte Carlo Boltzmann solver using electron swarm |

pamdi3d | Particle-in-cell discharge simulation code |

streamer_1d | 1D particle and fluid code for discharge simulations |

And these are some of the (simulation) utilities that I have developed:

- config_fortran (for dynamically loading settings/parameters in Fortran)
- lookup_table_fortran (lookup tables in Fortan)
- rng_fortran (fast random number generation in Fortran)
- ffhash (Generic hash table in Fortran)

A (very!) incomplete list of research ideas, some of which are suitable for student projects:

- Using machine learning to create a heuristic simple model from a more complex one (for example going from a particle-in-cell to a fluid model)
- Solving plasma fluid equations implicitly. In particular, what is a good preconditioner?
- Improving the convergence rate of Monte Carlo particle swarm simulations in low electric fields
- Coupling explicit and implicit time integration for plasma fluid models
- Adding support for internal boundary conditions in a geometric multigrid solver.
- Exploring efficient methods for solving the coarse grid equations in a geometric multigrid method.
- Enabling efficient visualization of octree AMR data in Visit or Paraview.
- Coupling stiff chemistry to simulations with AMR (adaptive mesh refinement), where the chemistry can be evaluated at coarser resolution and perhaps partially implicitly.
- Performing large scale 3D simulations of sprite formation
- Coupling particle and fluid models in energy space, for the study of runaway electron production in electric discharges.
- Investigating the so-called “stability field” of streamer discharges through computations, with the goal of predicting how this field depends on the gas.
- Extending the discharge model comparison of this paper to other fluid models
- Compare particle-in-cell and plasma fluid models for 2D and 3D simulations of streamer discharges.
- Using DSMC (or similar particle-based simulations) to evaluate (and improve?) the behavior of continuum hydrodynamics schemes at low pressures/densities
- Exploring methods to make conventional hydrodynamics schemes more robust (i.e., avoiding negative pressures)