Skip to content

OpenFOAM

OpenFOAM je odprtokodni program CFD z veliko uporabniško bazo iz različnih domenskih področij inženiringa in znanosti, komercialnih ter akademskih organizacij. Vključuje velik nabor funkcionalnosti za reševanje tokov tekočin, ki lahko zajemajo tudi kemične reakcije, turbulenco, prenos toplote, akustiko, mehaniko trdih snovi in drugo.

Licenca

OpenFOAM je brezplačen program, izdan pod licenco GPL v3.

Namestitev:

Različne verzije OpenFOAM so na voljo na gruči kot modul.

module avail OpenFOAM

Izpis:

-------------------------------------------------------------------------------------------------- /ceph/hpc/software/modulefiles --------------------------------------------------------------------------------------------------
   OpenFOAM/v2106

--------------------------------------------------------------------------------------------- /cvmfs/sling.si/modules/el7/modules/all ----------------------------------------------------------------------------------------------
   OpenFOAM/v2106-foss-2021a    OpenFOAM/v2206-foss-2022a    OpenFOAM/8-foss-2020a (D)

Primeri Slurm

Primer skripte SBATCH

Primer uporabe modula, mpirun se uporablja v vzporednih primerih/navodilih:

#!/bin/bash

#SBATCH --job-name=openfoam
#SBATCH --nodes=1
#SBATCH --ntasks=4
#SBATCH --partition=cpu
#SBATCH --output=%j.out
#SBATCH --error=%j.err
#SBATCH --time=00:30:00

module load OpenFOAM/v2206-foss-2022a

export EXAMPLE_PATH=<path_to_your_example>

srun --mpi=pmix_v3 $EXAMPLE_PATH/Allrun

Vizualizacija

Vizualizacija pridobljenih rezultatov je možna s programsko opremo ParaView, na voljo je na gruči kot modul.

module av ParaView

Izpis:

---------------------------------------------------------------------------------------------- /cvmfs/sling.si/modules/el7/modules/all -----------------------------------------------------------------------------------------------
   ParaView/5.4.1-foss-2018b-mpi    ParaView/5.8.0-foss-2020a-Python-3.8.2-mpi    ParaView/5.9.1-foss-2021a-mpi    ParaView/5.10.1-foss-2022a-mpi (D)

Pridobljene rezultate nato s pomočjo ukaza foamToVTK pretvorite v ustrezen format, kar lahko naredite tudi tako, da če ustvarite prazno datoteko <ime>.foam in zaženete spodnjo skripto znotraj projektnega direktorija.

#!/bin/bash

touch foam.foam
module load ParaView Qt5
module unload OpenSSL
paraview foam.foam

Dokumentacija

Demonstracija: