Cas test 2 : Hot Room

Dans le cas suivant, nous exécuterons le cas test du solveur dont nous nous servirons ultérieurement pour notre projet. Il s'agit de buoyantBoussinesqSimpleFoam, et nous testerons le cas de la chambre chaude (hotRoom/).

Aucune modification au niveau des équations du solveur utilisé n'étant requise, nous nous placerons pour cette simulation dans le répertoire buoyantBoussinesqSimpleFoam/, situé au niveau de : tutorials/heatTransfer/. Puis, nous copierons le répertoire hotRoom/ pour ensuite l'exécuter directement (en tapant : > buoyantBoussinesqSimpleFoam).

 

Premières erreurs possibles

Les premières difficultés surviennent lorsqu'un message d'erreur s'affiche expliquant qu'il ne peut trouver le fichier T. Le plus simple pour nous est de copier le fichier T.org situé dans 0/ en T, et éventuellement de modifier certaines valeurs si on le souhaite.

De plus, on s'aperçoit que, au cours de modifications mineures comme un insignifiant changement au niveau du maillage (passage d'un maillage de 20x20x40 à 40x40x80,  par exemple), le calcul divergeait purement et simplement ! Ce problème réside au niveau du pas de temps fixe, que l'on peut ajuster au niveau du fichier controlDict, dans le répertoire system/. Il convient de manière générale de respecter la règle du nombre de CFL (ou nombre de Courant Friedrichs Lewy), qui se résume à :

$ CFL = \frac{U \delta_{t}}{\delta_{x}} $ , et $ CFL < 1$, en tout point.

Avec U étant la norme de la vitesse (principalement suivant la direction $\overrightarrow{x}$),  $\delta_{t}$ étant le pas de temps, et $\delta_{x}$ l'intervalle entre 2 mailles.

 

Réglage de la précision pour la simulation numérique

Aussi, il conviendra pour la suite de choisir une tolérance convenable pour nos calculs. Suivant l'échelle et la précision avec lesquelles on travaille, il peut être bon de modifier le facteur de convergence au niveau des résidus, dans le fichier fvSolution, dans system/, comme c'est indiqué ci dessous :

 

Ici, on prend une précision à 10-6 en guise d'exemple, et parce que c'est ce  qui se prête le plus à nos travaux.

En effet, si la convergence mentionnée est atteinte trop tôt, le calcul s'arrêtera même si l'on a pas atteint le temps physique voulu, ou même si la situation semble continuer à évoluer à l'oeil nu sur paraFoam pour certaines grandeurs physiques. Il est donc important de prêter attention à la précision désirée, mesurable par le biais des résidus obtenus.

 

Comment relancer une simulation à partir d'un instant donné ?

Finalement, dans le cas où une simulation est interrompue trop tôt ou voudrait être poursuivie pour un temps physique plus long, il est assez simple de repartir du dernier temps enregistrer sur OpenFOAM : en effet, il suffit d'ouvrir le fichier controlDict situé dans system/, et de modifier la valeur du 'startTime' pour le faire commencer à la dernière itération enregistrée (c'est le nom du dernier fichier créé dans le répertoire du cas étudié), ainsi que la valeur de 'endTime' pour le faire terminer au temps physique voulu.