Open Foam sur centOS
Logo Open FOAM
Beaucoup de clusters de calculs scientifiques (HPC) sont basés sur CentOS ou ses dérivés (rocks cluster, par exemple). CentOS est elle-même une distribution dérivée de Red Hat. C’est pourquoi, je me suis retrouvé à installer Open Foam sur cet environnement.
Open Foam (http://www.openfoam.com) est un solveur numérique d’équations aux dérivées partielles très orientée Mécanique des fluides. Ce denier utilise une formulation Volume fini et le solveur AMG. Ce dernier a des outils complémentaires, comme un Paraview orienté Open Foam.
Les explications originales peuvent être trouvées ici : http://www.openfoam.com/download/source.php
Les explications données ci-dessous marchent aussi sur Debian/Ubuntu pour l’installation depuis les sources (mais il existe un paquet pour ces distributions).
Installer Open Foam
Attention, il faut une version de Gcc supérieure à la 4.3.
On commence par chercher dans la logithèque logicielle flex pour installer : flex-2.5.-41.6 (sur Debian/Ubuntu : sudo apt-get install flex).
On fait de même avec binutils-dev (sur Debian/Ubuntu : sudo apt-get install binutils-dev).
Ensuite:
# On crée le répertoire qui va bien
cd /opt
mkdir OpenFOAM # Attention aux majuscules
cd OpenFOAM
# On charge les sources
wget http://downloads.sourceforge.net/foam/OpenFOAM-1.7.1.gtgz?use_mirror=mesh
# Télécharge 37 Mo
wget http://downloads.sourceforge.net/foam/ThirdParty-1.7.1.gtgz?use_mirror=mesh
# Télécharge 53 Mo
# On dépaquette les sources
tar xzf OpenFOAM-1.7.1.gtgz
tar xzf ThirdParty-1.7.1.gtgz
Maintenant, on ajoute les variables d’environnement:
gedit ~/.bashrc
et on ajoute à la fin du fichier
# Open Foam source
. /opt/OpenFOAM/OpenFOAM-1.7.1/etc/bashrc
#Attention aux "." suivi d'un espace
Il faut modifier le fichier /opt/OpenFOAM/OpenFOAM-1.7.1/etc/bashrc et décommenter la ligne (enlevez le #):
foamInstall=/opt/$WM_PROJECT
Ensuite recharger le .bashrc.
source ~/.bashrc
Ensuite, il faut vérifier la compatibilité de notre système, en lançant :
bash OpenFOAM/OpenFOAM-1.7.1/bin/foamSystemCheck
Compiler OpenFOAM :
cd $WM_PROJECT_DIR
./Allwmake
wmake est situé dans le répertoire /opt/OpenFOAM/OpenFOAM-1.7.1/wmake/wmake. La compilation est très longue.
Si vous êtes au boulot, pour patienter:
Installer Urban Terror et y jouer!!!
Après la compilation, vérifiez l’installation :
cd /opt/OpenFOAM/OpenFOAM-1.7.1/bin
./foamInstallationTest
Il est possible de compiler en parallèle, mais je n’ai pas testé.
Ensuite on va dans Thir-Party et on fait de même :
./Allwclean
./makeParaview
./Allwmake
cd $FOAM_UTILITIES/postProcessing/graphics/PV3FoamReader
./Allwclean
./Allwmake
Lancer un cas test
cd ~
mkdir -p $FOAM_RUN
cp -r $FOAM_TUTORIALS $FOAM_RUN
cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavity
blockMesh
icoFoam
paraFoam
Blockmesh fait le maillage, icoFoam la résolution du cas test et paraFoam lance le Paraview modifié pour OpenFOAM.
Quelques images résultats.