Section: New Results
Efficient algorithmics for code coupling in complex simulations
In the context of load-balancing for complex code-coupling simulations, we have studied the particular case of a multiscale simulation, called LibMultiscale previously developed in the ScAlApplix project. More precisely, LibMultiScale sumulates a crack propagation by using two parallel codes with different scales: a molecular dynamic code (atomistic model) and an elasticity code discretized by a finite element method (continuum model). The experience we have acquired with LibMultiScale shows us that the load-balancing of the whole coupled simulation is a difficult issue, that cannot be simply solved by partitioning each code independently from each other. Such a naive approach can lead to important imbalance in particular in the overlap zone where the two models coexist. Indeed, only a few processes were involved during the coupling phase, and the resulting communication pattern between the coupled codes were often unbalanced.
To overcome these difficulties, we have introduced a modelling of the whole coupled simulation based on the hypergraph model, that uses the notion of coupling hyperedge. The key idea is to provide a coupling-aware partitioning strategy based upon this model. One has evaluated different strategies for 2D cases of LibMultiScale. One of the most interesting strategy consists in partitioning the overlap area first (using all processes) and then, using the resulting fixed vertices, to partition the remaining model. As a result, both the computational phase and the coupling phase are well balanced. Moreover, the use of some special hyperedges has been used to reduce the number of coupling communications. These preliminary works has been realized during the Master internship of Mohamed Amine El Afrit.