Pro index lomu vody a vodní páry existují velmi přesné rovnice [5-10], které jsou definované Mezinárodní asociací pro vlastnosti vody a páry IAPWS (International Association for the Properties of Water and Steam). Tato příloha se však zabývá pouze rovnicemi pro výpočet indexu lomu vody v kapalném stavu. Index lomu je zde funkcí vlnové délky l, teploty T a hustoty r či měrného objemu v. Měrný objem vody je však nutné vypočíst zvlášť, a to z rovnic IF97 jako funkci teploty a tlaku.
Výpočet indexu lomu vody
Pro výpočet indexu lomu vody v kapalném stavu, a to pro vlnové délky l v rozsahu od 0,2 do 1,9 mm, teploty T v rozsahu od 273,15 do 623,15 K a tlaky p do 100 MPa, platí vztah
|
(1) |
Konstanty a0 až a7, b1, b2 a referenční fyzikální veličiny l0 (referenční vlnová délka), T0 (referenční teplota) a r0 (referenční hustota) mají hodnoty:
|
a0 = 0,244257733 |
a5 = 2,45934259.10-3 |
l0 = 0,589.10-6 m |
|
|
a1 = 9,74634476.10-3 |
a6= 0,900704920 |
T0 = 273,15 K |
|
|
a2 =-3,73234996.10-3 |
a7 =-1,66626219.10-2 |
r0 = 1000 kg.m-3 |
|
|
a3= 2,68678472.10-4 |
b1 = 0,229202 |
||
|
a4 = 1,58920570.10-3 |
b2= 5,432937 |
Hustotu vody r, kterou je třeba znát pro výpočet indexu lomu dle rovnice (1), lze stanovit z měrného objemu vody v [m3.kg-1] dle vztahu
|
(2) |
Výpočet měrného objemu vody
Měrný objem vody v kapalném stavu dle rovnic IF97 lze nejlépe vypočíst pomocí autorizovaného podprogramu IAPWS, který je napsán v jazyce FORTRAN. Pokud je třeba napsat tento podprogram v jiném programovacím jazyce, je nutné zabývat se přesností výpočtu (počtem platných cifer jednotlivých konstant a způsobem výpočtu) a při odlaďování podprogramu výsledky porovnávat s tabulkami [5-10], [5-11]. Výpis zmíněného podprogramu v jazyce FORTRAN je v následujícím textu:
C
C IAPWS Task Group NIF
C New Industrial Formulation (NIF)
C for the Thermodynamic Properties of Water and Steam
C First argument is pressure in MPa.
C Second argument is temperature in K.
C Returns specific volume in m^3/kg
C
FUNCTION vpt1n(P,T)
IMPLICIT REAL*8 (A-H,O-Z)
parameter(a8=-0.79068310787773D-08,
9 a9= 0.16949507886565D-07,
& a10= 0.53021235478366D-06,
& a11= 0.90824711621636D-06,
2 a12= 0.60983184277677D-06,
3 a13= 0.14752738052287D-08,
4 a14= 0.26348204437581D-07,
& a15= 0.16753299313106D-07,
6 a16=-0.26614606756583D-08,
7 a17= 0.24649255061299D-09,
8 a18= 0.40593624756496D-19,
9 a19= 0.26535353478691D-08,
& a20= 0.23680051381070D-09,
1 a21= 0.71369114266351D-13,
2 a22= 0.25045010666356D-09,
3 a23= 0.72784546444320D-10,
4 a24= 0.16017135514411D-16,
5 a25= 0.56562757086698D-10,
6 a26= 0.28443854062250D-12,
7 a27= 0.38920900760265D-13,
8 a28= 0.40317346616717D-21,
9 a29=-0.92975593753127D-23,
& a30=-0.21323943802988D-25,
1 a31= 0.10007510864939D-25,
2 a32=-0.15777067572480D-26,
3 a33= 0.83571296309235D-28)
C
targ = 1386.d0/t-1.222d0
targ2 = targ*targ
targ4 = targ2*targ2
targ8 = targ4*targ4
targinv = 1.d0/targ
targinv2 = targinv*targinv
targinv3 = targinv2*targinv
targinv4 = targinv3*targinv
targinv7 = targinv4*targinv3
targinv8 = targinv7*targinv
parg = 7.1d0-p*0.60496067755596D-01
parg2 = parg*parg
parg3 = parg2*parg
parg6 = parg3*parg3
pt = parg*targinv
C
vpt1n=((((((((((((((pt*a33 + a32)*pt +a31)*pt + a30)*
& parg6*targinv7 + a29)*parg2*targinv2 + a28)*
& parg6*parg6*parg*targinv8*targinv8*targinv2 + a26)*
& targinv*targinv4 + a27)*parg3*targinv + targinv3*a25)*
& parg + a22)*targinv3 + a23)*targinv2 + targ8*targ2*a24)*
& parg + targ4*targ2*a21 + a20 + targinv4*a19)*parg +
& (targ8*targ8*a18 + targ2*a17 + a16)*targ + a15 +
& targinv3*a14)*parg + (targ2*a13 + a12)*targ + a11 +
& (targinv2*a8 + a9)*targinv7 + targinv*a10)*t
END