• Aucun résultat trouvé

Réalisation du couplage entre Code_Saturne et BuildSysPro

3.3.1

Présentation des méthodes possibles pour coupler des

logiciels de thermique du bâtiment et de CFD

3.3.1.1 Couplage direct ou par code interposé

L’objectif de notre travail est d’utiliser les matrices descriptives du bâtiment issues de BuildSysPro pour les coupler avec Code_Saturne. Plusieurs méthodes ont été envisagées. La première consiste à intégrer les matrices de BuildSysPro dans le code de Code_Saturne. Il s’agit d’une implémentation du modèle de bâtiment directement dans les fonctions de Code_Saturne, mais elle requiert une manipulation complexe des matrices avec le langage Fortran et nécessite une compatibilité avec la parallélisation existante de Code_Saturne. En effet, les calculs sous Code_Saturne sont réalisés sur plusieurs processeurs qui se répartissent les tâches et fonctionnent en parallèle. Dans le cadre de l’implémentation d’un modèle de bâtiment, il faut donc s’assurer que ce fonctionnement ne mette pas à mal la modélisation, ou bien qu’il soit réalisé par un unique processeur. En outre cette méthode demande à l’utilisateur de coder à chaque fois que l’on change de bâtiment. La deuxième méthode consiste à coupler les deux codes à l’aide un logiciel spécifique

(de la plateforme Salome). Cette méthode nous éviterait la mise en place d’un code de couplage, néanmoins cet outil est en cours de développement et il est peut-être trop tôt pour l’utiliser dans notre cas. Un tel couplage sera envisagé en perspective de ces travaux.

La troisième enfin est la création d’un code particulier dédié au couplage entre BuildSysPro et Code_Saturne, ce qui permet d’en maîtriser toutes les étapes. De plus, nous envisageons d’écrire ce code en langage Python qui fonctionne par défaut sur un seul processeur, ce qui permet de mieux gérer les échanges de données entre les deux logiciels. Nous avons donc opté pour cette solution.

3.3.1.2 Échanges de données entre les logiciels couplés

On peut distinguer trois techniques de couplage entre un logiciel de CFD et un outil de simulation énergétique en fonction des données échangées, synthétisées dans le tableau 3.1 (Athamena (2012) d’après Zhai and Chen (2003)) :

Technique de couplage ES vers CFD CFD vers ES

Technique 1 températures de surfaces extérieures

hext et température exté-

rieure Technique 2 températures de surfaces

extérieures

flux convectif

Technique 3 flux convectif hext et température exté-

rieure

Table 3.1 – Les différentes techniques d’échanges de données entre deux logiciels couplés.

La première technique s’est révélée plus stable que les autres et ses résultats convergent dans la plupart des cas tandis que les deux autres méthodes divergent plus fréquemment (Athamena, 2012). En outre elle est naturelle à mettre en place entre Code_Saturne et BuildSysPro, avec le coefficient de convection extérieure ob- tenu à partir des vitesses de vent calculées par la CFD. C’est donc cette méthode qui a été retenue pour le couplage.

3.3.1.3 Couplage dynamique réalisé à un intervalle régulier de pas de temps

Nous avons présenté au Chapitre 2 les différents types de couplages envisagés entre un logiciel de CFD atmosphérique et un logiciel de simulation du bâtiment. Les simulations de CFD ont des pas de temps de l’ordre de la seconde, voire plus petit, mais il n’est pas nécessaire de réaliser le calcul de thermique du bâtiment aussi fré- quemment. Nous optons donc pour un échange de données peut avoir lieu toutes les demi-heures ou toutes les heures pour des simulations longues.

Le couplage est quasi-dynamique pour la CFD qui ne converge pas nécessairement avant l’étape de couplage suivante. Cependant il est dynamique de la part de Build- SysPro qui réalise un nombre d’itérations suffisant pour donner une solution conver- gée à Code_Saturne. Lors de nos simulations, nous tâchons cependant de laisser Code_Saturne converger avant de réaliser un nouveau calcul de thermique de bâti- ment.

3.3.2

Méthode de couplage de Code_Saturne avec Build-

SysPro

Nous choisissons donc de coupler les logiciels Code_Saturne et BuildSysPro en créant un code qui permet aux deux outils de communiquer comme présenté Figure 3.4.

La première partie de ce code, appelée « Lecture des matrices » sur la Figure 3.7, réalise l’exploitation des données obtenues sous Dymola comme présenté précedem- ment. Elle lit donc les informations provenant de BuildSysPro et en déduit la struc- ture des matrices A, B, C, D, T , U et Y . Puis la phase de couplage à proprement parler est mise en place avec Code_Saturne et le code de résolution du modèle de bâtiment, écrit en Python, qui communiquent par fichiers interposés. Ces fichiers FIFO (First In First Out, représentés en bleu sur la Figure 3.7) sont des fichiers qui ne permettent qu’une lecture pour une écriture, et mettent les logiciels qui les utilisent en attente tant que les deux actions n’ont pas été réalisées. Ce système nous permet d’imposer aux deux programmes de s’attendre mutuellement et de réaliser simultanément les mêmes itérations.

Ainsi le code Python communique les températures de surfaces extérieures au logi- ciel de CFD, qui les lit depuis sa routine cs_user_boundary_conditions afin de les utiliser en conditions limites au niveau des bâtiments. Code_Saturne réalise alors ses calculs et écrit depuis la routine cs_user_extra_operations les paramètres extérieurs au niveau des parois des bâtiments tels que les vitesses de vent et les températures

Figure 3.7 – Schéma du couplage entre Code_Saturne et BuildSysPro.

extérieures. Une présentation plus détaillée du couplage est disponible à l’Annexe C.

3.4

Conclusion du chapitre

Le logiciel de dynamique des fluides Code_Saturne offre la possibilité d’intégrer de nombreux éléments pour les modélisations atmosphériques, avec des outils calculant les rayonnements ou l’influence de la végétation. Il peut également prendre en compte les échanges thermiques qui ont lieu au niveau des parois de bâtiment grâce à un modèle de paroi simple et le modèle de force-restore. Cependant Qu (2011) met en évidence les limites de ces modèles pour la modélisation en milieu urbain. Pour cette raison, nous avons choisi de faire fonctionner Code_Saturne avec un mo- dèle de bâtiment complet, qui puisse modéliser finement les échanges énergétiques entre les bâtiments et l’atmosphère.

Nous avons ainsi mis en place une méthode de couplage entre BuildSysPro et Code_Saturne qui permet de nous affranchir de Dymola une fois les matrices générées par BuildSysPro. Nous avons pour cela développé un code rédigé en Python. Cet ensemble de programmes permet d’une part de préparer les matrices BuildSysPro au couplage. Pour cela, leur structure et donc les points d’entrée des données de Code_Saturne sont analysés, et les sorties sont identifiées afin de les

attribuer correctement aux conditions limites de Code_Saturne. D’autre part, il permet de résoudre le modèle de bâtiment lors du couplage. Des éléments de code sont également mis en place afin de permettre la communication entre les deux outils de calcul par fichiers interposés.

La partie suivante porte sur le dispositif expérimental avec lequel nous testons notre modèle couplé. Les résultats de simulation sont ensuite présentés au Chapitre 5.

Chapitre 4

La campagne de mesures

EM2PAU : dispositif expérimental

et analyse des données

Sommaire

4.1 Présentation de la campagne de mesures EM2PAU . . . 90