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