Áramlástechnikai Gépek
  • ZilogR
    #12
    Hasznos holmi: Stolz formula Excelhez




    Ha valaki sokat számol az említett formulával levegő esetén, akkor illessze be az alábbi rövid VisualBASIC kódot egy új modul-ba a saját Excel-ének VisualBASIC szerkesztőjében:


    '--- STOLZ függvény -----------------
    Function STOLZ(d_mp, d_cso, dp_mp, p_be_mp, t_be_mp, eps, eps_alfa, maxiter)

    alfa_regi = 0.65
    beta = d_mp / d_cso
    iteracioszam = 0

    rho_norm = 1.293
    T_norm = 273
    p_norm = 101396
    nu_norm = 0.0000133

    Pi = 3.14159

    Do

    rho_lev = rho_norm * p_be_mp / p_norm * T_norm / (t_be_mp + 273.2)
    Q = alfa_regi * eps * d_mp ^ 2 * Pi / 4 * Sqr(2 / rho_lev * dp_mp)
    v = 4 * Q / (d_cso ^ 2 * Pi)
    nu_lev = p_norm / p_be_mp * (1000000 * nu_norm + 0.1 * t_be_mp) * 0.000001
    Re = v * d_cso / nu_lev
    C = 0.5959 + 0.0312 * beta ^ 2.1 - 0.184 * beta ^ 8 + 0.0029 * beta ^ 2.5 * (1000000 / Re) ^ 0.75
    alfa_uj = C / Sqr(1 - beta ^ 4)

    iteracioszam = iteracioszam + 1

    Loop Until ((alfa_uj - alfa_regi) / alfa_uj <= eps_alfa) Or (iteracioszam >= maxiter)

    STOLZ = alfa_uj

    End Function
    '--- Itt a vége -----------------



    A beillesztéshez:
    =================

    Excel főmenüben kiválasztjuk az 'Eszközök' -> 'Makró' -> 'VisualBASIC szerkesztő' pontot, majd a megjelenő képernyőn a főmenüben az 'Insert' -> 'Module' menüpontot. Ekkor a jobboldali szerkesztőablakba egyszerűen bemásoljuk a függvényt és rányomunk a 'Mentés'-re, majd bezárjuk a VisualBASIC szerkesztőt (kattintás a jobb felső sarokban a "kereszten").

    Ha átfolyási tényezőt kell számolni, a 'STOLZ' függvény megtalálható lesz a függvények között, mégpedig a 'Felhasználói' függvény-kategóriában.


    Használathoz:
    =============

    A kívánt helyen az adott cellába beírjuk az egyenlőségjelet és az 'fx' ikonon kattintva előcsaljuk a beilleszthető függvények listáját. A 'Felhasználói' csoportban lesz a 'STOLZ'. Ezen kattintva megjelenik a függvényargumentumokra váró panel, ahol sorrendben a következő adatokat kell megadni:


    STOLZ(d_mp, d_cso, dp_mp, p_be_mp, t_be_mp, eps, eps_alfa, maxiter)

    d_mp [m]: mérőperem szűkítőnyílásának átmérője
    d_cso [m]: csőátmérő (a mérőperem "nagy" átmérője)
    dp_mp [Pa]: a mérőperem két megcsapolási helye közötti nyomáskülönbség
    p_be_mp [Pa]: a mérőperembe belépő közeg abszolút nyomása
    t_be_mp [C]: a mérőperembe belépő közeg hőmérséklete
    eps [1]: expanziós szám

    eps_alfa [1]: megállási feltétel: az új és az előző iterációs lépés során számított alfa relatív hibája az ÚJ(!) alfához viszonyítva - azért ahhoz, mert az iteráció konvergens és a pontos érték hibáját akarom megadni (ez akár vitaindító is lehet...) - a hiba eps_alfa alá kell hogy csökkenjen.
    maxiter [1]: megállási feltétel: maximális iterációk száma. Az iteráció végetér, ha legalább ennyit iterált a program.

    A két kilépési feltétel közül amelyik hamarabb igaz lesz, akkor fejeződik be az iteráció.

    A függvény számítja a közeg adott állapotbeli (mérőperem előtti) állapotában a sűrűségét és a kinematikai viszkozitását (a Váradi Sándor által összeállított Ciklon mérési útmutató alapján).

    Minden észrevételnek örülök ezzel kapcsolatban - és remélem az UNTIL után jól állnak a relációjelek - nagy baj nem lehet, mivel hátultesztelős, egyet biztos iterál ;) .



    -=ZR=-