De quoi s’agit-il ?
Nous avons trouvé un moyen de « voir » les forces qui s’exercent entre chaque grain, en 3D, alors que l’empilement est soumis à des transformations globales. Prenons comme exemple des camions qui passent sur une route tous les jours. Les graviers qui composent la route sont compressés de façon répétée, encore et encore. Ils se réarrangent petit à petit, jusqu’à ce que la route soit déformée de façon permanente. Mais il est presque impossible de mettre un capteur entre chaque petit gravier pour voir comment la route se déforme. Des simulations informatiques donnent accès aux variables internes, mais celles-ci reposent sur des modèles, nécessairement simplifiés pour obtenir des résultats en temps raisonnable. Ainsi, personne n’a d’idée exacte sur ce qui se passe réellement au niveau des grains: tout ce qu’on peut faire c’est surveiller les changements globaux, mais difficilement les changements locaux. C’est là où notre travail prend tout son intérêt: nous pouvons à la fois exercer des transformations macroscopiques sur le milieu (ex : compression répétée) et mesurer les forces entre chaque grain. Bien sûr, on n’utilise pour ça pas n’importe quels grains: ils sont transparents, de façon à les illuminer avec une nappe laser (cf le schéma). Lorsque le laser balaie l’empilement, on prend des photos de l’intérieur des grains (cf celle qui est intégrée dans la représentation 3D). Joshua Dijksman et le groupe dirigé par Robert Behringer ont contruit le dispositif expérimental. J’ai conçu puis implémenté les algorithmes nécessaires pour aggréger toutes les images en tant compte des spécificités du contexte (bruit de fond, artéfacts, etc), reconstruire la surface des grains, calculer leurs déformations puis de là en tirer les vecteurs forces en 3D. D’autres contextes tomographiques existent bien sûr (ex : rayons X ou gammas, microscopie confocale…) mais notre méthode est la première qui soit à la fois peu onéreuse, très sécuritaire et où on peut facilement appliquer des transformations globales en cours de scan, tout en fournissant les forces de façon précise à chaque contact.
Article, données et code source
L'article est en libre accès sur le site de Nature Communications. Voici également une présentation donnée à la conférence Driven Disordered Systems de June 2014.
Les données utilisées dans l'article sont disponibles (≈ 420 MB). Les coefficients des formes des surfaces des grains ont été exclues pour gagner de la place. Ils ne sont pas du tout nécessaires pour la plupart des usages (toutes les valeurs dérivées, dont les forces, sont fournies). Si vous en avez réellement besoin (e.g. pour visualiser la surface de certains grains), ouvrez le source de cette page html et vous y trouverez un lien vers un fichier de ≈ 2.8 GB. Merci de ne le télécharger que si vraiment nécessaire.
Le code est disponible sur mon dépôt de sources. Je considère ce projet terminé et le code ne devrait pas évoluer mais, le cas échéant, la dernière version est téléchargeable sous forme d’archive tar.gz ou en utilisant GIT: git clone git://nicolas.brodu.net/tomorim. Vous aurez besoin d’un compilateur C++ récent et de quelques bibliothèques de support (boost, etc).
Ce scanner 3D pour empilements granulaires est un logiciel libre disponible en LGPL v2.1 ou plus recent