ANSYS FLUENT je programska oprema za simulacije dinamike fluidov. FLUENT ima napredno solver tehnologijo katera omogoča hitre in natančne simulacije. FLUENT vsebuje fizikalne modele za širok spekter uporabe kot so:
- turbulentni tokovi,
- prenos toplote,
- kemična mešanja ,
- in zgorevanja.
Prav tako, uporabniško definirane funkcije (UDF) v FLUENT-u omogočajo izvajanje novih modelov uporabnika in obsežno prilagajanje obstoječih. FLUENT prihaja z Ansys Workbench, ki prav tako vsebuje geometrijo graditelja, mreže graditelja in Ansys CFD-Post za analizo z naprednimi po obdelavo orodji.
Paket sestavljajo trije programi:
- Gambit,
- Tgrid,
- in Fluent.
Gambit
Namenjen je pripravi geometrijskega modela in blok-strukturiranih heksaedričnih ali enostavnih tetraedričnih mrež. Uporabimo lahko "bottom up" pristop kjer geometrijo opišemo s koraki: točke -> krivulje -> ploskve -> volumni. Drugi pristop je t.i. "top down", kjer geometijski model ustvarimo z boolovimi operacijami med osnovnimi telesi (kvader, valj, krogla, ...). Možen je tudi uvoz geometrije iz tretjih programov (Pro Engineer, Catia, ...) v enem izmed standarnih formatov.
Program poženemo v terminalskem oknu z ukazom:
gambit
Dokumentacija:
/usr/local/Fluent.Inc/gambit2.4.6/help/index.htm
Tgrid
Program je namenjen generaciji zahtevnih 3D računskih mrež. Osnova je površinska mreža narejena v Gambitu ali geometrija v enem izmed standarnih formatov (STL, IDEAS, PATRAN, ... ). Izbiramo lahko med avtomatskim in ročnim mreženjem. Na voljo so razni tipi celic: tetraedri, prizme, piramide, heksaedri.
Program poženemo v terminalskem oknu z ukazom:
tgrid
Dokumentacija:
User's Guide: /usr/local/ansys/v130/tgrid/tgrid13.0.10/help/pdf/tgrid-ug.pdf
Tutorial Guide: /usr/local/ansys/v130/tgrid/tgrid13.0.10/help/pdf/tgrid-tg.pdf
Fluent
Program je namenjen numerični simulaciji toka tekočine. V enem programu so združeni
- predprocesor - izbira viskoznega modela, definicija robnih pogojev, izbira solverja, nastavitev parametrov simulacije
- solver - reševanje enačb
- postprocesor - analiza rezultatov: hitrostno polje, konture, izoploskve, grafi, animacije, ...
Dokumentacija:
Getting Started Guide: /usr/local/ansys/v130/commonfiles/help/en-us/pdf/flu_gs.pdf
User's Guide: /usr/local/ansys/v130/commonfiles/help/en-us/pdf/flu_ug.pdf
Tutorial Guide: /usr/local/ansys/v130/commonfiles/help/en-us/pdf/flu_tg.pdf
Running FLUENT under LSF: /usr/local/ansys/v130/commonfiles/help/en-us/pdf/flu_lsf.pdf
ANSYS FLUENT poganjamo na dva načina: interaktivno (interactive mode) in v ozadju (batch mode). Prvi način uporabimo za pripravo simulacije, krajših oz. testnih izračunov ter analizo rezultatov. Drugi način uporabimo za poganjanje dolgotrajnih izračunov.
Interactive mode
Po prijavi v nadzorno vozlišče z ukazom v terminalskem oknu
single
od nadzornika računskih virov zahtevamo interaktivno sejo na enem procesorju. Ko nam sistem dodeli prosto vozlišče, poženemo Fluent Launcher z ukazom:
fluent
Pojavi se okno, kjer izberemo solver (serijski ali paralelni), število paralelnih procesov (jeder), natančnost računanja (enojna ali dvojna). Izračunov ne poganjamo direktno na računskih vozliščih, ampak preko nadzornika računskih virov LSF, zato obkljukamo opcijo Use Job Scheduler.
Po potrditvi se požene glavni fluent proces, kjer nastavimo parametre simulacije in poženemo računanje.
Rezultat izračuna - tokovnice (pathlines) za ventilator v cevi (Zlatko Rek, LFDT)
Batch mode
Po prijavi v nadzorno vozlišče z ukazom v terminalskem oknu
bsub -n 64 -a fluent fluent 3d -g -t64 -pib -i ukazi.jou -ssh -lsf
pošljemo posel nadzorniku računskih virov, ki ga razporedi po prostih vozliščih.
Pri čemer pomeni:
bsub ÷ pošiljanje batch posla LSF-ju
-n 64 ÷ uporabo 64 jeder
-a fluent ÷ zagotavlja pravo verzijo programov echkpnt in erestart
fluent 3d ÷ verzija fluent solverja
-g ÷ brez grafike
-t64 ÷ 64 paralelnih procesov
-pib ÷ uporaba infiniband povezave
-i ukazi.jou ÷ datoteka z ukazi fluentu
-ssh ÷ uporaba ssh protokola za prijavo na vozlišča
-lsf ÷ pove fluentu da se izvaja pod nadzorom LSF-ja
Če poganjamo dolgotrajno simulacijo je primerno uporabiti še bsub opcijo
-k "checkpoint_directorij duration"
s katero na vsakih duration minut LSF pošlje checkpoint signal fluentu. S tem se izognemo izgubi podatkov ob nepričakovani ustavitvi ali sesutju sistema, saj lahko izračun nadaljujemo od zadnjega checkpointa.
Če želimo preizkusiti delovanje batch simulacije, lahko uporabimo testni primer podatkovne in ukazne datoteke:
/opt/lsf/gui/lsf/7.0/plugin/lsf/test-cases/Fluent.Inc/fluent-test.cas.gz
/opt/lsf/gui/lsf/7.0/plugin/lsf/test-cases/Fluent.Inc/fluent-test.jou
Primer numerične simulacije separacije dvofaznega toka v mini razdelilniku (Jurij Gregorc, LFDT).
Vprašanja in odgovori
Q1: Nisem se sicer poglabljal v ukaz, vendar man page za blaunch pravi: "You cannot run blaunch directly from the command line."
Sicer pa tudi s tem ukazom naletim na težave:
Warning: Permanently added '10.0.2.157' (RSA) to the list of known hosts.
jmenccxf@10.0.2.157's password:
<>
~/>module load ansys
Loading ansys/13.
A1: Stikala za fluent solver:
FLUENT_SSH=blaunch ...spremenljivko nastavi modul ansys
MPI_REMSH=blaunch ...spremenljivko nastavi modul ansys
-pib ...infiniband, privzeto - lahko izpustiš
-mpi=hp|intel ...privzeto hp - lahko izpustiš
-ssh ...MPI uporablja ssh oz. FLUENT_SSH med vozlišči
-lsf ...izvajanje checkpointing-a pod nadzorom LSF
S preloga submitaš v batch načinu z ukazom:
bsub -n 8 -J flut 'fluent 3ddp -g -t8 -ssh -i input >out.txt 2>&1'
Daljše posle lahko sproti shranjuješ z LSF checkpointing-om (na vsako periodo v minutah). Dodaš še bsub
stikala -a, -k in fluentu še -lsf:
bsub -a fluent -k "chkpdir [perioda]" ... 'fluent 3ddp -lsf ...'
Ročno lahko checkpointing sprožiš z LSF ukazi:
bchkpnt ...shrani izračun in nadaljuj
bchkpnt -k ...shrani izračun in prekini
brestart ...nadaljuj izračun iz chkpdir