Franck Lominé

Page professionnelle

Laboratoire de Génie Civil et Génie Mécanique

  • Érosion interne
  • Géomatériaux
  • Hydrodynamique
  • Modélisation numérique

Création d'empilements désordonnés de sphères via l'algorithme de Powell

Pour étudier numériquement l'écoulement de particules dans un milieu poreux, il est nécessaire de pouvoir générer des empilements aléatoires de sphères. Plusieurs modèles existent pour construire de tels empilements avec une porosité contrôlée. Nous avons choisi l'algorithme de Powell (Powell, 1980).

Exemple d'empilement

Figure 1 : Exemple d'empilement aléatoire de 70 000 sphères généré avec l'algorithme de Powell.

Trois sphères, chacune en contact avec les deux autres, sont placées dans un coin inférieur d'une boîte parallélépipédique. Ce cluster constitue le point de départ qui va permettre de construire l'empilement dans les trois directions de l'espace. La couche inférieure est constituée de sphères en contact avec la base de la boîte et avec deux autres sphères déjà placées. Et ce, jusqu'à ce que la couche inférieure soit totalement occupée. Les diamètres des sphères qui constituent l'empilement sont choisis aléatoirement autour d'une valeur moyenne avec une légère dispersion.
Ensuite une nouvelle phase commence, durant laquelle chaque nouvelle sphère est placée en contact avec trois sphères déjà en place. Le diamètre de chaque nouvelle sphère est également choisi comme décrit précédemment. Celle-ci est alors positionnée en choisissant au hasard un groupe de trois sphères voisines dans la couche sous-jacente.

L'algorithme s'assure ensuite que cette sphère ne recouvre pas une autre sphère de l'empilement. Si cette condition est vérifiée, la position de la sphère est alors validée. La contrainte, provenant du fait que l'on retient le positionnement de plus basse altitude et que cette sphère se trouve en contact avec trois sphères déjà placées, garantit la stabilité finale de l'empilement. Si la position de la nouvelle sphère est invalidée pour cause de recouvrement avec une autre sphère, on cherche alors d'autres sphères candidates pour assurer le contact lors du placement. La compacité globale de l'empilement est contrôlée en imposant une limitation sur la hauteur des sphères nouvellement ajoutées. Cette hauteur doit être comprise dans une couche qui correspond à la zone de travail de l'algorithme. Cette zone de travail est de l'ordre d'un cinquième de la taille des sphères. Pour chaque sphère que l'on cherche à ajouter, plusieurs tests de positionnement sont effectués et selon la compacité que l'on désire atteindre, le nombre de tests peut être ajusté : un empilement plus dense requiert un plus grand nombre de tests pour trouver la plus basse des positions. Le programme procède ainsi jusqu'à ce qu'aucune autre sphère ne puisse être placée dans la zone de travail. La zone est alors décalée vers le haut et le processus se répète jusqu'à ce le haut de la boîte soit atteint. Une amélioration complémentaire sur la définition de la boîte peut être faite afin de générer un empilement périodique latéralement. Un exemple d'empilement généré par l'algorithme de Powell est présenté sur la figure 1.

figure 2

Figure 2 : Exemple de profil de compacité d'un empilement généré via l'algorithme de Powell.

Cet algorithme modélise en quelque sorte une pluie de sphères, ce qui correspond assez bien à la méthode utilisée pour la préparation des empilements utilisés dans l'expérience (aussi bien pour l'empilement constituant le milieu poreux que celui des particules percolantes).
La figure 2 montre un exemple de profil de compacité d'un empilement obtenu avec l'algorithme de Powell. La compacité Φ de l'empilement est proche de 60 % ce qui correspond à une porosité de l'ordre de 40 %. Pour modéliser l'expérience d'écoulement de petites particules dans un milieu poreux, le programme génère deux empilements aléatoires de sphères : le milieu poreux et l'empilement de petites particules. La figure 3 illustre le positionnement de l'empilement de petites sphères par rapport au milieu poreux.

figure 3

Figure 3 : Illustration du positionnement d'un empilement de 20 000 petites sphères, généré avec l'algorithme de Powell, par rapport au milieu poreux.