• Aucun résultat trouvé

11.3 Détermination des taux de collision par simulation directe

11.3.2 Repérage des particules en interactions

Le repérage des positions des particules les unes par rapport aux autres sert à connaître les couples de gouttes en interactions et également celles qui subissent des chocs. Deux particules sont supposées en interaction lorsque leur distance les séparrant est inférieur à un seuil fixé au préalable. Ce dernier a été fixé à 20 fois le rayon des particules, rmax = 20a.

Chercher à savoir les distances entre toutes les particules se trouvant dans le domaine de simulation est chose difficile. Il serait nécessaire de faire Np(Np−1)/2 tests qui avec plus de 104

gouttes prendrait un temps trop important. D’autres types d’algorithme permettant de gagner du temps CP U doivent être utilisés. Le repérage des particules est fait en utilisant la méthode proposée par Sundaram et Collins [136]. Le domaine de calcul est décomposé en cellules. La détermination des plus proches voisins se trouvant dans une cellule donnée est alors limitée à une recherche sur l’ensemble des cellules voisines. En prenant en moyenne 1 particule par boite, le nombre de cellules par direction d’espace est donné par :

Nc= EntiernpN3 p

o

. (11.69)

Chaque cellule est repérée par trois indices i ,j et k. Ces derniers varient de 1 à Nc modulo Nc+ 1. Ces cellules sont représentées sur la figure 11.5.

Dans chaque cellule, il est nécessaire de connaître à chaque instant le nombre de particules s’y trouvant. Nous devons alors définir un tableau à trois indices, numpart(i, j, k), donnant ce nombre. Ce type d’approche entraîne que les particules ne sont plus indiscernables. Elles sont donc référencées par un indice variant de 1 à Np. Dans chaque cellule, les indices des particules devront également être sauvegardés. Il est fait usage dans les programmes d’un tableau à 4

PSfrag replacements Lb x y z i j k i − 1 j − 1 k − 1 i + 1 j + 1 k + 1

FIG. 11.5 – Représentation des cellules dans le domaine de simulation.

dimensions, noté parbox(i, j, k, l), où les trois premiers indices repèrent la cellule et varient de 1 à Ncet le dernier donne le numéro de la particule évoluant de 1 à numpart(i, j, k). Le repérage des indices des cellules pour une position quelconque d’une particule p donnée est obtenu très facilement. Si xp(p), yp(p) et zp(p) sont les composantes de la position de la particule p, les indices de la cellule dans laquelle se trouve p sont :

i = Entier{xp(p) Lb × Nc} + 1, j = Entier{yp(p) Lb × Nc} + 1, k = Entier{zp(p) Lb × Nc} + 1. (11.70) La connaissance des tableaux numpart et parbox est primordiale pour la détermination des particules en interactions hydrodynamiques ou non. Après chaque nouveau pas de temps, ces tableaux devront être mis à jour afin de tenir compte des nouvelles positions des particules.

Lors de la recherche des plus proches voisins, il faut tester les cellules d’indices i − 1 à i + 1, j − 1 à j + 1 et k − 1 à k + 1. Lorsque les frontières du domaine sont atteintes, i.e. i = 1 ou i = Nc, les indices i − 1 dans le cas où i = 1 ou i + 1 dans le cas où i = Nc ne sont a priori pas connus. A l’aide des conditions de périodicité, il est nécessaire dans le cas où i = 1 par exemple que l’indice de i − 1 corresponde à la cellule d’indice Nc. Ces remarques sont identiques pour les indices j et k. Ainsi, il est possible de créer une fonction numérique qui nous permette d’assurer ces propriétés de périodicité. Cette fonction appelé indice(i, Nc)à deux arguments est définie par la relation :

indice(i, Nc) = mod(i, Nc+ 1) + i/(Nc+ 1) + Nc[1 − H(i)] , (11.71) où / désigne la division entière. H(i) est la fonction d’Heaviside donnée par :

si i ≤ 0 alors

