Programski paket ANSYS Fluent

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:

  1. Gambit,
  2. Tgrid,
  3. 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.

Gambit

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.

Tgrig

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.

Fluent Launcher

 

Po potrditvi  se požene glavni fluent proces, kjer nastavimo parametre simulacije in poženemo računanje.

Fluent

 

Rezultat izračuna - tokovnice (pathlines) za ventilator v cevi (Zlatko Rek, LFDT)

Pathlines

 

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).

Flow separation

 

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