• Aucun résultat trouvé

Application de l’algorithme pararéel couplé à la décomposition de do-

6.4 Simulations en dimension trois

7.2.4 Application de l’algorithme pararéel couplé à la décomposition de do-

En plus d’un gain indéniable en appliquant la méthode pararéel lors de la simulation du modèle, son utilité s’étend à l’utilisation de deux échelles de temps différents où deux dyna-miques du modèle peuvent être représentées. Mais, il peut être également utile de posséder deux niveaux de discrétisation de l’espace défini par le domaine de définition.

L’intérêt est de pouvoir découper l’espace en plusieurs morceaux, afin de définir des sous-problèmes sur chacune de ces parties, puis de les résoudre indépendamment sur des processus différents afin de diminuer la complexité du problème, mais également le temps de calcul. Pour cela, j’utilise des méthodes de décomposition de domaine présentées dans la section 3.2. Pour mon cas d’application, je me restreins à la décomposition de domaine sans recouvrement, et dans un premier temps, à une division par deux de l’espace. Le problème peut donc s’écrire de la manière suivante, avec i ∈ {1;2} :

               Am µ Cm∂Vm,i ∂t + f (Vm,i, wi) ¶ = 1 λ + 1∇ · (Mi∇Vm,i) dans Ωi ∂wi ∂t = g (Vm,i, wi) dans Ωi Mi∇Vm· n∂Ω = 0 sur ∂Ω Vm,i = α sur Γi , (7.4)

où Γiest la frontière commune entre les deux domaines Ω1et Ω2, Vma des conditions initiales. Le problème consiste à trouver α tel que Vm,1= Vm,2sur Γi.

Techniquement, je découpe le cercle en deux parts en créant, grâce à FreeFem, deuxborder

délimitant chacun des sous-domaines, puis je construit le maillage en faisant appel à la

fonctionbuildmesh()de FreeFem.

L’idée générale de l’utilisation de cette méthode est de pouvoir la coupler avec la méthode pararéel utilisée seule dans la section 7.2.3. Pour cela, je suppose toujours, pour des questions pratiques, que le domaine est scindé en deux sous-domaines. Lors du lancement de l’algo-rithme sur N processus, chacun va s’attacher à résoudre le problème sur son sous-intervalle de temps, comme l’algorithme pararéel standard. Mais lors de la résolution spatiale, chaque processus va faire appel à un processus supplémentaire, afin d’effectuer la méthode de dé-composition de domaine. Cette dédé-composition va donc s’opérer sur deux processus distincts. Pour éviter tout conflit avec les processus s’occupant des autres sous-intervalles en temps, un processus supplémentaire sera alloué pour chaque processus s’occupant de la parallélisation en temps (Figure 7.6). Cela équivaut donc à utiliser 2N processus. C’est pour cette raison que le découpage du domaine en plus de deux sous-domaines n’a pas été envisagé pour les travaux présentés dans ce manuscrit.

Figure 7.6 – Représentation schématique de la méthode couplant les deux formes de parallélisme.

Ainsi, chaque intervalle en temps possède deux processus s’attachant à résoudre le sous-problème, permettant ainsi de coupler les deux parallélisations. En comparaison à la méthode GPU, il est compliqué de généraliser cette solution à M sous-domaines et N sous-intervalles en temps. Le travail de développement peut devenir très fastidieux, ce qui est déjà le cas, pour deux sous-domaines. Il faut faire en sorte que les bons processus communiquent entre-eux, et cela au bon moment.

J’effectue des tests de simulations, en appliquant la méthode présentée ci-dessus, au modèle monodomaine. J’applique le même protocole de simulation que ceux de la section 7.2.3, afin de pouvoir comparer au mieux les différents résultats. La Figure 7.7 présente les erreurs quadratiques entre les solutions séquentielle et parallèle, en fonction de l’itération de l’al-gorithme pararéel. On constate que les erreurs ne diminuent pas de façon aussi importante que celles de la section 7.2.3. La raison en est que le plus gros de l’erreur, entraînant cette différence, est commis lors de l’application de la méthode de décomposition de domaine. Ce sont des méthodes itératives, comme l’algorithme pararéel, dont l’arrêt est provoqué lorsque la tolérance définie par l’utilisateur est atteinte. Bien évidemment, plus cette tolérance est sévère, plus le temps de résolution va augmenter. Cette erreur conjuguée à celle commise par l’algorithme pararéel, provoque une erreur finale plus importante que celle constatée jusque là.

De plus, en observant les accélérations (Figure 7.8) obtenues lors de ces simulations, on note qu’aucun gain de temps n’est obtenu lors de l’utilisation de ces deux méthodes, au contraire

de ce qu’on a pu observer auparavant, notamment avec l’application des différences finies sur GPU. Néanmoins, cela n’ôte pas l’intérêt de cette manière de procéder, qui va permettre de définir des zones d’intérêts, où le maillage sera moins important, entraînant un temps de résolution global moins important, alors qu’un maillage uniforme est utilisé lorsque le domaine est considéré dans sa globalité.

Figure 7.7 – Comparaison de l’erreur quadratique moyenne à chaque itération pour différents nombres de processus MPI, lors de l’application de la méthode pararéel couplé à la décomposition de domaine.

Figure 7.8 – Accélérations lors de l’utilisation de l’algorithme pararéel couplé à la décomposition de domaine, par rapport au temps de simulation séquentiel.

7.3 Simulations en dimension trois

Dans cette section, la méthode décrite précédemment est appliquée afin de pouvoir simuler le modèle monodomaine en dimensions trois, sur une géométrie complexe, demandant une grande ressource de calcul. Dans un premier temps, j’explique comment le maillage d’une géométrie complexe du cerveau avec une décomposition de domaine a été construit, puis une simulation avec des paramètres réalistes du modèle est effectuée. Les méthodes de résolution développées précédemment vont permettre de pouvoir effectuer cette simulation, afin d’obtenir une solution de bonne qualité, en un minimum de temps.