설명
문제는 평형 구성을 찾는 것입니다. 다른 원자의 혼합물.
소형 모델 유형 :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를 사용하여 에너지를 최소화하는 믹서 문제를 해결합니다.