Primer prikazuje nastanek vrtinčenja ot von Karmanove nestabilsnoti. Geometrija je cev z krožno oviro. Primer obravnavamo dvodimenzionalno.
- Odpremo terminalsko okno in zaženemo:
$ single
Job XXXX is submitted to default queue - interactive.
Waiting for dispatch ...
Starting on cnXX
$ module load elmergui
Loading qwt/6.0.2
Loading vtk/5.10.1
Loading ftgl/2.1.3-rc5
Loading qt/4.8.4
Loading paraview/3.98
Loading opencascade/6.5.5
Loading openmpi/1.8.1
Loading elmer/7.0
Loading elmergui/7.0
$ ElmerGUI
- V meniju programa ElmerGUI izberemo:
File -> Open
circle_in_channel.in2d
- Povečamo gostoto mreže
Mesh->Configure
nglib / Max H: 0.02
Mesh
Remesh
Ko imamo mrežo, začnemo z definicijo modela, - Pripravimo ploskve za določitev robnih pogojev.
Kot robni pogoj želimo nastaviti temperaturo na notranjem robu širšega dela valjastih odprtin. To površino definira šest ploskev, zato moramo izbrati na sliki rdeče prikazane površine (sestavljene so iz šestih ploskev).
Prvo ploskev izberemo z dvojnim klikom nanjo, za izbor naslednjih pa moramo držati tipko CTRL in hkrati izvesti dvojni klik na izbrani ploskvi. Če izberemo napačno ploskev ponovimo dvojni klik na tej ploskvi (ob hkratnem držanji tipke CTRL). Tipka CTRL omogoča dodajanje ali odvzemanje predhodno izbranih ploskev k izboru. Če objekta ni pravilo orientiran, ga med izborom lahko tudi rotiramo, kot je opisano zgoraj.
Ko izberemo vse ploskve robnih pogojev nadaljujemo z:
Mesh -> Unify Surface
- Podati moramo še podatke modela. Pri tem po vrsti (od vrha proti dnu) sledimo navedbam v padajočem meniju ‘Model’. V nadaljevanju podajamo korake našega priemra:
- Definiramo splošne nastavitve:
Model -> Setup
Simulation Type = Transient
Steady state max. Iter =1
Time Stepping Method = bdf
BDF Order = 2
Time Step Intervals = 200
Time Step Sizes = $ 8/200
Apply
- Definicija enačb:
Izveremo relevantne enačbe in parametre. V našem primeru uporabimo dva solverja (v Elmerju imenovana Equations). Za tekočino uporabimo solver za pretk tekočine in solver za pretok toplote, za železno cev pa le solver za pretok toplote.
Ker poznamo mrežo in vemo, da tekočino predstavlja Body 1, cev pa Body 2 bomo tej geomertiji dodelili solverje (Equation) in materialu že ob njihovi definiciji.
Model -> Equation
Add
Name = Navier-Stokes
Apply to Bodies = 1
Izberemo jeziček 'Navier Stokes' in definiramo:
Active = on (tj postavimo kljukico)
Edit Solver Settings
Nonlinear system
Convergence tol. = 1.0e-4
Linear System
Convergence tol. = 1.0e-6
Add
OK (V redu)
Definiramo materiala. Za definicijo materilanih lastnosti vode (sobne temperature) in železa uporabimo knjižnico: :
-
Model -> Material
Add
Material library
Watter – room temperature (izberemo iz menija)
Apply to bodies = Body 1 (postavimo kljukico)
Add
New
Material library
Iron generic (izberemo iz menija)
Apply to bodies = Body 2 (postavimo kljukico)
Add
OK
OK
- Definiramo obtežbo:
Model -> Body force
Add
Izberemo jeziček Heat Equation
Name = Heating
Head Source = 0.01
Apply to bodies = Body 1 (postavimo kljukico)
Add
OK (V redu)
- Definiramo robne pogoje:
Model -> Boundary condition
Add
Name = HotInFlow
Heat Equation
Temperature = 350.0
Navier-Stokes
Velocity 1 = 0.0
Velocity 2 = 0.0
Velocity 3 = Variable Coordinate; Real MATC "100.0*(1.0e-4-tx(0)^2-tx(1)^2)"
Add
New
Name = Outflow
NaviewStokes
Use normal-tangential coordinate system = on
Velocity 2 = 0.0
Velocity 3 = 0.0
Add
New
Name = NoSlip
Navier-Stokes
NoSlip Wall BC = on
Add
New
Name = Troom
Heat Equation
Temperatute = 300.0
Add
OK
OK
OK
OK (V redu)
- Za pomoč pri določivi vhodne ploskve aktiviramo kompas:
View -> Compas = on (odkljukamo opcijo v meniju View)
Vhodna ploskev naj bo tista tatere normala kaže vzporedno z osi.:
- Za določitev robnih pogjev s pomočjo grafičnega vmesnika
Model -> Set boundary properties (izberemo oz odkljukamo opcijo)
Dvokiknemo na površino vhodne linije, odpre se nam okno za izbiro robnih pogojev. Pod ‘Boundary condition’ izberemo ‘Inlet’.
Dvokiknemo na površino izhodne linije, odpre se nam okno za izbiro robnih pogojev. Pod ‘Boundary condition’ izberemo ‘Outlet’.
- Generiramo vhodno datoteko za program ‘ElmerSolver’:
Sif -> Generate
Nastalo datoteko si lahko ogledamo z izbiro iz menija:
Datoteko lahko nato uredimo, ali zapustimo z ukazom ‘File->Quit’.
- Shranimo projekt (Podatke projekta lahko shranimo v poljubni vazi vnosa):
File -> Save Project
Za shranjevanje projekta izberemo poljuben direktorij (npr. poddirektorij 'ProjectFiles').
Podatke projekta prikličemo z: File -> LoadProject in izberemo dorektorij, kamor smo podatke shranili.
- Izračunamo primer:
Run -> Start solver
.
- Za ogled rezultatov poženemo postprocesor:
Run -> postprocesor
- Da si v postprocesorju lahko ogledamo vse rezultate moramo ponovno odpreti datoteko (File-Open). Ob pritisku na gumb All se naložijo izračuni vseh časovnih korakov. Video simulacije si nato lahko ogledamo z pritiskom gumba Loop v meniju Edit – Timestep Control. V nadaljevanju prikazujemo le distribucijo hitrosti pri časovnih korakih 20, 60, 100, 150 in 200.:
Časovni korak 20.
.
Časovni korak 60.
,
Časovni korak 100.
Časovni korak 150.
Časovni korak 200.