chem.gms : Chemical Equilibrium Problem

Description

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


Reference

  • Bracken, J, and McCormick, G P, Chapter 5. In Selected Applications of Nonlinear Programming. John Wiley and Sons, New York, 1968, pp. 48-49.

Small Model of Type : NLP


Category : GAMS Model library


Main file : chem.gms

$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;