H(i) = 0, (11.72a)

sinon

H(i) = 1. (11.72b)

Il est facile de vérifier que si i = 0 la fonction indice donne bien Nc. Dans le cas où i = Nc+ 1, indice faut 1. L’appel de cette fonction à chaque fois qu’il est nécessaire entraîne un temps de calcul élevé. Dans un but d’optimiser les temps d’exécution, il est préférable de créer un tableau variant de 0 à Nc+ 1nous donnant l’indice d’une cellule et respectant les conditions de périodicité.

Le nombre de particules est en moyenne égal à 1. Ce qui permet de déterminer la taille relative des cellules, lc. Le rapport lc/Lbest :

lc Lb =r 4π3 3α a Lb . (11.73)

Dans le cas d’une concentration volumique de l’ordre de 10−6, lcest plus de 161 fois plus grand que a. De ce fait, la recherche des plus proches voisins d’une particule se trouvant dans une cellule d’indices i, j et k peut être limité à celles entourant cette cellule. Ce qui entraîne que les tests se font sur 27 cellules comme il est représenté sur la figure 11.5.

Le repérage consiste donc à dresser les listes des particules qui sont en interaction et donc susceptibles de subir des chocs et celles qui sont isolées. Ainsi, le nombre de couples de gouttes en interaction, noté nbcouple, et la liste des particules, parinter(i, j) sont déterminés où ici i varie de 1 à 2 et j de 1 à nbcouple. Le nombre des particules non sujet aux interac-tions est noté nbnoninter. Les indices de ces gouttes sont sauvegardés dans un tableau appelé parnoninter(i)avec i compris entre 1 et nbnoninter.

Jusqu’à ce point, seuls les aspects spatiaux ont été envisagés. Il est également possible de prendre en compte des effets cinématiques. En effet, si deux particules ont des vitesses les faisant converger l’une vers l’autre elles peuvent rentrer en interaction. Pour deux particules d’indices p1 et p2, la distance, notée rp1p2, qui est comparée à rmax est déterminée de la façon suivante :

si [~xp1(t) − ~xp2(t)] · [~vp1(t) − ~vp2(t)] < 0alors :

rp1p2= k~xp1− ~xp2+ ∆t (~vp1− ~vp2) k, (11.74a) sinon

rp1p2= k~xp1− ~xp2k. (11.74b)

∆test le pas de temps utilisé dans les simulations.

L’utilisation de la distance rmax relativement grande par rapport à a entraîne l’apparition d’une nouvelle difficulté. Cette dernière réside dans le fait qu’il est possible d’avoir plus de deux particules dans cette sphère d’influence. Il est nécessaire de considérer que seules les deux particules les plus proches sont en interaction. La troisième est considérée comme indépendante. Ainsi, la procédure de repérage s’effectue de la façon suivante. Pour l’ensemble des cellules et pour l’ensemble des particules d’indice p se trouvant dans une cellule i, j et k, on cherche à savoir s’il n’y a pas de particules dans la sphère d’influence de la particule p. Ce test est fait sur toutes les cellules voisines. Quand deux particules ont été repérées, il est nécessaire de voir

si l’une ou l’autre ou les deux n’ont pas déjà été sélectionnées comme particules en interaction. Si aucune des particules n’a été rencontrée auparavant leur indices respectifs sont sauvegardés dans le tableau parinter et nbcouple est incrémenté d’une unité. Si les deux particules ont déjà été vues, il n’y a rien à faire. Dans le cas où l’une ou l’autre a été rencontrée au préalable, trois particules se trouvent dans la sphère d’influence. A ce stade, les distances deux à deux sont déterminées, les particules pour lesquelles la distance est plus faible sont supposées en inter-action. La dernière est considérée comme seule. Lorsque tous les couples ont été déterminés, les indices des particules restantes sont sauvegardés dans le tableau parnoninter. Il convient également de calculer le nombre de particules ne se trouvant pas en interaction, nbnoninter.