Open Foam sur centOS

Logo Open FOAM

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.

Le maillage

Le maillage

Vecteurs vitesse

Vecteurs vitesse


Vus : 971
Publié par Boutor : 56