***************************************************************** *** Chapter 6 *** Test Problem 6 *** *** SBA - DSBE - Water -- Tangent plane distance minimization(UNIQUAC) ***************************************************************** SETS i components /1*3/ alias(i,j); ***************************************************************** * P = pressure (atm) * T = temperature (K) * feed(i) = mole fraction of component i in candidate phase (feed) * chempot(i) = chemical potential of component i in candidate phase * gform(i,k) = Gibbs energy of formation of component i in phase k * z, q(i), r(i), qp(i), zr(i), zrm, zb(i), za, psi(i) = pure component * and calculated parameters * tau(i,j) = binary interaction parameter (nonsymmetric) PARAMETERS gc, P, T, chempot(i), feed(i), gform(i), minval, z, q(i), r(i), qp(i), zr(i), zrm, zb(i), za, psi(i), tau(i,j), bina(i,j); gc = 1.98721; P = 1.16996; *T = 363.19909; T = 721.67659; feed('1') = 0.51802; feed('2') = 0.05110; feed('3') = 0.43088; chempot('1') = -0.92115; chempot('2') = -2.27779; chempot('3') = -0.40139; gform('1') = -0.3658348; gform('2') = -0.9825555; gform('3') = -0.3663657; z = 10.0; q('1') = 3.6640; q('2') = 5.1680; q('3') = 1.4000; qp('1') = 4.0643; qp('2') = 5.7409; qp('3') = 1.6741; r('1') = 3.9235; r('2') = 6.0909; r('3') = 0.9200; bina('1','1') = 0.0; bina('1','2') = -193.141; bina('1','3') = 424.025; bina('2','1') = 415.855; bina('2','2') = 0.0; bina('2','3') = 315.312; bina('3','1') = 103.810; bina('3','2') = 3922.5; bina('3','3') = 0.0; tau(i,j) = EXP(-bina(i,j)/T); zr(i) = (z*q(i)/2.0 - 1.0)/r(i); minval = 100.0; LOOP(i, IF( (zr(i) LT minval), minval = zr(i))); zrm = minval; zb(i) = SUM(j$(ord(j) NE ord(i)), zr(j)-zrm); za = zrm + SUM(i,zr(i)-zrm); psi(i) = qp(i) + r(i)*za; ******************************************************************* * dist = tangent plane distance function * x(i) = mole fraction of component i VARIABLES dist, x(i); ******************************************************************* * obj = objective function * molesum = mole fractions sum to 1 EQUATIONS obj molesum; obj.. dist =e= SUM(i, x(i)*(gform(i)-zr(i)*r(i)*LOG(r(i))+(z/2.0)*q(i)*LOG(q(i))-chempot(i))) +SUM(i, za*r(i)*x(i))*LOG(SUM(j,r(j)*x(j))) +SUM(i, zb(i)*r(i)*x(i)*LOG(x(i))) +SUM(i, -zb(i)*r(i)*x(i)*LOG(SUM(j, r(j)*x(j)))) +SUM(i, (z/2.0)*q(i)*x(i)*LOG(x(i))) +SUM(i, -(z/2.0)*q(i)*x(i)*LOG(SUM(j, q(j)*x(j)))) +SUM(i, qp(i)*x(i))*LOG(SUM(j,qp(j)*x(j))) +SUM(i, qp(i)*x(i)*LOG(x(i))) +SUM(i, -qp(i)*x(i)*LOG(SUM(j, qp(j)*tau(j,i)*x(j)))) +SUM(i, -psi(i)*x(i)*LOG(x(i))); molesum.. SUM(i, x(i)) =e= 1.0; MODEL tpd / all /; x.lo(i) = 0.000001; x.up(i) = 1.0; x.l('1') = 0.51802; x.l('2') = 0.0511; x.l('3') = 0.43088; SOLVE tpd USING nlp MINIMIZING dist;