# Lattice Boltzmann yöntemleri
Lattice Boltzmann yöntemi (LBM - Lattice Boltzmann Method), akışkanlar dinamiği problemlerini sayısal olarak çözmek için kullanılan bir yöntemdir. Bu yöntem, Boltzmann denkleminin basitleştirilmiş bir versiyonunu çözerek akışkanın makroskopik özelliklerini tahmin eder. LBM, özellikle karmaşık sınırlara ve serbest yüzeylere sahip akış problemlerinde etkili bir şekilde kullanılabilir.


## Tarihçe.
Lattice Boltzmann yöntemi (LBM), son yıllarda akışkanlar dinamiği ve ısı transferi problemlerini çözmek için popüler hale gelen bir yöntemdir. Bu yöntemin kökleri, hücre özerk gaz otomata teorilerine ve Boltzmann denkleminin diskretizasyonuna dayanmaktadır.


### Hücre Özerk Gaz Otomata (LGA).
LBM'nin tarihçesi 1970'lerin başlarına, hücre özerk gaz otomata (LGA) modellerinin geliştirilmesine dayanır. LGA, John von Neumann ve Stanislaw Ulam tarafından önerilmiş bir konsept olan hücre özerk otomatalar üzerine kuruludur. LGA modelleri, akışkanları ayrık hız setleriyle temsil eden ve zaman, uzay ve hızın ayrık düzlemlerde hareket ettiği basit kurallarla evrilen hücreler içerir.


### Lattice Gas Automata (LGA).
1980'lerin sonlarında ve 1990'ların başlarında, LGA, akışkanlar dinamiği problemlerini çözmek için kullanıldı. Bu modeller, Navier-Stokes denklemlerinin mikroskopik bir temsili olarak görülebilir ve bu yolla karmaşık akışkan akışları simüle edebilir. Ancak, LGA modelleri istatistiksel gürültüye eğilimliydi ve bu da sonuçların doğruluğunu ve verimliliğini olumsuz yönde etkileyebilirdi.


### Lattice Boltzmann Method (LBM).
Gürültü problemlerini çözmek ve daha genel uygulamalar için yöntemi uyarlama amacıyla, Lattice Boltzmann Method (LBM) geliştirildi. LBM, LGA'nın aksine, hücreler arasındaki parçacıkların olasılık dağılımını takip eder. Bu, istatistiksel gürültüyü azaltır ve yöntemi daha geniş bir uygulama yelpazesi için uygun hale getirir.


### Gelişme ve Popülerleşme.
1990'lar ve 2000'ler boyunca, LBM, sayısal akışkanlar dinamiği topluluğu tarafından geniş ölçüde kabul gördü ve birçok farklı probleme uygulandı. LBM, karmaşık sınır koşulları ve geometrilerle başa çıkabilme yeteneği, paralel hesaplama için uygunluğu ve uygulamasının göreceli basitliği nedeniyle öne çıktı.
Bugün, LBM, endüstri ve akademi dünyasında akışkanlar dinamiği, ısı transferi, çok fazlı akışlar ve elektromanyetik alan hesaplamaları gibi birçok alanda yaygın olarak kullanılmaktadır. Sürekli olarak geliştirilmekte ve yeni uygulama alanları için uyarlama çalışmaları yapılmaktadır.
Bu şekilde, LBM, 1970'lerdeki hücre özerk gaz otomata teorilerinden, günümüzde geniş bir uygulama yelpazesi için etkili bir çözüm yöntemi haline gelmiştir.


## Temel Prensipler.
  - Diskretizasyon: Akışkan, düzenli bir ızgara üzerinde diskretize edilir ve her bir ızgara noktasında akışkanın hız dağılım fonksiyonları tanımlanır.
  - Çarpışma: Her bir ızgara noktasındaki hız dağılım fonksiyonları arasında yerel bir çarpışma işlemi uygulanır. Bu, akışkanın yerel denge durumuna dönmesini sağlar.
  - Yayılma: Hız dağılım fonksiyonları, çarpışma sonrası komşu ızgara noktalarına yayılır. Bu, akışkanın uzayda hareket etmesini sağlar.
  - Makroskopik Değerler: Akışkanın yoğunluk, hız gibi makroskopik özellikleri, hız dağılım fonksiyonlarından türetilir.


