FreeFem++ and Parallel Computing

Organizer
Samuele Rubino
Location
Seminario I (IMUS), Edificio Celestino Mutis
Author
Pierre Jolivet
Event type
Description

Horario:    - Lunes 8 de abril: de 11h30 a 13h30;         
                 - Martes 9 de abril: de 15h30 a 17h30;         
                 - Miércoles 10 de abril: de 15h30 a 17h30; 
                 - Jueves 11 de abril: de 11h30 a 13h30.
 

Abstract: The finite element method is a powerful mathematical tool for solving a wide variety of partial differential equations. It may be used to tackle problems defined on two- or three-dimensional domains defining complex geometries, using different finite element spaces. In this first part of the tutorial (see, e.g., [1]), I will present FreeFem++ [2], a domain specific language that is used to easily manipulate objects involved in any finite element analyses such as: mesh, finite element space, sparse matrix, or vector.
 
There is no seamless parallelism in the FreeFem++ kernel, but its simple data structures make it possible to interface various part of the finite element method to other parallel third-party libraries. In particular, it will shown in this part of the tutorial how to improve the performance of scripts by changing the default linear solver to better exploit multicore architectures. We will also have a first look at distributed-memory parallelism in FreeFem++.
The last part of the tutorial deals with large-scale computations using the distributed-memory parallelism of FreeFem++ to its fullest extent. In particular, two linear algebra backend interfaced with FreeFem++ will be presented. The first one, HPDDM [3], is focused on domain decomposition methods, and may be used to define one- or two-level domain decomposition preconditioners, with either overlapping or nonoverlapping subdomains. The second one, PETSc [4], ships with various preconditioners such as the block Jacobi method, algebraic multigrid methods... Lately, its interface in FreeFem++ has been extended to be able to define physics-based preconditioners as well as distributed block matrices. We will also discuss some of the implementation details of a recent paper about a solver for the unsteady incompressible Navier—Stokes equations [5].

 
Basic requirement: Own laptop with the latest version of FreeFem++ (develop branch, https://github.com/FreeFem/FreeFem-sources/tree/develop).
 
[1] http://jolivet.perso.enseeiht.fr/FreeFem-tutorial/
[2] https://freefem.org
[3] https://github.com/hpddm/hpddm
[4] https://www.mcs.anl.gov/petsc
[5] R. Haferssas P. Jolivet, and S. Rubino. "Efficient and scalable discretization of the Navier–Stokes equations with LPS modeling". In: Computer Methods in Applied Mechanics and Engineering 333 (2018) pp. 371–394.           https://doi.org/10.1016/j.cma.2018.01.026
 
 

 

Para recibir un certificado es necesario asistir al menos al 75% de las horas del curso y, además, inscribirse por correo electrónico a admin2-imus@us.es indicando lo siguiente:
Nombre de la actividad:
Nombre completo del participante:
DNI  o pasaporte:
Correo electrónico: