Tuto Couplage

On va maintenant essayer le couplage entre Code Saturne et Syrthes. On va pour cela suivre le tutoriel suivant: http://code-saturne.org/cms/sites/default/files/file_attach/Tutorial/version-3.0/Three-2D-disks.pdf

Ce problème correspond à une convection issue d'un écoulement d'air dans une gaine autour de 3 câbles électriques.

On utilisera les maillages solides et fluides déjà créés avec Simail : 3rond2d_fluide.des et 3rond2d.des

 
 

La géométrie solide est représentée ci-contre :

Dans un premier temps on va créer un répertoire 3disks2D qui contiendra l'ensemble de notre étude. Pour cela on utilise la commande : saturne_create -s 3disks2D -c fluid --syrthes solid

Il faut copier le maillage solide dans le répertoire solid et le maillage fluide dans le répertoire MESH.

On réalise d'abord l'étude avec Syrthes seul. On tape donc la commande syrthes.gui après avoir sourcer Syrthes dans le répertoire solid.

On choisit 2D_cart comme dimension du problème car notre maillage solide a été construit en 2D pur. On choisit donc ce maillage en tant qu econduction mesh. Le logiciel Syrthes se charge alors de transformer le .des en .syr . De plus, Syrthes crée un fichier 3rond2d.syr_desc qui lie les groupes créés avec la mailleur aux références de Syrthes auxquels ils correspondent. On obtient les correspondances suivantes :

- la référence 1 correspond au disque en haut

- la référence 2 correspond au disque en bas à gauche

- la référence 3 correspond au disque en bas à droite

- la référence 4 correspond à la gaine

On donne un nom aux fichiers résultats, puis on passe à l'onglet Conduction. On choisit une température initiale de 20°C partout (la référence -1 indique tous les volumes et toutes les faces).

Il faut maintenant configurer les conditions limites, on impose un échange de chaleur en imposant une température extérieure (90°C) et un coefficient de convection entre le fluide et le solide (1000 W/m²/°C). On impose cette condition aux références 2, 5 et 8 (ce qui correspond aux faces internes des disques).

On décrit ensuite les propriétés physiques des solides. Si ces solides présentent la même masse volumique (7700 kg/m³) et la même capacité calorifique (460 W/m/°C) on va considérer des propriétés différentes:

- le disque 1 et la gaine 4 sont isotropiques avec une conductivité isotropique de 25 W/m/°C

- le disque 2 est orthotropique avec des conductivités orthotropiques de 25 W/m/°C pour kx et 5 W/m/°C pour ky

- le disque 3 est anisotropique avec des conductivités de 25 W/m/°C pour kx, 5 W/m/°C pour ky et un angle de 45°

On passe directement à l'onglet de contrôle du temps où on impose 100 pas tous les 10 secondes.

Dans l'onglet qui définit l'écriture des résultats on peut suivre l'évolution de température au niveau d'un point (ici on regarde celui de coordonnées (0.003, -1,2) qui appartient au disque 1 tous les 10 pas de temps). On définit ensuite que les résultats intermédiaires seront écrits tous les 25 pas de temps.

On conserve un processeur pour le calcul, on donne un nom au listing. Ce fichier listing nous permettra de suivre pas par pas l'évolution du calcul et donc notamment de comprendre les erreurs qui peuvent subvenir. On clique sur Run SYRTHES.

On visionne avec Paraview le champs de température final :

On observe bien les différences physiques des disques (isotropique, orthotropique et anisotropique) lorsque l'on impose un flux au centre.

On passe maintenant à l'étude avec Code_Saturne seul. Dans le répertoire 3disks2D on utilise la commande ./SaturneGUI

Nous commençons donc une nouvelle étude Code Saturne. Au moment d'enregistrer cette étude il faudra penser à lui donner un nom terminant par .xml afin de pouvoir l'éditer plus tard.

