Section: New Results

Software development

New methods in Selalib

The Selalib library has seen important developments during the year 2013 as we move towards a release in 2014. Several existing modules were improved in terms of their interfaces or implementations, while many other modules were added. Notably, we have improved our interaction with external software (Pigasus, developed by Dr. Ahmed Ratnani) capable of producing NURBS-based coordinate transformations and introduced a general elliptic PDE solver based on finite elements and arbitrary degree splines that can be used as a field solver in domains deformed by an arbitrary coordinate transformation. Preliminary results of these developments have been published (A. Back, E. Chacon-Golcher, V. Grandgirard, A. Ratnani, E. Sonnendrücker, A 4D semi-Lagrangian Vlasov solver based on an arbitrary curvilinear grid in physical space, poster at Vlasovia, 25-28 November 2013, Nancy). In addition, we have included new abstractions to facilitate the development of parallel codes using domain decomposition methods. Modules like these have been already used in some of the multiple pre-packaged simulations also included during this period. For instance, it allows us to implement a new Vlasov-Poisson solver by the Eulerian reduced approach, with applications to four-dimensional Landau-Damping. The latest simulations also use newly developed interfaces related with the semi-lagrangian methodology, such as generic interfaces for advections and calculation of characteristics. At the end of 2013 virtually all conceivable abstractions related with the semi-lagrangian methodology have a natural place to live within the library.

Many new and classical methods and models have been cleanly incorporated into our software Selalib:

  • Vlasov-Poisson solver by the Eulerian reduced approach. Application to 4D Landau-Damping.

  • cartesian semi-Lagrangian 2D guiding center sequential simulation tested on periodic Kelvin Helmholtz instability

  • polar semi-Lagrangian 2D guiding center sequential simulation tested on diocotron instability

  • general curvilinear semi-Lagrangian 2D guiding center sequential simulation; first results, still in progress

  • cartesian semi-Lagrangian 2D Vlasov-Poisson parallel simulation with high order splitting tested on Landau damping, bump on tail, two stream instability and beam

  • cartesian semi-Lagrangian 2D Vlasov-Poisson sequential simulation without splitting tested on beam

  • cartesian semi-Lagrangian 4D Vlasov-Poisson parallel simulation on cartesian grid with high order splitting tested on Landau-Damping

  • polar semi-Lagrangian 4D drift kinetic parallel simulation tested on a simple ITG instability

  • general curvilinear semi-Lagrangian 4D drift kinetic parallel simulation (in development)

New developments in CLAC

CLAC is a generic DG solver for hyperbolic conservation laws. It is optimized for running efficiently on GPU clusters. We have reorganized the software conception in order to accelerate the computations. A first point is to group the finite-elements into uniform zones in order to get optimized kernels for SIMD architectures. A second point is to manage efficiently the data transfers between the zone. An important last point is to consider a non blocking parallel task management. This is achieved through a coupling between the event mechanisms of OpenCL and MPI. Some ideas and results are presented in [44] . In addition to these developments, we have started to test some parallel programming approaches in order to achieve good efficiency on multicore processors. These ideas have been tested on fluid models [27] and the MHD model [47] . They are very efficient and will be incorparated into CLAC later on.