## Avantajları.
  - Karmaşık Geometriler: LBM, karmaşık geometrileri ve sınırları kolayca işleyebilir.
  - Paralel Hesaplama: Algoritma, yüksek derecede paralellik içerir, bu da büyük ölçekli hesaplamaların hızlı bir şekilde yapılmasını sağlar.
  - Basit Uygulama: LBM'nin uygulanması, diğer akışkanlar dinamiği çözüm yöntemlerine göre daha basittir.


## Dezavantajları.
  - Hafıza Kullanımı: LBM, hafıza açısından diğer yöntemlere göre daha maliyetli olabilir.
  - Yüksek Re Knudsen Sayıları: LBM, düşük Re Knudsen sayılı akışlar için daha uygundur. Yüksek Re Knudsen sayılı akışlarda stabilite ve doğruluk sorunları yaşanabilir.


## Uygulama Alanları.
  - Mikroakışkanlar
  - Poröz Medya Akışı
  - Çok fazlı akışlar
  - Türbülanslı akışlar
LBM, son yıllarda popülerliğini artırmış ve birçok farklı mühendislik disiplininde kullanılmaya başlanmıştır. Bu yöntemin başarılı bir şekilde uygulanabilmesi için akışkanın termodinamik ve hidrodinamik özelliklerinin iyi anlaşılması gereklidir.
Lattice Boltzmann Method (LBM), sadece akışkan dinamiği problemleri için değil, aynı zamanda ısı transferi ve elektromanyetik alan hesaplamaları gibi birçok farklı fiziksel olayın modellenmesi için de kullanılmaktadır.


### Isı Transferi.
LBM, ısı transferi problemlerinin çözümünde oldukça etkili bir yöntem olarak kullanılabilir. Isı transferi, genellikle enerji denklemleri ile modellenir ve bu denklemler, LBM framework'ü içerisinde çözülebilir.
  - Konveksiyon: LBM, hem zorlamalı konveksiyon hem de doğal konveksiyon durumlarını başarıyla simüle edebilir. Akışkanın hız alanı ve sıcaklık alanı arasındaki etkileşim, ısı taşınımını etkiler.
  - İletim: LBM, ısı iletimini modellemek için de kullanılabilir. Bu durumda, sıcaklık alanının zaman içinde nasıl değiştiği simüle edilir.
  - Çok fazlı akışlar: LBM, çeşitli fazlar arasındaki ısı transferini modellemek için de kullanılabilir.


### Elektromanyetik Alan Hesaplamaları.
LBM, Maxwells denklemlerinin çözümü için de uyarlanabilir ve elektromanyetik alan hesaplamalarında kullanılabilir.
  - Elektromanyetik Dalgalar: LBM, elektromanyetik dalgaların yayılımını, yansımasını ve kırılmasını simüle edebilir.
  - İletken Ortamlar: LBM, iletken ortamlarda elektromanyetik alanların nasıl dağıldığını modellemek için kullanılabilir.
  - Plazmalar: LBM, plazma dinamiklerini ve elektromanyetik alanlarla etkileşimini simüle etmek için de uyarlanabilir.


### Avantajlar ve Zorluklar.
  - Hesaplama Maliyeti: LBM, paralel hesaplama yetenekleri sayesinde büyük ölçekli problemleri çözmede etkilidir. Ancak, yüksek hafıza gereksinimleri hesaplama maliyetini artırabilir.
  - Doğruluk ve Stabilite: LBM, belirli parametre aralıkları ve durumlar için doğru ve stabil sonuçlar üretebilir. Ancak, yöntemin uygulama doğruluğunu ve stabilitesini sağlamak için dikkatli bir şekilde kalibre edilmesi gerekmektedir.
  - Karmaşık Geometriler: LBM, karmaşık geometriler ve sınır koşulları ile başa çıkabilir, bu da yöntemi birçok gerçek dünya problemi için uygun hale getirir.