La première chose à faire est d'importer le maillage 3rond2d_fluide.des, qu'il faut ensuite vérifier (check mesh).

Dans les modèles thermodynamiques, on va considérer un écoulement instationnaire puis on laissera off pour les autres modèles de cette page. On va ajouter un scalaire de température.

Les propriétés de fluide seront celles de l'air, on choisira une expression de la masse volumique qui évoluera en fonction de la température : rho = p0 / (287*(TempC+213) ) et des constantes pour la viscosité dynamique (1.38e-5 Pa.s), la chaleur spécifique (1017.24 J/kg/K) et la conductivité thermique (0.02495 W/m/K).

On règle l'effet de la gravité (ici -9.81 m/s² pour gY).

On initialise le domaine (température initiale à 20°C et vitesse nulle partout).

Pour faire apparaître les limites de notre domaine on sélectionne check_mesh.log puis on définit la zone autour des disques comme un wall  et la zone extérieure comme symmetry.

On impose un échange de chaleur sur le wall avec une température de 30°C et un coefficient d'échange de 10 W/m².K afin de représenter les disques qui chauffent.

Le calcul sera effectué avec 100 itérations et un pas de temps de 0.5s.

Dans la partie Output control, on pensera à supprimer l'écriture des résultats au niveau des conditions limites. Si on ne le fait, on ne pourra pas visualiser en post-traitement les champs de température à l'intérieur du domaine. De plus, on imposera l'écriture des résultats tous les 25 pas de temps.

On peut maintenant lancer les calculs Start calculation.

On visualise le champs de température final :

Le champs de vitesse final :

On voit bien que la non-uniformité de ces deux champs est due à la prise en compte de la gravité. Au niveau de la température, on voit bien que les domaines autour des fluides sont chauffés. Quant à l'évolution de la vitesse, elle est calculé avec un modèle turbulent de type k-epsilon.

Le but est maintenant de coupler ces deux logiciels afin de ne pas avoir à imposer les flux d'échange respectivement sur Syrthes et Code Saturne.

Dans un premier temps on ouvre notre étude syrthes. On coche la case Conjugate Heat Transfer puis on va dans la partie du même nom. On inscrit alors Code_SaturneCFD puis la référence de la zone où l'on souhaite utiliser le couplage.

Il est indispensable d'imposer le même nombre d'itérations ainsi que la même durée de pas pour les deux logiciels à coupler : 5000 pas et 0.5 secondes.

Passons maintenant à l'étude Code Saturne, on va dans la partie Conjugate Heat Transfer où l'on prend une verbosité de 0, on écrit 1 pour la visualisation, on projette sur l'axe Z et enfin on définit notre zone de couplage (il faut la même que pour Syrthes).

Dans les conditions limites on change la définition du wall, on garde un type exchange coefficient mais on laisse 0 à la valeur de la température et 0 pour le coefficient d'échange afin qu'il puisse y assimiler le chauffage par les disques.

Enfin on définit les mêmes pas de calcul que pour Syrthes.

Vient maintenant le moment d'utiliser le script appelé resu_coupling qui s'est crée au moment de la création du dossier 3disks2D. On édite ce script en choisissant le nombres de processeurs utilisés pour le couplage (4 pour Code Saturne et 2 pour Syrthes). Ensuite on met le nom de notre étude syrthes (le fichier .syd) à droitre de 'script' sous 'solid'. Enfin on rajoutera '-v ens' après opt afin que les résultats soient en format EnSight (et donc lisible par Paraview).

Il suffit maintenant de taper la commande runcase_coupling pour lancer le calcul.

Voici l'évolution du champs de température :

On observe qu'au départ le fluide et les 3 disques sont à 20°C puis on voit bien les flux de chaleur qui proviennent du centre des disques. Le fluide (ici l'air) est bien réchauffé par cette propagation thermique, on en déduit donc que le couplage a bien opéré.

Il est donc bien possible de coupler Code Saturne et Syrthes grâce à ce script.