Lancement du calcul

  • Lancer le calcul sur 1 seul processeur

Il suffit de taper interFoam et le calcul est lancé. Pour ne pas bloquer un terminal à cause du calcul, et pour pouvoir récupérer plus facilement les infos affichées à l'écran, il est utile de les mettre dans un fichier log grâce à la commande :

interFoam > log &

Le calcul est alors en arrière-plan et on peut continuer à utiliser le terminal. Lorsque le calcul sera terminé, il suffira de regarder le fichier log pour garder une trace des résultats, pour avoir le temps de calcul ... Pour voir l'avancement du calcul :

watch ls -t  :  cette commande actualise le dossier toutes les 2 secondes, ce qui permet de voir les dossiers créés au fur et à mesure.

tail -f log  :  cette commande affiche en direct le fichier log, ce qui permet de voir les informations du calcul en cours.

 

  • Lancer le calcul sur plusieurs processeurs

Certains calculs peuvent être très longs, et cela peut être avantageux de les lancer sur plusieurs coeurs. Pour cela, il faut modifier le fichier decomposeParDict (dans le répertoire system) en choisissant :

   - numberofSubdomains : le nombre de sous-domaine du domaine initial, il correspond au nombres de coeurs disponibles pour le calcul.

  -  la méthode de décomposition, ici simpleCoeffs : le nombre de sous-domaines dans chaque direction est donné par le vecteur n, et comme dans notre cas on a une géométrie 2D, la composante z doit rester égale à 1. Comme les ordinateurs utilisés ont 4 coeurs, on décompose notre domaine en quatre sous-domaines, d'où notre n égal à (2,2,1).

Il faut ensuite lancer la décomposition grâce à :

decomposePar

La distribution entre les processeurs est alors montrée à l'écran (voir image). 4 dossiers sont alors créés (1 par processeur) dans le dossier principal. Les résultats seront alors dans chacun de ces dossiers.

      

Ensuite, le lancement du calcul se fait avec la commande :

mpirun -np 4 interFoam -parallel > log &

On peut voir l'avancement du calcul grâce à la commande tail -f log toujours. A la fin du calcul, les résultats seront dans chaque dossier pour chaque processeurs, il faut alors reconstruire pour avoir le domaine entier :

reconstructPar

Une fois le domaine reconstruit pour chaque instant, on a à nouveau les dossiers résultats pour chaque pas de temps.

 

Une fois le calcul lancé et terminé, il faut faire le post-processing.