Extension of the parallel Sparse Matrix Vector Product (SpMV) for the implicit coupling of PDEs on non-matching meshes

The Sparse Matrix Vector Product (SpMV) is one of the main operations of iterative solvers, and, in a parallel context, it is also the siege of point-to-point communications between the neighboring MPI processes. The parallel SpMV is built in such a way that it gives, up to round off errors, the sam...

ver descrição completa

Detalhes bibliográficos
Autores: Houzeaux, Guillaume|||0000-0002-2592-1426, Borrell, Ricard, Cajas García, Juan Carlos, Vázquez, Mariano|||0000-0002-2526-6708
Formato: artículo
Fecha de publicación:2018
País:España
Recursos:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/132875
Acesso em linha:https://hdl.handle.net/2117/132875
https://dx.doi.org/10.1016/j.compfluid.2018.03.006
Access Level:acceso abierto
Palavra-chave:High performance computing
Parallel sparse-matrix vector product
SpMV
MPI
Parallelization
Non-matching meshes
Coupling
Supercomputadors
Àrees temàtiques de la UPC::Enginyeria mecànica
Descrição
Resumo:The Sparse Matrix Vector Product (SpMV) is one of the main operations of iterative solvers, and, in a parallel context, it is also the siege of point-to-point communications between the neighboring MPI processes. The parallel SpMV is built in such a way that it gives, up to round off errors, the same result as its sequential counterpart. In this regards, nodes on the interfaces (or halo nodes if halo are considered) are duplicated nodes of the same original mesh. It is therefore limited to matching meshes. In this work, we generalize the parallel SpMV to glue the solution of non-matching (non-conforming) meshes through the introduction of transmission matrices. This extension of the SpMV thus enables the implicit and parallel solution of partial differential equations on non-matching meshes, as well as the implicit coupling of multiphysics problems, such as fluid-structure interactions. The proposed method is developed similarly to classical parallelization techniques and can therefore be implemented by modifying few subroutines of an already MPI-based code. According to the proposed framework, the classical parallelization technique appears as a particular case of this general setup.