Ajout de l'équation de température

Dans ce qui suit, nous nous inspirerons essentiellement des conseils donnés sur le site suivant (en établissant toutefois une synthèse de ce que nous connaissons également pour ne retenir que ce qui reste le plus utile) :

http://openfoamwiki.net/index.php/How_to_add_temperature_to_icoFoam

 

Aussi, nous nous servirons du cas de la cavité entraînée que nous modifierons : en effet, on mettra la vitesse de la plaque du haut à 0 m/s, et nous verrons par la suite comment imposer des températures sur les faces voulues.

Il s'agit d'une modification apportée sur un cas simple, pour un solveur assez simple donné. Ce genre d'ajout peut être bien plus difficile à adapter suivant le solveur employé. Néanmoins, même dans ce cas simple, des modifications non négligeables doivent être apportées au niveau des fichiers sources du répertoire copié.

 

Création du répertoire source modifiable

 

Tout d'abord, il faut se placer au niveau du répertoire run/ dernièrement établi, et y créer le répertoire applications/solvers, comme c'est indiqué par les commandes ci-dessous :

> cd /work/username/OpenFOAM/username-{WM_PROJECT_VERSION}/run

> mkdir -p applications/solvers

> cd  applications/solvers

Puis il faut aller chercher dans les fichiers sources le solveur voulu à copier dans le répertoire solvers/. Par exemple, on copiera le répertoire icoFoam/ sous le nom de exe_icoFoam/, comme c'est indiqué dans les lignes suivantes, pour le cas particulier de la configuration des ordinateurs à l'ENSEEIHT :

> cp -r /mnt/hmf/OpenFOAM/OpenFOAM-2.1.0/applications/solvers/incompressible/icoFoam exe_icoFoam
 

Puis, en se plaçant dans exe_icoFoam/, on trouve divers fichiers d'extension .C, .H, et un dossier Make/. Il convient tout d'abord de détruire comme il suit :

> rm icoFoam.dep

et de renommer comme il suit :

> mv icoFoam.C exe_icoFoam.C

Puis, dans le dossier Make/ :

> rm -rf linuxGccDP0pt

De plus, il ne faut pas oublier de changer dans le fichier files les lignes avec 'icoFoam' en :

exe_icoFoam.C

EXE = $(FOAM_USER_APPBIN)/exe_icoFoam

Finalement, on peut vérifier que l'installation renommée marche à l'aide de la commande :

> wmake

Aussi, si tout a bien fonctionné, un fichier nommé exe_Foam devrait apparaître au niveau du répertoire suivant :

> ls $FOAM_USER_APPBIN

 

 

Modifications à apporter au niveau du code source

 

Une fois que l'on a  effectué ces modifications, il convient à présent d'ajouter les champs de température au coeur même des équations à résoudre. Ainsi, en ouvrant le fichier createFields.H, on aura :

                                               

Puis, après avoir ajouté la grandeur température à l'ensemble des grandeurs résolues, on implémente désormais la nouvelle équation à résoudre en ouvrant le fichier exe_icoFoam.C et en procédant comme indiqué ci dessous :

                               

 

Attention ! Ce travail terminé, enregistrer les résultats, et exécuter dans exe_icoFoam/ la commande  :

> wmake

Si aucun message d'erreur apparaît, on peut procéder aux modification au sein du fichier du cas étudié.

 

Modifications à apporter au sein du fichier du cas étudié

 

Il est tout d'abord fortement recommandé de copier le cas étudié, par exemple dans notre cas le dossier cavity/ qui se trouve dans usernamel/OpenFOAM/username-2.1.0/run/tutorials/incompressible/icoFoam ("username-2.1.0" car la version d'OpenFOAM utilisée est ici 2.10), dans le répertoire run/ de l'arborescence de fichiers manipulée, et peut-être de le renommer cavity_T/

Puis, en se plaçant dans cavity_T/, aller dans le répertoire constant/ et ajouter les lignes suivantes dans le fichier transportProperties :

DT            DT [0 2 -1 0 0 0 0] 0.002;

Cette ligne s'ajoute à la suite de la ligne sur la viscosité cinématique, avec la même structure. Pour l'instant, la valeur numérique importe peu.

Enfin, aller dans le répertoire 0/ et créer le fichier T comme il suit :

                                            

Remarque : il est important de bien retrouver les noms des faces définies dans le fichier blockMeshDict. Quand aux conditions limites, nous avons ici repris l'exemple qui est communément répété.

Enfin, en allant dans le répertoire system/, il y a deux dernier fichiers à modifier. 

Le fichier fvSchemes de la manière suivante :

Et le fichier fvSolution :

 

 

Quand tout ce travail est fini et sauvegardé, il suffit de se placer dans cavity_T/, et d'exécuter les commandes :

> source /mnt/hmf/OpenFOAM/OF21.sh                 (si cela n'a pas déjà été fait)

> blockMesh                                                                 (juste pour être sûr)

> exe_icoFoam

Si aucun message d'erreur apparaît, il doit être possible d'observer les résultats obtenus via paraFoam.