15 Aralık 2012 Cumartesi

Bilgisayar uygulamaları


METİN İNCİ                                                                                                            18.11.2012
100751141
KİMYA MÜHENDİSLİĞİ BİLGİSAYAR UYGULAMASI

ÖDEV 2

Karbondioksitin 300 K de paslanmaz çelik bir tankta depolanması önerilmektedir.  Tank hacmi 2.5 m3 ve dayanabileceği maksimum basınç 100 atm’ dir. Aşağıdaki hal denklemlerini kullanarak tankta depolanabilecek maksimum CO2 mol sayısını bulunuz.

P=basınç, atm
V=molar hacim, L/g-mol
T=sıcaklık, K
R=gaz sabiti (R=0.08206 L.atm/g-mol.K)
Tc=kritik sıcaklık (CO2 için 304.2 K)
Pc=kritik basınç (CO2 için 72.9 atm)

Ideal gaz:                              
PV=RT


Van der Waals denklemi
Soave-Redlich-Kwong denklemi
ω=asentrik faktör (CO2 için 0.225)
Peng-Robinson denklemi
Beattie-Bridgeman denklemi
A0, a, B0, b ve c sabitleri farklı gazlara bağlıdır. CO2 için A0=5.0065; a=0.07132; B0=0.10476; b=0.07235; ve c=66.0*104.

Çözümü bir programlama dili (Matlab veya QBasic) ve paket programı (Excel veya Polymath)  kullanarak yapınız. Çözüm ekranlarını ödeve ekleyiniz.




ÇÖZÜM:
WANDERWALLS DENKLEMİ
 ve denklemlerinde gerekli veriler yerine konulursa;
  ,  ;
Oluşturulan denklemler ana denklemde yerine konulursa şu şekilde denklem oluşur;

(fonksiyon)
                       (türevi)
Denklemler oluşturulduktan sonra matlab programında çözdürülür ve sonuçlar şu şekilde bulunur.
clc;
V0=input('Sayi giriniz: ')
n=0;
while V0>0.01
    f=100*V0^3-28.898*V0^2+3.6*V0-0.154;
f1=300*V0^2-57.796*V0+3.6;
    fonksiyon=f;
    turev=f1;
    yeni=V0-(fonksiyon/turev)
    eski=V0;
    a=abs((yeni-eski)/yeni)*100;
    if a>0.01;
       V0=yeni;
    else
       yeni
        break
    end
      n=(2500/yeni)
 disp(['Maksimum Karbondioksit mol sayisi ' num2str(n)])

end
disp(['Maksimum Karbondioksit hacmi ' num2str(yeni)])
Aynı problem excel programında çözülürse şu şekilde yapılacaktır;
1-      İlk adımda excelde sütunlarda f(V) ve f’(V) denklemleri oluşturulur.
2-      Daha sonra bir başlangıç değerine ihtiyaç olduğundan dolayı bir VC değeri koymamız gerekmektedir. VC değeri keyfi bir değerdir.
3-      VC formüllerden ad tanımla kısmından VC’nin yeri belirtilir ve adı tanımlanmış olur. Bunu iterayonda ilk değer atayıp ve en son denklem çözüldüğünde değeri buraya atamış olacaktır.
4-      f(V) değeri bir sütunda tanımlanır.
5-      f’(V)değeride bir sütunda tanımlanır.
6-      Bunlar yapıldıktan sonra V farkı tanımlanır yanı -f(V)/f’(V) yapılır.
7-      Verilerden çözücü kısmına girilir.
8-      Çıkan ekranda 1.kutucuğa seç kısmından Vfarkı seçilir.
9-      Altında bulunan 3 seçenekten biz değer yazarak 0.01 aldık.
10-  Değişken hücresine ise VC olarak tanımladığımız kısmı işaretleyip en son çöz tuşuna basarak VC yazan yerde sonucumuz mevcut olur.
11-  Daha sonra mol cinsinden istediği için başka bir formül kurularak
n=2500/çıkan değer diyip maksimum tank hacmindeki mol miktarını da bulmuş oluruz.

Bu şekilde formülden çıkan sonuç bulunmuş olur. Matlab ile Excel arasında biraz farklı sonuçlar çıktı bunun sebebi yuvarlatma veya programların çalışması ile ilgili detaylar atlanmış olabilir.


SOAVE-REDLİCH-KWONG DENKLEMİ
 , , ,
, , ,  
 bulunan sonuçlar alttaki denklemde yerine konulursa;
 şu şekilde bir denklem oluşur.

    (fonksiyon)
                   (türev)
Denklemler oluşturulduktan sonra matlab programında şu şekilde yazılmaktadır;





clc;
V0=input('Sayi giriniz: ')
while V0>0.01
    f=100*V0^3-24.618*V0^2+2.88*V0-0.11;
