6 7. DİFERENSİYEL DENKLEMLERİN SAYISAL ÇÖZÜMLERİ Diferensiyel denklemlerin sayısal integrasyonunda kullanılabilecek bir çok yöntem vardır. Tecrübeler dördüncü mertebe (Runge-Kutta) yönteminin hemen hemen her duruma uygulanabildiğini ve pek çok durumda ikinci ve birinci mertebe yöntemlerin yeterli olduğunu göstermektedir. Bu bölümde en basit düzeyden başlanarak üç sayısal integrasyon yöntemi ele alınacaktır. Adi Diferensiyel Denklemler Adi diferensiyel denklemler sadece bir bağımsız değişken bulundurur. Bir eş zamanlı adi diferensiyel denklemler takımında bağımsız değişken (genellikle zaman veya uzaklık) bütün denklemlerde ortaktır. Bu denklemlerin amacı bağımsız değişkenle bağımlı sistem değişkenleri arasında ilişki sağlamaktır. Denklemlerin çözümü sistem değişkenlerinin bağımsız değişkene bağlı değerlerini verir. Bu ilişki genellikle sayısal ya da grafiksel şekilde ifade edilir. Bir örnek bu terimlerin anlaşılmasına yardımcı olacaktır. Aşağıdaki şekil içerisine Q i hızı ile bir sıvı akan bir tankı göstermektedir. Bu akım sabit olabilir. Daha özel olarak zamanla değişebilir. Bu durumda Q i (t) şeklinde yazılır. Bunun anlamı Q i nün; t nin fonksiyonu olması, yani zamanla değişmesidir. Tanktan dışarı musluktan Qo(t) hızı ile sıvının aktığını düşünelim. Qo(t) hızı tank içerisindeki sıvının H yüksekliğine bağlıdır. Qo ile H yüksekliği arasındaki ilişki Şekil 7. Bir tankta sıvı birikimi Q 0 = C v H ile verilir. Burada Cv sıvının aktığı kesitin karakteristiğidir. Birikim=giren-çıkan İfadesi kullanılarak sistem için bir diferensiyel denklem oluşturulabilir. dv dt = Q V=A.H i Q 0
6 Bu denklem bağımsız değişken t ve bağımlı değişken V ye göre lineer olmayan bir adi diferensiyel denklemdir. V nin türevi eşitliğin sağ tarafındaki ifadesidir. Sistem parametreleri A ve C v dir. Buna karşılık Q i ; girişi bazen zorlayıcı fonksiyon olarak ele alınır. Denklemin her iki tarafı t zamanına göre integrallenirse, dv dt dt V = Q = Q dt ( i 0 ) yani V hacmi giren akım ile çıkan akım farkının integralidir. Doğal olarak söylendiğinde, tank içindeki sıvı hacmi giren akımla çıkan akım farkının t süresi içerisindeki birikimidir. Açıkça görüldüğü gibi integrasyon birikim olayının matematik eşdeğeridir. Bununla birlikte doğal proseslerin sadece birikme şeklinde olabildiği diferensiyellenmedikleri hatırdan çıkarılmamalıdır. Değişkenler arasındaki ilişkiler en iyi diferensiyel denklemlerle belirtilir. Ancak, diferensiyel denklemlerin çözümü daima integrasyonla yapılır. Buna göre bütün fiziksel sistemler diferensiyel denklemlerden ziyade integral eşitliklerine göre tanımlanabilir. Bir diferensiyel denklemi integral şekline değiştirirken integrasyon sınırları ve başlangıç şartı ortaya konulmalıdır. Örneğin "herhangi bir zamanda V hacminin değişim hızı giren ve çıkan akımlar arasındaki farktır." şekildeki bir belirtme daha fazla açıklama gerektirmeyen tam bir ifadedir. Buna karşılık, " V hacmi giren ve çıkan akımlar arasındaki farkın integralidir" şeklindeki ifade integrasyon sınırlarının tanımını, yani ne zamandan ne zamana zamanın değiştirildiğini ve V nin başlanğıç değerinin belirtilmesini gerektirir. Bu yüzden integralin tam olarak ifadesi V t) = V ( t ) + ( Q Q ) dt ( i 0 t t t deki toplam hacim = t deki başlangıç hacmi + t den t ye birikme Bu yüzden sayısal integrasyonla bir veya daha fazla denklem çözüleceği zaman aşağıdaki iki kural uygulanmalıdır. a. Herbir integrasyon değişkeni için bir başlama şartı veya başlangıç değeri sağlanmalıdır. b. İntegrasyon sınırları yani bağımsız değişkenin başlangıç ve son değerleri belirtilmelidir.
63 7. Birinci Mertebe Yöntemi (Basit Euler) yöntemidir. Genellikle basit Euler olarak bilinen bu yöntem mevcut en basit sayısal integrasyon V = V dt V, V nin türevi veya değişim hızıdır. V(t) için belirli şartlarda aşağıdaki çözüm olsun V nin türevi V eğrisinin eğimidir. Zaman ekseni boyunca Dt dar bölgesinde V türevi V den V ye değişir. Bu aralıkta V de V den V ye değişir. Şekil 7. Basit Euler yönteminin prensibi Birinci mertebe yöntemi zaman aralığının t başlangıcında aralığında t zamanına kadar sabit olduğunu farzeder ve bu takdirde V deki değişim V = V. Dt V = V V. Dt + V türevini çıkarır. Dt yani t deki V değeri V ile V eğrisinin t deki eğiminin Dt aralığı ile çarpımının toplamına eşittir. Bu şekilde bulunan V doğru V değerine sadece bir yaklaşımdır. Çünkü V in Dt aralığında sabit olduğu kabulüne dayanır. Gerçekte V den V ye V deki küçük bir değişim V -V hatasına neden olur. İntegrasyonun gerçekleştirilme işlemi şöyledir. Bağımsız değişken artma değeri Dt belirtilir. İntegrasyonun başlangıcında i türevi çıkarılır ve sonra i+ e Dt kadar tek bir adım atılır. Böylece bağımlı değişken, V i+ = V i + V.Dt i
64 t = t i+ için V tekrar bulunur ve adımlama işlemi tekrarlanır. Bu işlem alt sınırdan üst sınıra i+ bütün integral geçişleri tamamlanıncaya kadar sürer. İntegrasyon işlemi sırasında kısaltmalardan gelen hata büyüyüp gerçek değerlerle hesaplanan değerler arasında önemli farklar oluşabilir. Hata İle Artma Büyüklüğü Arasındaki İlişki Dt adım büyüklüğünün değeri azaldıkça doğru değere daha fazla yaklaşılır. Aşağıdaki şekil bunu göstermektedir. Şekil 7.3 Basit Euler yönteminde hata t deki V türevinden başlayıp ta ya kadar yarım adım gerçekleştirildikten sonra burada tekrar V çıkarılırsa bununla ta dan t ye ikinci yarım adım yapıldığında bulunan V değeri V a a değerine V den daha yakındır. Görüldüğü gibi V -V hatası, yaklaşık olarak adım değerini yarıya düşürmekle yarıya indirilebilmektedir. Buradan birinci mertebe yöntemiyle integrasyonda sayısal hataların kademe büyüklüğü ile orantılı olduğu sonucuna varılabilir. Bu yüzden istenen tolerans veya müsade edilen maksimum hata kullanılan kademe büyüklüğüne bağlıdır. Hata kullanılan değişken değerinin % si % =.00 V veya mutlak bir değer olarak alınır. Bunun nedeni V 0 olduğunda % hata tanımı v çalışmaz. Matematiksel olarak bu tanımlar oldukça hassas olabilir. Ancak bilgisayarda yanlış bir seçim işlem süresini uzatabilir. Mesela aşağıdaki şekil bir diferensiyel denklemler takımının iki çözümünü göstermektedir. Pratik amaçlar yönünden yaklaşık çözümün oldukça yeterli olduğu görülmektedir.
65 Şekil 7.4 Basit Euler yönteminde yaklaşık çözüm Ancak matematiksel olarak sayısal çözümün hata kesri eğimin hızlı değiştiği yerlerde teorik olarak kabul edilemez düzeylerdedir. Bu yüzden belirtilen hata toleransı bazen yanıltıcı ve zaman kaybettirici olabilir. Bunlardan dolayı ilk olarak problem denklemlerinde verilen bilgiye dayanan nominal bir kademe büyüklüğü kullanılarak denklemler sayısal olarak çözülür. Sonuçlar kararlı görünüyorsa kademe büyüklüğü ikiye bölünerek hesap tekrarlanır. Sonuçlar karşılaştırılır. Eğer ilk kademe büyüklüğü yeterli görünüyorsa nominal kademe büyüklüğü artması sürdürülür. Bundan sonra yeterli duyarlık sağlanıncaya kadar kademe büyüklüğü azaltılır. Genellikle uygun bir optimum kademe büyüklüğü bulmak için birkaç deneme çözümü gerekir. Fortran Programı Önceki bölümde açıklanan tanktaki sıvı düzeyi değişimini (H) tanka giren Qi, ve tanktan çıkan sıvı akım hızlarının fonksiyonu olarak yazalım. dh i 0 dt Q Q = A H, Q i ve Q 0 değişkenlerini tek bir eşitlikte toplamak yerine herbirini ayrı tanımlamak daha uygundur. bu denklemlerin çözümü için C v, A ve H ın başlangıç şartı (t = 0 H = 0 gibi) gerekmektedir. Diğer gerekli veri Q(t) dir. Bu ise t nin keyfi bir fonksiyonudur. Şekil 7.5 Q(t) nin düzensiz bir fonksiyon şeklinde verilmesi
66 Eğriyi oluşturan noktaları birleştiren bir dizi lineer denklem yazılabilir. Programdaki bilgi akışı aşağıdaki şekilde gösterilebilir. Şekil 7.6 Sayısal integrasyonda bilgi akışı Bu denklemlerin çözüm programı üç bölüme ayrılabilir. Başlangıç Bölümü: Ön hesaplamlar ve gerekli icra deyimlerinden, keyfi fonksiyon ve çözüm için gerekli veri girişlerinden oluşur. C BIRINCI MERTEBE INTEGRASYON 0 FORMAT(F0.3,3X,F0.3,3X,F0.3,3X,F0.3,3X,F0.3) DIMENSION AT(5),AQ(5) C BASLANGIC BOLUMU DATA(AT(N),N=,)/0.,.5,.,.,3.,4.,5.,6.,7.,8.,9.,0./ DATA(AQ(N),N=,)/0,0,34,5,63,70,70,6,48,4,4,40/ OPEN(4,FILE=BIRCIKTI,STATUS=OLD,ACCESS=SEQUENTIAL) WRITE(,0) WRITE(4,0) 0 FORMAT(7X, T H DH Q, / Q0,/, /4X,======= ======== ======== ======== ========) DT=0. A=5 T=0 H=0 TPRNT=0
67 Türev Bölümü: Bu bölüm sonuç olarak türevin hesaplayan cebirsel ifadeler veya birden fazla denklem çözülecekse türevler bulundurur. Hiçbir değişken önceden bir deyimle belirtilmeden kullanılamaz. Mesala dh türevi için denklem Qi ve Qo ın tanımından sonra yazılmalıdır. C TUREV BOLUMU 7 Q0=7.SQRT(H) Q=FUN(T,,AT,AQ) DH=(Q-Q0)/A Burada giriş QI değeri FUN den alınır. Bu noktada bütün integrasyon değişkenleri (T,H) belirtilmekte ve türev (DH), ara ve diğer bağımlı değişkenler hesaplanmaktadır. Bu bölümün altında ilgili değişkenlerin bağıl durumları ile bilgi yazılmalıdır. Bu yüzden türev bölümünü yazma bölümü izlemelidir. Yazma bölümü: Genellikle bu bilgi belirli aralıklarda istenir. Bu yüzden t zamanının bir sonraki yazma zamanını gösteren bir yazma indeksi (TPRNT) ile karşılaştırmak için programa bir test dahil edilmelidir. C YAZMA VE BITIRME ICIN TEST BOLUMU IF(T.GE.TPRNT) WRITE(,0) T,H,DH,Q,Q0 IF(T.GE.TPRNT) WRITE(4,0) T,H,DH,Q,Q0 IF(T.GE.TPRNT) TPRNT=TPRNT+ IF(T.GE.0.) GOTO 8 İntegrasyon Bölümü: Bu bölüm son bölüm olup, bağımsız değişken ekseni boyunca düzenli bir biçimde adımlama işlemini içerir. C INTEGRASYON BOLUMU T=T+DT H=H+DHDT GO TO 7 8 STOP END Yukarıdaki programın çıktısı aşağıdaki gibi olacaktır. T H DH Q Q0 ======= ======== ======== ======== ======== 0.000 0.000 0.000 0.000 0.000.000 0.466 0.896 34.000.609.000.5.44 5.000 0.899 3.00.949.380 63.700 9.95 4.00 4.340.383 70.000 35.46 5.00 5.630.50 69.00 40.338 6.00 6.555 0.647 59.700 43.54 7.00 6.939 0.05 47.400 44.78 8.00 6.934-0.5 4.900 44.764 9.00 6.808-0.38 40.900 44.357 0.000 6.676-0.57 40.000 43.94
68 Çok sayıda diferensiyel eşitlikler durumunda integrasyon adımları herhangi bir sırada yazılabilir. Bu kademeli integrasyonun yapılmasından sonra hesaplama, tekrar çevirme girmek, türevleri tekrar çıkarmak ve devam etmek üzere, türev bölümünün ilk satırına yöneltilir. Çevrim tekrar tekrar bağımsız değişken T önceden belirlenen sınıra ulaşıncaya kadar sürer. Bunun testi print deyiminden hemen sonra yapılır. Yazma bölümündeki son satırdaki deyim bunu göstermektedir. Bu deyim yerine getirildikten sonra bilgisayar yeni bir DT değerine yöneltilebilir veya bitirilebilir. Bu 8 numaralı deyimdir. Gerçekte hesaplamayı durdurmak üzere diğer herhangi bir problem şartı kullanılabilir. Örneğin H ın önceden belirlenen bir düzeye gelmesi durumunu ifade etmek için uygun bir bitirme deyimi şu sekilde olabilir. IF(H.GE.6.5.) GOTO 8