Sonuç olarak, Lattice Boltzmann Method, geniş bir uygulama yelpazesi olan güçlü ve esnek bir sayısal çözüm yöntemidir. Akışkanlar dinamiği, ısı transferi ve elektromanyetik alan hesaplamaları gibi birçok farklı alanda başarıyla kullanılmaktadır.


## Örnek Kod.
Lid-driven cavity akışı, iki düzlem arasındaki akışı ifade eder ve genellikle Navier-Stokes denklemleri ile modellenir. Lattice Boltzmann Method (LBM) kullanarak bu tip bir akış problemini çözmek için aşağıdaki pseudo kodu MATLAB dilinde oluşturabilirsiniz. Bu örnek, basit bir 2D lid-driven cavity problemi için D2Q9 (iki boyutlu, dokuz hız vektörü) modelini kullanır.
Bu pseudo kod, temel LBM adımlarını takip eder: çarpışma, yayılma, sınır koşullarının uygulanması ve makroskopik değerlerin hesaplanması.
% Parametreler
rho0 = 1; % Başlangıç yoğunluğu
tau = 0.6; % Relaxation time
nx = 100; % Izgara boyutu (x)
ny = 100; % Izgara boyutu (y)
numIterations = 1000; % İterasyon sayısı
u_wall = 0.1; % Üst duvar hızı
% D2Q9 model parametreleri
w = [4/9, 1/9, 1/9, 1/9, 1/9, 1/36, 1/36, 1/36, 1/36];
cx = [0, 1, 0, -1, 0, 1, -1, -1, 1];
cy = [0, 0, 1, 0, -1, 1, 1, -1, -1];
opp = [1, 4, 5, 2, 3, 8, 9, 6, 7];
% Hız dağılım fonksiyonları (f) ve denge dağılım fonksiyonları (feq)
f = zeros(nx, ny, 9);
feq = zeros(nx, ny, 9);
rho = rho0 * ones(nx, ny);
ux = zeros(nx, ny);
uy = zeros(nx, ny);
% Başlangıç koşulları
for i = 1:nx
 for j = 1:ny
 for k = 1:9
 f(i,j,k) = w(k) * rho(i,j);
 end
 end
end
% Ana döngü
for iter = 1:numIterations
 % Çarpışma
 for i = 1:nx
 for j = 1:ny
 % Makroskopik değerleri hesapla
 rho(i,j) = sum(f( i,j,: ));
 ux(i,j) = sum(cx .* squeeze(f( i,j,: ))) / rho(i,j);
 uy(i,j) = sum(cy .* squeeze(f( i,j,: ))) / rho(i,j);
 % Denge dağılım fonksiyonlarını hesapla
 for k = 1:9
 cu = 3 * (cx(k) * ux(i,j) + cy(k) * uy(i,j));
 usqr = ux(i,j)^2 + uy(i,j)^2;
 feq(i,j,k) = rho(i,j) * w(k) * (1 + cu + 0.5 * cu^2 - 1.5 * usqr);
 end
 % Relaxation
 for k = 1:9
 f(i,j,k) = (1 - 1/tau) * f(i,j,k) + 1/tau * feq(i,j,k);
 end
 end
 end
 % Yayılma
 for i = 1:nx
 for j = 1:ny
 for k = 1:9
 ni = i + cx(k);
 nj = j + cy(k);
 % Periodik sınır koşulları
 if ni > nx
 ni = ni - nx;
 elseif ni < 1
 ni = nx + ni;
 end
 if nj > ny
 nj = nj - ny;
 elseif nj < 1
 nj = ny + nj;
 end
 f(ni, nj, k) = f(i, j, k);
 end
 end
 end
 % Sınır koşulları
 for i = 1:nx
 for k = 1:9
 % Üst duvar (hareketli duvar)
 f(i,ny,k) = f(i,ny,opp(k)) + 6 * w(k) * rho0 * u_wall * cx(k);
 % Alt duvar (sabit duvar)
 f(i,1,k) = f(i,1,opp(k));
 end
 end
 % Çıkış
 if mod(iter, 100) == 0
 fprintf('Iterasyon: %d, Maksimum hız: %f\n', iter, max(max(ux)));
 end
