Software

FluidPro v.1.0.0

Termodinamička i transportna svojstva fluida

Program je u fazi testiranja

Glavni prozor aplikacije FluidPro sa p–h dijagramom vode i tačkom zadatog stanja
p–h dijagram vode sa izotermama, izentropama i linijama sadržaja pare; tačka stanja sa očitanim vrijednostima

Namjena

FluidPro je desktop program za određivanje termodinamičkih i transportnih svojstava fluida u tehnici — vode i vodene pare, rashladnih fluida, ugljovodonika, tehničkih gasova, nosilaca toplote i vodenih rastvora glikola. Za izabrani fluid program računa stanje iz dvije zadate veličine, pravi tabele zasićenja, izobara i izotermi, i crta termodinamičke dijagrame. Posebna kartica obrađuje vlažan vazduh: stanja, procese u klima komori i Mollierov h–x, odnosno psihrometrijski dijagram.

Svojstva se računaju bibliotekom CoolProp, koja za čiste fluide koristi višeparametarske jednačine stanja eksplicitne po Helmholtzovoj energiji — za vodu formulaciju IAPWS-95 — a za vlažan vazduh model ASHRAE RP-1485. Program je namijenjen projektovanju i provjeri proračuna u KGH, rashladnoj i procesnoj tehnici, kao zamjena za tablice i dijagrame iz literature.

Fluidi

GrupaPrimjeriBroj
Voda i vodena paraH2O (IAPWS-95)1
Rashladni fluidiR134a, R32, R1234yf, R1234ze(E), R410A, R407C, R404A, NH3 (R717), CO2 (R744)43
Ugljovodonicipropan (R290), izobutan (R600a), metan, etilen32
Tehnički gasovivazduh, N2, O2, Ar, He, H2, SO222
Ostali čisti fluidietanol, metanol, aceton, siloksani25
Nestišljive tečnostitermička ulja, nosioci toplote (DowQ, Therminol…)72
Vodeni rastvorimonoetilen glikol (MEG), monopropilen glikol (MPG), LiBr, rasoline — uz zadat udio48

Fluidi se biraju iz liste sa pretragom po nazivu ili oznaci (npr. „R290“ pronalazi propan). Za izabrani fluid prikazuju se kritična i trojna tačka, molarna masa, opseg važenja jednačine stanja, klasa bezbjednosti po ASHRAE 34, GWP100 i ODP, a za rastvore tačka mržnjenja.

Stanje fluida

Stanje se zadaje jednim od devet parova ulaznih veličina: p–T, p–h, p–s, p–x, T–x, T–ρ, p–ρ, h–s i T–s. Rezultat je tabela od dvadeset veličina:

  • termodinamičke — T, p, ρ, v, h, s, u, cp, cv, κ = cp/cv, brzina zvuka, faktor kompresibilnosti Z, koeficijent zapreminskog širenja β, sadržaj pare x
  • transportne — dinamička i kinematska viskoznost, toplotna provodljivost, temperaturna provodljivost, Prandtlov broj, površinski napon

Pored zadatog stanja prikazuju se i stanja ključale tečnosti (x = 0) i suve pare (x = 1) pri istom pritisku, sa toplotom isparavanja r. Faza se određuje automatski (tečnost, pregrijana para, vlažna para, natkritično stanje). Kada je stanje izvan opsega važenja jednačine, program to prijavljuje upozorenjem — CoolProp u tom slučaju ekstrapoliše bez greške, pa bi rezultat inače izgledao ispravno.

Tabele

  • Zasićenje po temperaturi i po pritisku — T, p, ρ′, ρ″, v′, v″, h′, h″, r, s′, s″ i ostale veličine po izboru; kod smješa sa klizanjem temperature (R407C, R410A) posebno pritisak ključanja i pritisak rose
  • Izobara (promjenljiva temperatura) i izoterma (promjenljiv pritisak), sa kolonom faze

Tabele se izvoze u Excel (brojevi ostaju brojevi), CSV sa decimalnim zarezom ili direktno u clipboard.

Dijagrami

