I am a post-doctoral researcher at the Max Planck Institute for Plasma Physics (IPP) in Garching, Germany, since 2014. I work in the division of Numerical Methods for Plasma Physics, where my research has focused on semi-Lagrangian methods for the gyrokinetic description of strongly magnetized plasmas.
I graduated in Aerospace Engineering at the University of Padova (Italy) in 2007, where I also obtained a Ph.D. in Science, Technologies and Measurements for Space in 2011. From 2011 to 2014, year when I moved to Germany, I was a post-doc at the Department of Mathematics of the Michigan State University (USA).
In my career Python has always been an invaluable language for fast prototyping of numerical algorithms, as well as for data visualization. The final code was usually written in C, C++, or Fortran.
Lately I have been progressively more interested in using Python also for high-performance scientific computing. Together with my colleagues at IPP, in the last few years I investigated how to ease the transition from prototype to production in academic research codes. PSYDAC, our Python parallel environment for spline finite elements, is the product of our recent efforts.
PSYDAC: a parallel finite element solver with automatic code generation
PSYDAC takes input from SymPDE (a SymPy extension for partial differential equations), applies a finite-element discretization, generates MPI-parallel code, and accelerates it with Numba, Pythran, or Pyccel. We present design, usage and performance.