end
% Sonuçları göster
figure;
quiver(ux', uy');
title('Hız Vektörleri');
xlabel('x');
ylabel('y');
axis equal tight;
Bu kod, basit bir 2D lid-driven cavity akışını modellemek için tasarlanmıştır. Bu modelde, üst duvar sabit bir hızla hareket ederken diğer duvarlar sabittir. Bu, akışın içeride dönmesine neden olur. Kod, akışın nasıl geliştiğini ve sabit duruma ulaştığını gözlemlemek için kullanılabilir. Çıktı olarak, akışın hız vektörleri gösterilir.


## Mikro Akışkanlar.
Lattice Boltzmann Method (LBM), mikro ölçekteki akışkan akışlarını incelemek için kullanılan güçlü bir yöntemdir. Mikroakışkanlar, genellikle hidrolik çapı mikrometre veya nanometre mertebesinde olan kanallarda akışkan hareketini ifade eder. Bu ölçekte, akışkanın davranışı klasik makroskopik akışkan dinamiği teorilerinden farklılık gösterebilir ve bu özellikler LBM ile etkili bir şekilde incelenebilir.


### Velocity Slip (Hız Kayması).
Mikro ölçekteki akışkan akışlarında, akışkan moleküllerinin duvara yapışma eğilimi azalır. Bu durum, akışkanın duvarlar boyunca kayma eğilimi göstermesine neden olur ve bu olaya "hız kayması" (velocity slip) denir. Klasik Navier-Stokes denklemlerinde akışkanın duvar boyunca sıfır hızda olduğu varsayılırken, mikroakışkanlarda bu durum geçerli değildir. LBM, bu kayma koşullarını modellemek ve mikroakışkan akışlarının analizini yapmak için kullanılabilir.


### Temperature Jump (Sıcaklık Atlaması).
Mikro ölçekteki akışkanlarda, sıcaklık profili aynı zamanda normalden farklı davranışlar gösterir. Sıcaklık, duvarlar boyunca ani değişiklikler (atlamalar) gösterebilir. Bu olaya "temperature jump" (sıcaklık atlaması) denir. LBM, bu tür sıcaklık değişikliklerini modellemek ve analiz etmek için kullanılabilir.


### Knudsen Number (Knudsen Sayısı).
Mikroakışkanlarda önemli bir parametre de Knudsen sayısıdır. Knudsen sayısı, akışkanın serbest yol uzunluğunun karakteristik uzunluğa oranı olarak tanımlanır. Bu sayı, akışkanın kontinuum hipotezine ne kadar uyduğunu belirler. Düşük Knudsen sayıları (Kn < 0.01), akışkanın kontinuum hipotezine uyduğu ve Navier-Stokes denklemlerinin geçerli olduğu durumları ifade eder. Yüksek Knudsen sayıları (Kn > 0.1) ise serbest moleküler akış rejimini ifade eder ve bu durumda Navier-Stokes denklemleri geçerli değildir. LBM, her iki rejimdeki akışları modellemek için kullanılabilir ve özellikle geçiş rejimindeki (0.01 < Kn < 0.1) akışlar için etkili bir yöntem sunar.
Özetle, Lattice Boltzmann Method, mikroakışkan akışlarının ve bu akışlardaki özgün fenomenlerin incelenmesi için güçlü ve esnek bir araçtır. Hız kayması, sıcaklık atlaması ve Knudsen sayısı gibi kritik parametreleri dikkate alarak, mikro ölçekteki akışkan akışlarını detaylı bir şekilde analiz etmeye olanak tanır. Bu özellikleriyle LBM, mikroakışkanlar alanındaki araştırmalarda önemli bir rol oynamaktadır.


