Application du principe ‘Machine Learning’ en Mécanique des fluides

par Abbes AZZI, 31 Janvier 2020

L’apprentissage automatique (Machine Learning, ML) est une application de l’intelligence artificielle (Artficial Inteligence, AI) qui fournit aux systèmes la capacité d’apprendre et de s’améliorer automatiquement à partir de l’expérience sans être explicitement programmé. L’apprentissage automatique se concentre sur le développement de programmes informatiques qui peuvent accéder et utiliser les données pour apprendre par eux-mêmes.

Ce thème est relativement récent et la documentation disponible est globalement complexe et difficile à assimiler. Toutefois, on persistant, j’ai trouvé l’article ci-dessous que je vais essayer de vulgariser encore plus. J’espère que ça pourra aider les chercheurs débutants et intéressés par cette approche. Si vous trouvez ou vous connaissez d’autres références aussi explicites et didactiques, merci de laisser les références dans les commentaires.

Article intéressant et très pédagogique montrant comment appliquer l’apprentissage machine ‘ML’ en mécanique des fluides numérique ‘Computational Fluid Dynamics, CFD’

En gros, il y a deux étapes :

Période d’apprentissage :

  1. Faire un calcul avec une grille de calcul très fine ‘Fine Grid, (FG)’ qui aboutit naturellement à un résultat très précis (avec un maximum de détail sur le champ dynamique et thermique).
  2. Faire un deuxième calcul avec un maillage grossier ‘Corse Grid, (CG)’ qui conduit à un résultat moins précis.
  3. Interpoler le résultat précis du premier calcul (FG) sur la grille du deuxième calcul (CG).

Naturellement, on va disposer de deux solutions sur la même grille (CG).

  1. Un premier résultat moins précis, issu du deuxième calcul.
  2. Et un deuxième résultat plus précis issu de l’interpolation du premier calcul.

La figure ci-dessous montre un exemple du calcul de la cavité entrainée (lid-driven cavity).

A gauche : Calcul avec la grille fine (FG), résultat précis

A droite : Calcul avec la grille moins dense (CG), résultat non précis

Au milieu : les résultats issues de la grille fine (FG) interpolés sur la grille (CG)

Lors de la comparaison des données des grilles fine (FG) et grossière (CG), le nombre de cellules dans les deux grilles n’est pas le même. Ainsi, pour calculer l’erreur induite par la grille locale, il est nécessaire d’effectuer une interpolation des données de la grille fine (A gauche) sur la grille grossière. En d’autres termes, ϕf est remplacé par ϕf→Δ qui est le champ de grille fine de ϕ interpolé sur une grille dont la longueur de cellule est Δ. Cette interpolation, constitue une source d’erreur car nous perdrons certains détails du profil du champ d’écoulement. Ce champ interpolé (milieu) est encore plus précis que le champ calculé par une grille grossière (à droite).

L’étape suivante est de trouver un algorithme utilisant les données (CG) et les données ϕf→Δ capable d’estimer l’erreur induite. Les auteurs de l’article proposent deux variantes : Artificial Neural Network (ANN) et Random Forest (RF).

Période d’application :

Le code a appris de l’expérience précédente à faire un calcul grossier (rapide et moins lourd) et corriger le résultat pour aboutir au résultat plus précis illustré au milieu de la figure ci-dessous. Ce qui représente un gain appréciable en mémoire de stockage et vitesse de calcul. On peut l’utiliser et le réutiliser pour un nombre infini de cas tout en changeant le nombre de Reynolds, le Grashoff, la géométrie et autres. Que ce soit en interpolation ou en extrapolation.

Maîtriser les approches d’estimation de l’erreur (ANN et RF) et expérimenter les limites du code sur plusieurs configurations peut faire un bon thème de doctorat.

L’article est disponible en téléchargement libre sur le lien :

https://www.sciencedirect.com/science/article/pii/S0149197019302495

Bonne lecture

Ce contenu a été publié dans Articles. Vous pouvez le mettre en favoris avec ce permalien.