OpenFOAM¶
Το OpenFOAM αποτελεί ένα λογισμικό ανοιχτού κώδικα για την Υπολογιστική Ρευστοδυναμική (CFD) και διανέμεται αποκλειστικά υπό τη Γενική Άδεια Δημόσιας Χρήσης (GPL). Η προαναφέρουσα άδεια παρέχει στους χρήστες την ελευθερία τροποποίησης και αναδιανομής του λογισμικού, καθώς και την εγγύηση για συνεχή ελεύθερη χρήση, σύμφωνα με τους όρους της άδειας.
Σύνδεση στο Nefeli Cluster
Πριν από οποιαδήποτε ενέργεια, θα χρειαστεί να συνδεθείτε στο Nefeli cluster. Οι οδηγίες σύνδεσης είναι διαθέσιμες στο ακόλουθο εγχειρίδιο.
OpenFOAM v2506¶
Παράδειγμα χρήσης¶
Το script υποβολής της εργασίας θα έχει την ακόλουθη μορφή:
SLURM submission script
#!/bin/bash
#SBATCH --job-name=OpenFOAM-2506-case
#SBATCH --partition=highcpu
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=9
#SBATCH --time=00:10:00
module load gcc/15.2.0 openmpi/5.0.8
module load openfoam/2506
source $OPENFOAM_ROOT/etc/bashrc
# Copy cavity example case
# cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity .
cd cavity
blockMesh
decomposePar -force
mpirun -np $SLURM_NTASKS icoFoam -parallel
reconstructPar
Στο $HOME μας στο login node, δημιουργούμε ένα νέο φάκελο όπου τοποθετούμε τα αρχεία εισόδου και το script υποβολής της εργασίας, έστω openfoam-2506-Nefeli.sh.
# mkdir openfoam-2506
# cd openfoam-2506
Θα χρησιμοποιήσουμε ένα από τα παραδείγματα (tutorials) της εφαρμογής. Για το σκοπό αυτό διαμορφώνουμε κατάλληλα το περιβάλλον χρήσης και αντιγράφουμε τα δεδομένα εισόδου του παραδείγματος cavity μέσα στο φάκελο:
# module load gcc/15.2.0 openmpi/5.0.8 openfoam/2506
# cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity .
Μέσα στο φάκελο system επιπλέον τοποθετούμε το αρχείο εισόδου decomposeParDict.
Η υποβολή της εργασίας γίνεται με την εντολή sbatch <filename.sh> ως εξής:
# sbatch openfoam-2506-Nefeli.sh
Παρακολουθούμε με την εντολή squeue την εξέλιξη της εργασίας.
Eφόσον η εργασία έχει εκκινήσει μπορούμε να ελέγχουμε την πρόοδο της επίλυσης μέσω των αρχείων εξόδου. Π.χ.:
# tail -f slurm-*.out