## Diğer Metotlarla Karşılaştırma.
Lattice Boltzmann Method (LBM) akışkan dinamiği problemlerini çözmek için kullanılan bir yöntemdir ve diğer sayısal çözüm yöntemleriyle çeşitli yönlerden karşılaştırılabilir.


### 1. Monte Carlo Yöntemi.
  - Benzerlikler: Hem LBM hem de Monte Carlo yöntemi, stokastik yaklaşımları kullanır. Her iki yöntem de paralel hesaplamaya uygun olabilir.
  - Farklar: Monte Carlo yöntemi, doğrudan parçacıkların rastgele hareketini simüle ederken, LBM, makroskopik akışkan davranışını modellemek için mikroskopik parçacık dağılımlarını kullanır. LBM, akışkan akışlarını ve termal taşınımı modellemek için daha uygundur, Monte Carlo ise genellikle istatistiksel fizik problemlerinde ve entegrasyon problemlerinde tercih edilir.


### 2. Moleküler Dinamik (MD).
  - Benzerlikler: Hem LBM hem de MD (Molecular Dynamics), mikroskopik ölçekte parçacık hareketlerini simüle eder. Her iki yöntem de moleküler etkileşimleri ve karmaşık sınır koşullarını modelleyebilir.
  - Farklar: MD, parçacıklar arası kuvvetleri doğrudan çözerek atomik ve moleküler ölçekteki sistemleri simüle eder. LBM ise parçacık dağılımlarını kullanarak akışkan dinamiğini çözer ve genellikle daha büyük ölçekli akışkan akışlarını simüle etmek için uygundur. LBM, hesaplama maliyeti bakımından genellikle daha verimlidir.


### 3. Sonlu Elemanlar Yöntemi (FEM).
  - Benzerlikler: Hem LBM hem de FEM (Finite Element Method), problemleri ayrık hale getirerek çözüm yapar. İki yöntem de karmaşık geometri ve sınır koşullarını modelleyebilir.
  - Farklar: FEM, parçacık dağılımları yerine sürekli alan fonksiyonlarını temel alır ve genellikle yapısal mekanik ve termal problemlerde tercih edilir. LBM, akışkan dinamiği ve ısı transferi problemlerinde daha etkilidir. FEM, elemanların deformasyonlarını dikkate alırken, LBM akışkanın kinetik teorisine dayanır.


### 4. Sonlu Hacim Yöntemi (FVM).
  - Benzerlikler: Hem LBM hem de FVM (Finite Volume Method), ayrık hücreler üzerinde çalışır ve her iki yöntem de akışkan dinamiği problemleri için uygundur. Ayrıca, her iki yöntem de korunum yasalarını tatmin eder.
  - Farklar: FVM, akışkanın makroskopik özelliklerini doğrudan çözerken, LBM mikroskopik parçacık dağılımlarını kullanır. FVM, integral formdaki denklemleri çözerken, LBM Boltzmann denkleminin diskretize edilmiş bir formunu çözer. LBM, özellikle karmaşık sınır koşulları ve çok fazlı akışlar için FVM'ye göre daha esnek olabilir.
Sonuç olarak, LBM, özellikle mikroakışkanlar, karmaşık geometriler ve çok fazlı akışlar gibi alanlarda diğer yöntemlere göre avantajlar sunabilir. Ancak, problemin doğasına ve spesifik ihtiyaçlara bağlı olarak en uygun yöntemi seçmek önemlidir.