Poulailler volant

Voici une application de Basilisk basée sur un fait divers cocasse: un poulailler agricole s'est envolé le 1er janvier 2018 pendant la tempête Carmen, qui a soufflé à plus de 100 km/h dans le Finistère. Le poulailler (et les poulets!) ont atterri sur une quatre-voies:

article Ouest-France

L'exercice consiste à calculer la force de portance exercée par le vent sur la structure (avant décollage), afin par exemple de mieux dimensionner son ancrage au sol.

Un modèle Blender du poulailler a d'abord été réalisé (à vue d'oeil pour ce portfolio1):

modèle Blender

Les dimensions de ce modèle sont 4 m x 8,4 m x 16 m. La hauteur du (prototype de) poulailler (4 m) sera désignée par la lettre L. Le "blend" a ensuite été exporté au format STL afin que Basilisk puisse le lire:

modèle Blender lu par Basilisk

N.B. La figure ci-dessus permet déjà de voir le caractère adaptatif du maillage généré par Basilisk: la résolution augmente uniquement là où c'est nécessaire.

L'animation suivante donne un premier aperçu de la simulation 2D d'un vent de 108 km/h (cette vitesse sera désignée par la lettre U):

Il s'agit de la vorticité. Cette vidéo a été volontairement compressée, mais la structure des champs de pression et de vitesse est détaillée ci-dessous:

pression
Vue d'ensemble de la pression et du maillage à la fin de la simulation

pression
Zoom sur la pression et la vitesse

N.B. L'auto-adaptativité du maillage est particulièrement apparente sur la dernière visualisation.

Cependant le résultat principal est contenu dans la figure suivante, qui montre l'évolution temporelle des forces2 de portance (y) et de trainée (x), dues à la pression (P) ou au frottement (F):

Cd en fonction de t

La simulation évolue vers un état stationnaire mais non permanent (revoir la vidéo). D'autre part le coefficient Py domine clairement les autres; rappelons qu'il s'agit de la force de portance due au champ de pression autour du poulailler. Les forces de frottement sont négligeables, du moins lorsque U = 108 km/h: elles ne sont même pas visibles sur le graphe (mais elles le seront au suivant). Py vaut environ 9,74 en régime stationnaire (moyenne à partir du temps adimensionnel t*U/L = 25) , soit une force2 verticale de 9,74*0,5*1,2*302*4 ~ 34300 N pour chaque mètre dans la direction perpendiculaire au vent! Une telle force est équivalente au poids de 3,5 tonnes: un vent de 108 km/h semble donc bien en mesure de faire décoller une structure telle que notre poulailler...

Ces résultats sont-ils robustes?

Comme dans toute modélisation numérique, la question se pose de savoir si la résolution employée est suffisante. Le nombre de Reynolds de l'écoulement considéré vaut Re = U*L/νair = 30*4/(1,5·10-5) = 8·106. Une telle valeur n'est pas accessible à la DNS, sauf à disposer d'un supercalculateur. Il faut donc s'engager dans une modélisation de la turbulence de type LES (ou RANS si les conditions sont réunies), ce qui n'a pas été fait pour cette démo. Cependant des solutions existent dans la communauté Basilisk et la modélisation de la turbulence fait l'objet d'un veille technologique active de la part de EIF-Services.

Néanmoins l'objectif était ici de calculer une portance qui s'avère principalement due au champ de pression, lequel a convergé à la résolution employée (lmax = 11) comme le montre le graphique suivant:

Cd en fonction de lmax

Dans Basilisk, la résolution est définie par la profondeur maximale lmax de la structure arborescente du maillage auto-adaptatif (la résolution maximale autorisée double chaque fois que l'utilisateur incrémente lmax). La figure ci-dessus montre que seule Fx dépend encore de la résolution à lmax = 11, mais comme déjà indiqué Fx et Fy sont négligeables devant Px et Py (l'échelle pour ces dernières est à gauche). Cela est cohérent avec la théorie de la couche-limite (hors décrochement), qui montre que la pression au contact de la paroi est déterminée par les grandes échelles de l'écoulement. Le décrochement lui-même dépend de la nature de la couche-limite mais celle-ci parait bien représentée à lmax = 11, comme en atteste ce dernier graphe où le profil de vitesse donné par Basilisk sur plaque plane (sans poulailler) est comparé à la loi-puissance de Prandtl3 (de toute façon imposée en condition à la limite amont, qu'il y ait un poulailler ou non):

profil Prandtl

Tous ces éléments tendent à démontrer que les résultats obtenus sont assez fiables, du moins si on se limite à des conclusions sur les forces subies par le poulailler. L'étude pourrait ensuite gagner en réalisme avec une modélisation 3D4 et/ou en tenant compte des rugosités de surface. Cependant à notre sens l'objectif d'une modélisation numérique est de fournir des ordres de grandeur fiables en se basant sur un prototype raisonnablement simplifié de la réalité, plutôt que de prétendre représenter celle-ci dans tous ses détails; de toutes façons la mise en oeuvre de modèles numériques et l'interprétation de leurs résultats demandera toujours une expertise scientifique, comme celle que peut vous apporter EIF-services.


  1. Une étude réelle serait bien sûr basée sur des mesures in situ, ou un modèle 3D fourni par le Client.
  2. Les forces sont tracées ici sous la forme de coefficients adimensionnels (de trainée, de portance...) obtenus en divisant la force correspondante par 0,5*ρair*U2*L, avec ρair = 1,2 kg/m3 (masse volumique de l'air), U = 108 km/h = 30 m/s (vitesse du vent) et L = 4 m (hauteur du poulailler). La "force" dont il est question ici est en fait la force par unité de longueur perpendiculaire au plan de calcul (simulation 2D).
  3. Franck M. White (2016): Fluid mechanics p.420-421 (eq7.39-7.42).
  4. Une première approche en est donnée par la visualisation ci-dessous, obtenue à la fin d'une simulation avec lmax = 7. Il s'agit du champ de pression; la structure et l'amplitude au milieu du poulailler sont tout-à-fait comparables à celles obtenues en 2D (sauf que l'échelle des couleurs est différente ici).