chem.gms : 화학 평형 문제

설명

문제는 평형 구성을 찾는 것입니다.
다른 원자의 혼합물.

소형 모델 유형 :NLP


카테고리 : 무료 슬롯 사이트 모델 라이브러리


메인 파일 : chem.gms

$title 화학 평형 문제 (CHEM,SEQ=21)

$onText
문제는 균형성분을 구하는 것이다.
서로 다른 원자의 혼합물.

Bracken, J 및 McCormick, G P, 5장. 선택된 응용 분야
비선형 프로그래밍의. John Wiley and Sons, 뉴욕, 1968년, 48-49페이지.

키워드: 비선형 계획법, 화학 평형 문제, 화학 공학
$offText

세트
   c '화합물' / H, H2, H2O, N, N2, NH, NO, O, O2, OH /
   i '원자' / H '수소', N '질소', O '산소' /;

표 a(i,c) '화합물당 원자 수'
       H H2 H2O N N2 NH NO O O2 OH
   H 1 2 2 1 1
   아니오 1 2 1 1
   1 1 1 2 1;

매개변수
   mix(i) '혼합물의 원소 수' / h 2, n 1, o 1 /
   gibbs(c) '3500k 및 750psi에서의 깁스 자유 에너지'
            / 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) '깁스 에너지 + 압력';

gplus(c) = 깁스(c) + log(750*.07031);

디스플레이 gplus;

변수
   x(c) '혼합물의 몰수'
   xb '혼합물의 총 몰수'
   에너지 '혼합물의 총 자유 에너지';

양수 변수 x, xb;

방정식
   cdef(i) '구성요소 정의'
   edef '에너지 정의'
   xdef '총 몰 정의';

cdef(i).. sum(c, a(i,c)*x(c)) =e= mix(i);

xdef.. xb =e= sum(c, x(c));

edef.. 에너지 =e= sum(c, x(c)*(gplus(c) + log(x(c)/xb)));

x.lo(c) = .001;
xb.lo = .01;

모델 믹서 'N2H4+O2용 화학 혼합물' / 모두 /;

nlp를 사용하여 에너지를 최소화하는 믹서 문제를 해결합니다.