OpenFOAM¶
OpenFOAM is the leading free, open source software for CFD, owned by the OpenFOAM Foundation and distributed exclusively under the General Public Licence (GPL). The GPL gives users the freedom to modify and redistribute the software and a guarantee of continued free use, within the terms of the licence.
OpenFOAM v2506¶
Παράδειγμα χρήσης¶
Το script υποβολής της εργασίας θα έχει την ακόλουθη μορφή:
SLURM submission script
#!/bin/bash
#SBATCH --job-name=OpenFOAM-2506-case
#SBATCH --partition=batch
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=9
#SBATCH --time=00:10:00
module load gcc/14.2.0 openmpi/5.0.5 openfoam/2506
source $OPENFOAM_ROOT/etc/bashrc
cd ~/cavity
blockMesh
decomposePar -force
srun icoFoam -parallel
reconstructPar
Στο $HOME μας στο login node, δημιουργούμε ένα νέο φάκελο όπου τοποθετούμε τα αρχεία εισόδου και το script υποβολής της εργασίας, έστω openfoam-2506-case.sh.
# mkdir openfoam-2506-case
# cd openfoam-2506-case
Θα χρησιμοποιήσουμε ένα από τα παραδείγματα (tutorials) της εφαρμογής. Για το σκοπό αυτό διαμορφώνουμε κατάλληλα το περιβάλλον χρήσης και αντιγράφουμε τα δεδομένα εισόδου του παραδείγματος cavity μέσα στο φάκελο:
# module load gcc/14.2.0 openmpi/5.0.5 openfoam/2506
# cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity .
Μέσα στο φάκελο system επιπλέον τοποθετούμε το αρχείο εισόδου decomposeParDict.
Η υποβολή της εργασίας γίνεται με την εντολή sbatch <filename.sh> ως εξής:
# sbatch openfoam-2506-case.sh
Παρακολουθούμε με την εντολή squeue την εξέλιξη της εργασίας.
Eφόσον η εργασία έχει εκκινήσει μπορούμε να ελέγχουμε την πρόοδο της επίλυσης μέσω των αρχείων εξόδου. Π.χ.:
# tail -f slurm-*.out
Για να προσδιορίσετε ποια modules απαιτούνται για να χρησιμοποιήσετε την επιθυμητή έκδοση του OpenFOAM, μπορείτε να εκτελέσετε την ακόλουθη εντολή:
# module spider openfoam/<version>
Περισσότερες πληροφορίες για τη χρήση του module spider μπορείτε να βρείτε εδώ
OpenFOAM 7¶
Παράδειγμα χρήσης¶
Στην συστοιχία είναι διαθέσιμη η έκδοση OpenFOAM 7, μέσω Apptainer container.
Αρχικά, πρέπει να ενεργοποιήσετε το Apptainer container στο οποίο είναι εγκατεστημένο το OpenFOAM 7, εκτελώντας τις παρακάτω εντολές:
# module load openfoam-org/7-ubuntu18
# openfoam7_shell
Στο $HOME σας στο login node, δημιουργήστε ένα νέο φάκελο στον οποίο θα πρέπει να μεταφέρετε τα αρχεία εισόδου της εργασίας σας.
# mkdir openfoam-7-case
# cd openfoam-7-case
Για το παράδειγμα θα χρησιμοποιήσουμε ένα από τα παραδείγματα (tutorials) της εφαρμογής. Για το σκοπό αυτό διαμορφώνουμε κατάλληλα το περιβάλλον χρήσης και αντιγράφουμε τα δεδομένα εισόδου του παραδείγματος cavity μέσα στο φάκελο:
# cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity .
Στη συνέχεια, μπορείτε να εκτελέσετε κανονικά τις εντολές του OpenFOAM:
# blockMesh
# decomposePar
# icoFoam
# reconstructPar
Για έξοδο από το container μπορείτε να εκτελέσετε την εντολή:
# exit