Na raspolaganju su p–h (log p), T–s, h–s (Mollier), p–v, fazni p–T dijagram, i dijagram proizvoljnog svojstva u funkciji temperature za više pritisaka. Na dijagram se ucrtavaju linija zasićenja sa kritičnom tačkom i izolinije po izboru: izoterme, izobare, izentalpe, izentrope, linije sadržaja pare i linije konstantne gustine. Vrijednosti izolinija biraju se kao okrugli brojevi u prikaznim jedinicama (0, 50, 100 °C; 1, 2, 5, 10 bar).

Izoterme i izobare se kroz dvofazno područje ne računaju po pritisku i temperaturi, koji su tamo zavisni, nego po sadržaju pare od 0 do 1, pa linija prolazi kroz kupolu bez skoka. Kod smješa sa klizanjem temperature izoterma unutar kupole nije horizontalna; njen tok se dobija vektorizovanom bisekcijom po pritisku za svaki sadržaj pare.

  • Očitavanje — nitni krst (crosshair) prati kursor i prikazuje vrijednosti osa i stanje u toj tački (T, p, h, s, x)
  • Zum točkićem miša oko kursora, na linearnim i logaritamskim osama; desni klik vraća početni prikaz
  • Dvoklik na dijagram izračunava stanje u toj tački i prenosi ga na karticu Stanje
  • Snimanje slike u PNG, SVG ili PDF

Vlažan vazduh

Stanje vlažnog vazduha zadaje se pritiskom — direktno ili preko nadmorske visine, po standardnoj atmosferi ICAO (ISO 2533) — i jednim od sedam parova: t i φ, t i x, t i tvt, t i tr, t i h, h i x, h i φ. Za svaku tačku računaju se t, φ, x, h1+x, temperatura vlažnog termometra, tačka rose, v1+x, gustina i parcijalni pritisak pare. Ispod 0 °C zasićenje se računa u odnosu na led.

Procesi pri konstantnom pritisku, uz zadat zapreminski protok:

ProcesZadaje seRezultat
Grijanje / hlađenje (x = const)izlazna temperaturaQ; upozorenje ako izlaz pada ispod tačke rose
Hlađenje sa odvlaživanjemizlazna temperatura, temperatura površine hladnjakaQ, osjetni i latentni dio, kondenzat
Miješanje dvije strujedvije tačke, dva protokastanje mješavine; područje magle
Adijabatsko ovlaživanjeizlazna φ, temperatura vodekoličina vode
Ovlaživanje paromizlazna φ, temperatura parekoličina pare, dovedena toplota

Kod hlađenja sa odvlaživanjem izlazno stanje leži na pravoj (u h–x dijagramu) između ulaznog stanja i zasićenog stanja na temperaturi površine hladnjaka; toplota uključuje i entalpiju kondenzata. Osjetni dio je promjena entalpije pri nepromijenjenom sadržaju vlage, a latentni ostatak — bez konstantne toplote isparavanja. Kada miješanje da presićen vazduh, program računa stanje magle: temperaturu za koju važi h = hs(t) + (x − xs(t))·hw(t) i količinu kapljica.

Procesi se nadovezuju: tačka nastala iz jednog procesa je ulaz za sljedeći, a protok se prenosi automatski preko masenog protoka suvog vazduha (V̇ = ṁsv·v), pa zapreminski protok raste pri zagrijavanju. Promjena pritiska ili nadmorske visine preračunava cijeli niz.

Mollierov h–x dijagram crta se u kosom koordinatnom sistemu, kako ga je Mollier i definisao: nagib je izabran tako da je izoterma 0 °C horizontalna. Nagib se računa iz modela (dh/dx izoterme 0 °C), a ne uzima se zaokružena vrijednost toplote isparavanja. Psihrometrijski dijagram (ASHRAE) ima temperaturu na apscisi i sadržaj vlage na ordinati, sa linijama φ, h, v i tvt. Tačke i procesi se ucrtavaju na oba dijagrama, uz isti crosshair i zum.

Napomena o tačnosti proračuna zasićenja

Pri razvoju je utvrđeno da CoolProp 6.6 za dio fluida pri niskim pritiscima ne računa ispravno stanje zasićenja zadato pritiskom (par p–x). Kod amonijaka na 0,67 bar vraća temperaturu ključanja +2 °C umjesto −41 °C, a na nekim pritiscima ne konvergira. Provjera na svih 123 fluida pokazala je odstupanja kod jedanaest, od kojih je amonijak najizraženiji.

