REQUIRE "atoms.a4l"; (* problem 10.1, pp 352 VanNess, 7th Edition *) MODEL all; T IS_A temperature; T_degC IS_A factor; P, P1S, P2S IS_A pressure; A1, B1, C1 IS_A positive_factor; A2, B2, C2 IS_A positive_factor; x1, x2, y1, y2 IS_A fraction; vp1: P1S/1000.0{Pa} = exp(A1 - B1/(T_degC + C1)); vp2: P2S/1000.0{Pa} = exp(A2 - B2/(T_degC + C2)); sumx: x1 + x2 = 1.0; sumy: y1 + y2 = 1.0; vle1: x1*P1S = y1*P; vle2: x2*P2S = y2*P; Tconv: T_degC = T/1{K} - 273.15; METHODS METHOD clear; T.fixed := FALSE; T_degC.fixed := FALSE; P.fixed := FALSE; P1S.fixed := FALSE; P2S.fixed := FALSE; A1.fixed := FALSE; B1.fixed := FALSE; C1.fixed := FALSE; A2.fixed := FALSE; B2.fixed := FALSE; C2.fixed := FALSE; x1.fixed := FALSE; x2.fixed := FALSE; y1.fixed := FALSE; y2.fixed := FALSE; END clear; METHOD antoine; A1.fixed := TRUE; A1 := 14.2724; B1.fixed := TRUE; B1 := 2945.47; C1.fixed := TRUE; C1 := 224.0; A2.fixed := TRUE; A2 := 14.2043; B2.fixed := TRUE; B2 := 2972.64; C2.fixed := TRUE; C2 := 209.00; END antoine; METHOD parta; T_degC.fixed := TRUE; T_degC := 75.0; x1.fixed := TRUE; x1 := 0.6; END parta; METHOD partb; P.fixed := TRUE; P := 70.0 {kPa}; x1.fixed := TRUE; x1 := 0.6; END partb; METHOD values; x1 := 0.5; y1 := 0.5; T := 320 {K}; P := 1.0 {atm}; END values; METHOD doparta; RUN clear; RUN antoine; RUN parta; END doparta; METHOD dopartb; RUN clear; RUN antoine; RUN partb; END dopartb; END all;