La documentation suivante a pour but de générer une simulation de soufflerie, permettant de visualiser la réaction du tissu bâti au vent.
Cette étude est particulièrement utile pour analyser une situation existante, constater les volumétries créant des couloirs de vent, et informer des choix sur les ouvrages projetés.
Le type de diagramme produit par cette simulation consiste à une vue en plan, sur laquelle est synthétisée la vitesse du vent mesurée lors de la simulation.
1. Prérequis
Les logiciels suivants sont requis pour l’utilisation de ce script :
- Rhino 3D (v7+) (+ Grasshopper)
- Butterfly (0.0.05+) (+ blueCFD-Core), un guide d’installation est disponible ici
Pour utiliser Butterfly (et blueCFD-Core), il est indispensable de lancer Rhino en tant qu'administrateur, et d'avoir un fichier dont les unités sont paramétrées en mètres. Sans cela, il est probable que le script rencontre des erreurs et ne fonctionne pas.
2. Fichiers modèles
Pour illustrer la méthode qui suit, un fichier Rhino et son script Grasshopper correspondant sont disponibles :
Le fichier Grasshopper d'exemple contient les dépendances suivantes, il convient de les installer :
- Ladybug Tools 1.8.0 (Guide d’installation) ;
- Butterfly (0.0.05+) (+ blueCFD-Core) (Guide d’installation) ;
- Bifocals 0.5.0.0 (optionnel, pour l’affichage des noms de composants) ;
- Moonlight 1.0.0.0 (optionnel, pour l’affichage en mode sombre).
Le fichier Rhino d’exemple contient 3 types d’éléments :
- Deux volumes représentant du contexte bâti (orange) ;
- Un arbre (vert clair) ;
- Une surface au niveau du sol servant de référence pour la grille de capteurs (gris clair).
Chacun de ces éléments sont référencés dans le fichier Grasshopper correspondant.
3. Décomposition du script
Le script est divisé en groupes (visibles sous la forme de blobs de couleur et portant chacun un titre). La suite de ce guide indique l’usage de chacun de ces groupe et sa fonction dans la définition.
3.1. Volumétrie
Cette première partie du script consiste à référencer la volumétrie représentant le contexte bâti.
Dans le cas du fichier d'exemple, le modèle est très simple, et la géométrie peut être directement référencée en tant que BREP. Néanmoins, dans le cas d'une volumétrie de grande taille et complexe, il est préférable d'utiliser le composant
Mesh
, et de référencer une modélisation déjà transformée en mesh avec le minimum de définition. Cela facilite le travail du composantCreate Butterfly Geometry
et permet d'économiser des minutes de calcul.
Il est dans un premier temps préférable de placer tous les bâtiments au même niveau de sol, c'est-à-dire sans topographie. Ce point doit être approfondi, les tests menés jusqu'à présent ont été peu concluants lorsqu'on intègre un sol ayant une volumétrie complexe.
3.2. Paramètres d’entrée
Les paramètres d’entrées suivant sont à renseigner :
- Nom de l’instance Butterfly : cette information sera utilisée pour générer un dossier localement, dans lequel tous les résultats de calcul seront enregistrés. Il est donc utile de le nommer correctement pour le localiser plus facilement plus tard.
- Vitesse du vent : à priori, on part d’une vitesse aux alentours de 5 m/s, mais ce paramètre peut être modifié selon l’analyse de la rose des vents du contexte.
- Landscape : un chiffre entre 0 et 7 pour signifier le contexte paysager du modèle. Un tableau d’équivalence est reporté ci-dessous.
# | Nom | Description |
---|---|---|
0 | Sea | Mer ou lac (quelle que soit la taille de la vague), zone de marée, plaine enneigée, désert sans relief, asphalte et béton, avec un fetch libre de plusieurs kilomètres. |
1 | Smooth | Surface terrestre sans caractéristiques, sans obstacles notables et avec une végétation négligeable ; par exemple, plages, banquise sans grandes crêtes, marais et terres ouvertes couvertes de neige ou en friche. |
2 | Open | Pays plat à végétation basse (p. ex. herbe) et obstacles isolés avec des séparations d’au moins 50 hauteurs d’obstacle ; p. ex. pâturages sans coupe-vent, bruyère, lande et toundra, zone de piste d’un aéroport. Glace avec crêtes en travers du vent. |
3 | Roughly open | Zone cultivée ou naturelle avec des cultures ou des couvertures végétales basses, ou zone modérément dégagée avec des obstacles occasionnels (par exemple, des haies basses, des bâtiments bas isolés ou des arbres) à des distances horizontales relatives d’au moins 20 hauteurs d’obstacle. |
4 | Rough | Zone cultivée ou naturelle avec des cultures hautes ou de hauteur variable, et des obstacles dispersés à des distances relatives de 12-15 hauteurs d’obstacles pour les objets poreux (par exemple les brise-vent) ou de 8-12 hauteurs d’obstacles pour les objets solides de faible hauteur (par exemple les bâtiments). |
5 | Very rough | Paysage de cultures intensives avec de nombreux groupes d’obstacles assez importants (grandes fermes, massifs forestiers) séparés par des espaces ouverts d’environ huit hauteurs d’obstacles. Végétation principale peu dense comme les buissons, les vergers, les jeunes forêts. En outre, la zone est modérément couverte par des bâtiments bas avec des intervalles de trois à sept hauteurs de bâtiment et aucun arbre de haute taille. |
6 | Skimming | Paysage régulièrement couvert d’obstacles de taille similaire, avec des espaces ouverts du même ordre de grandeur que la hauteur des obstacles ; par exemple, forêts matures et régulières, zone densément bâtie sans grande variation de hauteur des bâtiments. |
7 | Chaotic | Centres-villes avec un mélange de bâtiments bas et hauts, ou grandes forêts de hauteur irrégulière avec de nombreuses clairières. |
La direction du vent est indiquée par l'axe Y, c'est-à-dire l'axe bas-haut en vue de dessus. Il existe un composant Butterfly pour modifier l'axe du vent, mais selon les premiers tests, ce composant a tendance à créer un bug sur la suite des composants, et à empêcher le lancement du calcul. Il est donc impératif d'orienter son modèle selon l'axe Y du modèle correspondant au vent dominant analysé grâce à la rose des vents.
3.3. Wind tunnel
Ce groupe créé la géométrie du tunnel de soufflerie.
Selon la complexité et la taille du modèle, ces composants peuvent être relativement long à être calculés (plusieurs minutes). Il est donc utile de les désactiver à la fermeture du fichier, pour éviter leur calcul au redémarrage.
3.4. Snappy Hex Mesh
Ce groupe affine la géométrie du tunnel de soufflerie, pour s’approcher au maximum de la géométrie d’entrée.
Ces composants peuvent également être très longs à être calculés (jusqu'à plusieurs dizaines de minutes pour des grands environnements complexes), selon la complexité et la taille de la géométrie. Il est donc utile de les désactiver à la fermeture du fichier, pour éviter leur calcul au redémarrage.
3.5. Capteurs
Une surface doit être ici renseignée pour servir de référence à la grille de capteurs. Le fichier d’exemple est paramétré avec une surface de capteurs de 50 m par 50 m (le composant LB Generate Point Grid
contient un offset pour placer la grille de capteurs 1.50 m au-dessus, donc à hauteur de piéton).
Il est préférable de commencer par une taille de grille raisonnable (1 à 5 m), puis de descendre s’il y a besoin d’obtenir des résultats plus fins. Ce paramètre du nombre de capteurs influe radicalement sur le temps de calcul.
Le composant Butterfly_probes
est renseigné selon les forces que l’on souhaite calculer :
- U : Cela représente généralement le champ de vitesse dans la simulation. C’est une quantité vectorielle qui décrit la vitesse et la direction de l’écoulement du fluide à divers points dans le domaine de simulation.
- p : Cela désigne généralement le champ de pression. La pression est une quantité scalaire représentant la force exercée par le fluide par unité de surface en un point donné dans le domaine.
- k : Cela représente souvent l’énergie cinétique turbulente. Dans la dynamique des fluides numérique (CFD), l’énergie cinétique turbulente est utilisée dans les modèles de turbulence pour quantifier l’énergie contenue dans les tourbillons turbulents au sein du fluide.
3.6. Nombre d’itérations
Les paramètres du composant Butterfly_controlDict
permettent de contrôler le nombre d’itérations selon lequel les calculs de la simulation vont être réalisés.
Il est important de garder un nombre d’itérations assez bas pour commencer (par exemple 20, comme renseigné dans le fichier modèle), pour ensuite augmenter ce nombre s’il se révèle trop bas pour des résultats satisfaisants.
3.7. Calcul
Ce groupe contient le composant responsable du calcul de la solution.
C'est la partie la plus longue à calculer, et elle peut très rapidement prendre beaucoup de temps selon la complexité du modèle (jusqu'à plusieurs heures), le nombre de capteurs, le nombre d'itérations, etc.
3.8. Résultats
Ce composant Butterfly_Load Probes Value
permet d’extraire les résultats de la solution Butterfly, et de sélectionner la variable que l’on souhaite visualiser.
3.9. Affichage en aplats
Ce groupe est responsable de l’affichage des résultats sous formes d’aplats de couleur (une cellule représentant un capteur et donc une couleur). Il peut être utile de moduler le paramètre max
des paramètres de légende pour calibrer correctement l’échelle.
3.10. Affichage en vecteurs
Ce groupe est responsable de l’affichage des résultats sous formes de vecteurs. Il peut être utile de moduler le coefficient multiplicateur de la longueur du vecteur pour l’adapter aux résultats, ainsi que l’épaisseur des vecteurs.
4. Création d’un plan
Pour finaliser l’export des résultats sous forme de plan, il convient de préparer un fond de plan (à l’aide d’un Make2D
, d’un nettoyage du dessin et de quelques épaisseurs de traits différenciées).
En parallèle, il est possible de réaliser des exports des heatmaps générées à l’aide de la commande ViewCaptureToFile
dans Rhino. Avant de réaliser cet export, il convient de cacher toute la géométrie Rhino pour ne conserver que la heatmap, et de passer la couleur de fond de Rhino en blanc.
Enfin, cette image exportée peut être insérée derrière le fond de plan vectoriel, exporté dans Illustrator.