FluidPro zato temperaturu zasićenja iz pritiska računa sopstvenim rješavačem nad parom T–x, koji je pouzdan. Kriva napona pare ps(T) rješava se regula falsi metodom (Illinois varijanta) u koordinatama (1/T, ln p), u kojima je skoro prava linija, pa konvergira u nekoliko koraka. Isti postupak se koristi za parove p–h i p–s u dvofaznom području. Nakon ispravke inverzija T → ps → T slaže se na 1 mK za sve čiste fluide, na pritiscima iznad 1 Pa; ispod toga je i sama funkcija ps(T) u CoolProp-u numerički nemonotona.

Verifikacija

Proračunski dio je odvojen od interfejsa i pokriven sa 43 automatska testa. Provjere se oslanjaju na konzistentnost i fizičke identičnosti, a ne na brojeve prepisane iz tablica:

  • Inverzija ulaznih parova — stanje izračunato iz jednog para i ponovo iz drugog daje istu temperaturu i sadržaj vlage (svih sedam parova za vlažan vazduh)
  • Identiteti — h = u + p·v; r = h″ − h′; na liniji zasićenja vlažnog vazduha φ = 1 i tr = tvt = t
  • Zasićenje amonijaka — T → ps → T na 41 tački od 200 do 400 K, odstupanje ispod 10−6 K; p–h u dvofaznom području vraća zadatu temperaturu i sadržaj pare
  • Dijagrami — izoterma vode od 100 °C u p–h dijagramu je horizontalna unutar kupole, na pritisku zasićenja
  • Bilansi — pri miješanju vazduha održani su maseni bilans vlage i energetski bilans; kod hlađenja sa odvlaživanjem zbir osjetne i latentne toplote jednak je ukupnoj, a kondenzat razlici sadržaja vlage
  • Neispravni ulazi — negativan pritisak, φ > 100 %, presićen vazduh i nekonzistentne temperature hladnjaka odbijaju se sa porukom

Jedinice, izvještaji, jezik

  • Proračun se uvijek radi u osnovnim SI jedinicama; prikazne jedinice se biraju (°C ili K, Pa, kPa, bar ili MPa, J/kg ili kJ/kg, mPa·s, µPa·s…)
  • Decimalni zarez u prikazu, tabelama i izvještajima
  • PDF izvještaj — podaci o fluidu, stanje, tabela i dijagram, odnosno tačke, procesi i dijagram vlažnog vazduha; zaglavlje i broj strane, široke tabele na položenoj strani
  • Excel — za vlažan vazduh dva lista (tačke i procesi)
  • Interfejs na crnogorskom i engleskom jeziku

Ograničenja

  • Pseudo-čiste smješe (vazduh, R404A, R407C, R410A, R507A) tretiraju se sa fiksnim sastavom; promjena sastava faza pri isparavanju nije modelovana
  • Transportna svojstva nisu dostupna za sve fluide i sva stanja; tada se prikazuje „–“. U dvofaznom području cp, cv, brzina zvuka i transportna svojstva nisu definisani za smješu faza
  • Za nestišljive tečnosti i rastvore dostupan je samo par p–T i dijagram svojstva u funkciji temperature
  • Model vlažnog vazduha važi približno od −143 do 350 °C; za crtanje linija h, v i tvt na dijagramu koristi se linearnost h i v po x pri konstantnoj temperaturi (odstupanje x ispod 0,1 %), dok sve brojčane vrijednosti idu preko tačnog modela
  • Kružni procesi (rashladni ciklus, Rankineov ciklus) nisu dio ove verzije

Tehnologije

Program je pisan u Pythonu, sa otvorenim i široko korištenim bibliotekama:

Python 3.11 · PySide6 · CoolProp · NumPy · Matplotlib · ReportLab · openpyxl

Grafički interfejs koristi Qt preko biblioteke PySide6, pod licencom GNU LGPL v3. CoolProp je pod MIT licencom (I. H. Bell, J. Wronski, S. Quoilin, V. Lemort, Ind. Eng. Chem. Res. 53 (2014) 2498–2508). Korisnički interfejs se uređuje u Qt Designeru, a proračun je zaseban modul bez zavisnosti od interfejsa.

Kontakt

Za pitanja, prijedloge ili prijave grešaka — direktno na mkozica@outlook.com.

← Nazad na Software