GAMS [ Home | Support | Sales | Solvers | Documentation | Model Libraries | Search | Contact Us ]

chem.gms : Chemical Equilibrium Problem


The problem is to find the equilibrium composition of a
mixture of different atoms.

Reference:
Small Model of Type: NLP
$title Chemical Equilibrium Problem (CHEM,SEQ=21) $Ontext The problem is to find the equilibrium composition of a mixture of different atoms. Bracken, J, and McCormick, G P, Chapter 5. In Selected Applications of Nonlinear Programming. John Wiley and Sons, New York, 1968, pp. 48-49. $Offtext sets c compounds / H, H2, H2O, N, N2, NH, NO, O, O2, OH / i atoms / H hydrogen, N nitrogen, O oxygen / table a(i,c) atoms per compound H H2 H2O N N2 NH NO O O2 OH H 1 2 2 1 1 N 1 2 1 1 O 1 1 1 2 1 parameters mix(i) number of elements in mixture / h=2, n=1, o=1 / gibbs(c) gibbs free energy at 3500 k and 750 psi / H -10.021, H2 -21.096, H2O -37.986, N -9.846, N2 -28.653 NH -18.918, NO -28.032, O -14.640, o2 -30.594, OH -26.11 / gplus(c) gibbs energy plus pressure ; gplus(c) = gibbs(c) + log(750*.07031); display gplus; variables x(c) number of mols in mixture xb total number of mols in mixture energy total free energy in mixture positive variables x, xb; equations cdef(i) component definition edef energy definition xdef total mol definition ; cdef(i).. sum(c, a(i,c)*x(c)) =e= mix(i); xdef.. xb =e= sum(c, x(c)); edef.. energy =e= sum(c, x(c)*(gplus(c) + log(x(c)/xb))); x.lo(c) = .001; xb.lo = .01; model mixer chemical mix for N2H4+O2 / all /; solve mixer minimizing energy using nlp;