f1=300*V0^2-49.236*V0+2.88;
    fonksiyon=f;
    turev=f1;
    yeni=V0-(fonksiyon/turev)
    eski=V0;
    a=abs((yeni-eski)/yeni)*100;
    if a>0.01;
       V0=yeni;
    else
       yeni
        break
    end
     n=(2500/yeni)
 disp(['Maksimum Karbondioksit mol sayisi ' num2str(n)])
       
end
disp(['Maksimum Karbondioksit hacmi ' num2str(yeni)])








Aynı problem excel programında çözülürse şu şekilde yapılacaktır;
1-      İlk adımda excelde sütunlarda f(V) ve f’(V) denklemleri oluşturulur.
2-      Daha sonra bir başlangıç değerine ihtiyaç olduğundan dolayı bir AC değeri koymamız gerekmektedir. AC değeri keyfi bir değerdir.
3-      VC formüllerden ad tanımla kısmından AC’nin yeri belirtilir ve adı tanımlanmış olur. Bunu iterayonda ilk değer atayıp ve en son denklem çözüldüğünde değeri buraya atamış olacaktır.
4-      f(V) değeri bir sütunda tanımlanır.
5-      f’(V)değeride bir sütunda tanımlanır.
6-      Bunlar yapıldıktan sonra V farkı tanımlanır yanı -f(V)/f’(V) yapılır.
7-      Verilerden çözücü kısmına girilir.
8-      Çıkan ekranda 1.kutucuğa seç kısmından Vfarkı seçilir.
9-      Altında bulunan 3 seçenekten biz değer yazarak 0.01 aldık.
10-  Değişken hücresine ise AC olarak tanımladığımız kısmı işaretleyip en son çöz tuşuna basarak AC yazan yerde sonucumuz mevcut olur.
11-  Daha sonra mol cinsinden istediği için başka bir formül kurularak
n=2500/çıkan değer diyip maksimum tank hacmindeki mol miktarını da bulmuş oluruz.
Bu şekilde formülden çıkan sonuç bulunmuş olur. Matlab ile Excel arasında biraz farklı sonuçlar çıktı bunun sebebi yuvarlatma veya programların çalışması ile ilgili detaylar atlanmış olabilir.
PENG-ROBİNSON DENKLEMİ
, , ,
 Bulunan sonuçlar aşağıdaki denklemde yerine yazılırsa;
                   (fonksiyon)
                                        (türev)
Denklemleri oluşturulur ve matlabda aşağıdaki gibi yazılır.
clc;
V0=input('Sayi giriniz: ')

while V0>0.01;
    f=100*V0^3-21.92*V0^2+1.49*V0-0.0357;
    f1=300*V0^2-43.84*V0+1.49;
    fonksiyon=f;
    turev=f1;
    yeni=V0-(fonksiyon/turev)
    eski=V0;
    a=abs((yeni-eski)/yeni)*100;
    if a>0.1
       V0=yeni;
    else
       yeni
        break
    end
     n=(2500/yeni)
 disp(['Maksimum Karbondioksit mol sayisi ' num2str(n)])
       
end
disp(['Maksimum Karbondioksit hacmi ' num2str(yeni)])



Aynı problem excel programında çözülürse şu şekilde yapılacaktır;
1-      İlk adımda excelde sütunlarda f(V) ve f’(V) denklemleri oluşturulur.
2-      Daha sonra bir başlangıç değerine ihtiyaç olduğundan dolayı bir PC değeri koymamız gerekmektedir. PC değeri keyfi bir değerdir.
3-      VC formüllerden ad tanımla kısmından PC’nin yeri belirtilir ve adı tanımlanmış olur. Bunu iterayonda ilk değer atayıp ve en son denklem çözüldüğünde değeri buraya atamış olacaktır.
4-      f(V) değeri bir sütunda tanımlanır.
5-      f’(V)değeride bir sütunda tanımlanır.
6-      Bunlar yapıldıktan sonra V farkı tanımlanır yanı -f(V)/f’(V) yapılır.
7-      Verilerden çözücü kısmına girilir.
8-      Çıkan ekranda 1.kutucuğa seç kısmından Vfarkı seçilir.
9-      Altında bulunan 3 seçenekten biz değer yazarak 0.01 aldık.
10-  Değişken hücresine ise PC olarak tanımladığımız kısmı işaretleyip en son çöz tuşuna basarak PC yazan yerde sonucumuz mevcut olur.
11-  Daha sonra mol cinsinden istediği için başka bir formül kurularak
n=2500/çıkan değer diyip maksimum tank hacmindeki mol miktarını da bulmuş oluruz.

Bu şekilde formülden çıkan sonuç bulunmuş olur. Matlab ile Excel arasında biraz farklı sonuçlar çıktı bunun sebebi yuvarlatma veya programların çalışması ile ilgili detaylar atlanmış olabilir.

BEATTİE-BRİDGEMAN DENKLEMİ
,  ,
Bulunan değerler aşağıdaki denklemde yerine konulur ve gerekli düzenlemeler yapılırsa;
Denklemler şu şekildedir;
 Denklemler oluşturulduktan sonra matlabda şu şekilde yazdırılır.


