REQUIRE "thermodynamics.a4l"; (* problem 10.1, pp 370 VanNess, 7th Edition *) (* using built in thermodynamic data *) (* The Rackett liquid model and vapor pressure correlations used as given in Reid/Prausnitz and such and from thermodynamics.a4l *) MODEL all; c1,c2 IS_A symbol_constant; T IS_A temperature; T_degC IS_A factor; P, P1S, P2S IS_A pressure; x1, x2, y1, y2 IS_A fraction; c1 :== 'benzene'; c2 :== 'toluene'; cd1 IS_A components_data([c1],c1); cd2 IS_A components_data([c2],c2); rlc1 IS_A Rackett_liquid_component(P,T,cd1.data[c1]); rlc2 IS_A Rackett_liquid_component(P,T,cd2.data[c2]); vp1: P1S = rlc1.VP; vp2: P2S = rlc2.VP; 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; x1.fixed := FALSE; x2.fixed := FALSE; y1.fixed := FALSE; y2.fixed := FALSE; END clear; METHOD parta; T_degC.fixed := TRUE; T_degC := 100.0; x1.fixed := TRUE; x1 := 0.33; END parta; METHOD partb; T_degC.fixed := TRUE; T_degC := 100.0; y1.fixed := TRUE; y1 := 0.33; END parta; METHOD partc; P.fixed := TRUE; P := 120.0 {kPa}; x1.fixed := TRUE; x1 := 0.33; END partc; METHOD partd; P.fixed := TRUE; P := 120.0 {kPa}; y1.fixed := TRUE; y1 := 0.33; END partd; METHOD values; x1 := 0.5; y1 := 0.5; T := 320 {K}; P := 1.0 {atm}; END values; METHOD doparta; RUN clear; RUN values; RUN parta; END doparta; METHOD dopartb; RUN clear; RUN values; RUN partb; END dopartb; METHOD dopartc; RUN clear; RUN values; RUN partc; END dopartc; METHOD dopartd; RUN clear; RUN values; RUN partd; END dopartd; END all;