Μετάβαση στο περιεχόμενο

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.

Home Page

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