clc;
V0=input('Sayi giriniz: ')

while V0>0.1
 f=100*V0^4-24.618*V0^3+3.029*V0^2-0.48*V0-0.00456;
f1=400*V0^3-73.9*V0^2+6.058*V0-0.48;
    fonksiyon=f;
    turev=f1;
    yeni=V0-(fonksiyon/turev)
    eski=V0;
    a=abs((yeni-eski)/yeni)*100;
    if a>0.01;
       V0=yeni;
    else
       yeni
        break
    end
     n=2500/yeni
 disp(['Maksimum Karbondioksit mol sayisi ' num2str(n)])
       
end
disp(['Maksimum Karbondioksit hacmi ' num2str(yeni)])

Aynı problem excel programında çözülürse şu şekilde yapılacaktır;
1-      İlk adımda excelde sütunlarda f(V) ve f’(V) denklemleri oluşturulur.
2-      Daha sonra bir başlangıç değerine ihtiyaç olduğundan dolayı bir DC değeri koymamız gerekmektedir. DC değeri keyfi bir değerdir.
3-      VC formüllerden ad tanımla kısmından DC’nin yeri belirtilir ve adı tanımlanmış olur. Bunu iterayonda ilk değer atayıp ve en son denklem çözüldüğünde değeri buraya atamış olacaktır.
4-      f(V) değeri bir sütunda tanımlanır.
5-      f’(V)değeride bir sütunda tanımlanır.
6-      Bunlar yapıldıktan sonra V farkı tanımlanır yanı -f(V)/f’(V) yapılır.
7-      Verilerden çözücü kısmına girilir.
8-      Çıkan ekranda 1.kutucuğa seç kısmından Vfarkı seçilir.
9-      Altında bulunan 3 seçenekten biz değer yazarak 0.01 aldık.
10-  Değişken hücresine ise DC olarak tanımladığımız kısmı işaretleyip en son çöz tuşuna basarak DC yazan yerde sonucumuz mevcut olur.
11-  Daha sonra mol cinsinden istediği için başka bir formül kurularak
n=2500/çıkan değer diyip maksimum tank hacmindeki mol miktarını da bulmuş oluruz.
Bu şekilde formülden çıkan sonuç bulunmuş olur. Matlab ile Excel arasında biraz farklı sonuçlar çıktı bunun sebebi yuvarlatma veya programların çalışması ile ilgili detaylar atlanmış olabilir.







İDEAL GAZ DENKLEMİ

PV=RT àDenklemde eşitlik sıfıra eşitlenirse şu şekilde bir denklem oluşur;
             (fonksiyon)
                                                   
                                                (türev)

clc;
V0=input('Sayi giriniz. ')
n=0;
while V0>0.01
 f=0.08206*300-100*V0;
f1=-100;
    fonksiyon=f;
    turev=f1;
    yeni=V0-(fonksiyon/turev)
    eski=V0;
    a=abs((yeni-eski)/yeni)*100;
    if a>0.01;
       V0=yeni;
    else
       yeni
        break
    end
      n=(2500/yeni)
 disp(['Maksimum Karbondioksit mol sayisi ' num2str(n)])

end
disp(['Maksimum Karbondioksit hacmi ' num2str(yeni)])
Aynı problem excel programında çözülürse şu şekilde yapılacaktır;
1-      İlk adımda excelde sütunlarda f(V) ve f’(V) denklemleri oluşturulur.
2-      Daha sonra bir başlangıç değerine ihtiyaç olduğundan dolayı bir IC değeri koymamız gerekmektedir. IC değeri keyfi bir değerdir.
3-      VC formüllerden ad tanımla kısmından IC’nin yeri belirtilir ve adı tanımlanmış olur. Bunu iterayonda ilk değer atayıp ve en son denklem çözüldüğünde değeri buraya atamış olacaktır.
4-      f(V) değeri bir sütunda tanımlanır.
5-      f’(V)değeride bir sütunda tanımlanır.
6-      Bunlar yapıldıktan sonra V farkı tanımlanır yanı -f(V)/f’(V) yapılır.
7-      Verilerden çözücü kısmına girilir.
8-      Çıkan ekranda 1.kutucuğa seç kısmından Vfarkı seçilir.
9-      Altında bulunan 3 seçenekten biz değer yazarak 0.01 aldık.
10-  Değişken hücresine ise IC olarak tanımladığımız kısmı işaretleyip en son çöz tuşuna basarak IC yazan yerde sonucumuz mevcut olur.
11-  Daha sonra mol cinsinden istediği için başka bir formül kurularak
n=2500/çıkan değer diyip maksimum tank hacmindeki mol miktarını da bulmuş oluruz.
Bu şekilde formülden çıkan sonuç bulunmuş olur. Matlab ile Excel arasında biraz farklı sonuçlar çıktı bunun sebebi yuvarlatma veya programların çalışması ile ilgili detaylar atlanmış olabilir.