1. Naložimo modul za OF:
module load openfoam
source $foamDotFilecd $FOAM_RUN/tutorials/multiphase/interFoam/laminar/
Preskočimo osnovni primer in nadaljujemo s primerom za gostejšo mrežo:
mkdir damBreakFine cp -r damBreak/0 damBreakFine cp -r damBreak/system damBreakFine cp -r damBreak/constant damBreakFine cd damBreakFine/
2. Spremenimo število celic na stranicah posameznih blokov v blockMeshDict datoteki:
gedit constant/polyMesh/blockMeshDict
Spremenimo vrednosti pri blocks (v srednjih in zadnjih oklepajih) na:
46 10 1) simpleGrading (1 1 1) hex (2 3 7 6 14 15 19 18) (40 10 1) simpleGrading (1 1 1) hex (4 5 9 8 16 17 21 20) (46 76 1) simpleGrading (1 2 1) hex (5 6 10 9 17 18 22 21) (4 76 1) simpleGrading (1 2 1) hex (6 7 11 10 18 19 23 22) (40 76 1) simpleGrading (1 2 1) );blocks ( hex (0 1 5 4 12 13 17 16) (
Shranimo, zapremo.
Naredimo mrežo:
blockMesh
3. Inicializiramo začetne vrednosti za fazni delež:
cp 0/alpha1.org 0/alpha1 setFields
4. Nastavimo vrednosti za paralelno računanje, ki so zapisane v decomposeParDict datoteki:
gedit system/decomposeParDict
Če želimo računati na 24 procesorjih, potem nastavimo
numberOfSubdomains 24;
Glede na to spremenimo vrednosti n pri simpleCoeffs, da je nx*ny*nz=24:
simpleCoeffs
{
n ( 6 4 1 );
delta 0.001;
}Shranimo, zapremo.
Pripravimo mrežo za paralelno računanje:
decomposePar5. Simulacijo se preko LSF požene z ukazom:
bsub -n 24 mpirun interFoam -parallel
Še nekaj uporabnih ukazov: bjobs nam prikaže trenutni status posla, bkill ga zapre, bhist pokaže pretekle podatke o poslu, bpeeks pa prikaže trenutni output posla.
6. Ko je simulacija zaključena (izračunana ali prekinjena), LSF pošlje mail, ki ga preberemo z
mailx
Mail vsebuje podatke o LSF in output iz OF (kar se je prej zapisovalo v log datoteko). Sporočila zbrišemo z d (* za vsa). Če program mailx zaključimo z exit, potem se to ne izvede, če pa s quit, potem se sporočila zbrišejo.
7. Za postprocesiranje rezultatov simulacije uporabimo ParaView. Najprej moramo združiti rezultate posameznih podpodročij:
reconstructPar
Nato poženemo ParaView, za kar se v OF uporabi ukaz:
paraFoam
Interaktivno nato izberemo, katere podatke želimo uvoziti, nato izbiro potrdimo z Apply. Podrobnejša navodila za uporabo ParaView-a so vključena v OF User Guide.
Če imamo pripravljene datoteke za mrežo in paralelno procesiranje, lahko vse ukaze zapišemo v skripto skripta:
#! /bin/bash
cd damBreakFine/
blockMesh
cp 0/alpha1.org 0/alpha1
setFields
decomposePar
bsub -n 24 mpirun interFoam -parallelCelotno simulacijo poženemo z enim samim ukazom:
bsub < skripta