● Newton'un Yasası
İki kütle birbirini, aralarındaki mesafenin karesinin tersi oranında çeker. Bu, evrendeki en temel kuvvetlerden biri:
Bizim simülasyonda her partikülün kütlesi eşit (m = 1) ve kara delik kütlesi sabit (M), o yüzden formül kısaltılır: kara deliğin yarattığı ivme a = μ / r² olur. Burada μ = G · M (gravitational parameter).
● Singularity Sorunu (Softening)
Saf 1/r² formülü çok yakında patlar (r → 0 olunca F → ∞). Bu, sayısal simülasyonda partiküllerin sonsuz hıza fırlamasına yol açar. Çözüm softening:
s bir uzaklık parametresi — yakında ivmeyi sınırlandırır, uzakta saf Newton davranışını korur. Astrofizik N-body simülasyonlarında standart yaklaşım.
● Yörünge Mekaniği (Kepler)
Bir partikül yeterli teğetsel hıza sahipse, kara deliğe düşmek yerine etrafında döner. Kritik hızlar:
| Hız | Formül | Yörünge tipi |
|---|---|---|
| Çembersel | v_circ = √(μ/r) | Sabit yarıçapta dönüş |
| Kaçış (escape) | v_esc = √(2·μ/r) = √2 · v_circ | Sonsuza gider, geri dönmez |
- v < v_circ → düşer ya da elliptik (kara deliğe yaklaşır, uzaklaşır)
- v = v_circ → mükemmel çembersel yörünge
- v_circ < v < v_esc → elliptik yörünge (eccentricity)
- v ≥ v_esc → hiperbolik flyby (geçer gider)
Simülasyonumuzda her partikül respawn olduğunda, kendi mesafesine göre v_circ hesaplanır ve 0.7 - 1.4 arası rastgele bir faktörle başlangıç hızı verilir. Bu yüzden bazı partiküller yörüngede kalır, bazıları geçer gider.
● Event Horizon
Genel görelilikte kara deliğin "olay ufku" yarıçapı (Schwarzschild yarıçapı):
Bu yarıçap içinde hiçbir şey kaçamaz — ışık bile. Bizim simülasyonda partikül bu sınıra ulaşırsa respawn olur (kara delik onu yutmuş gibi); rastgele bir uzaklıkta yeni başlangıç hızıyla yeniden doğar. Sürekli akış sağlar.
● Sayısal Entegrasyon
Gerçek hayatta süreklilik var, ama bilgisayar zamanı ayrık adımlarla işler. Her frame'de semi-implicit Euler kullanıyoruz:
Saf Euler entegrasyonu yörüngelerde enerji kaybeder ya da kazanır. Semi-implicit (önce hız güncelle, sonra konum) symplectic özellik gösterir — yörüngeler uzun süre stabil kalır. dt = 1 frame olarak normalize edilmiş.