Adım adım değil, bütün olarak
Bir gezegenin yörüngesini hesaplamanın okul yolu bellidir: şu anki konum ve hızdan küçük bir adım at, kuvveti yeniden hesapla, bir adım daha at. RK4 gibi yöntemler bunu çok iyi yapar ama doğası gereği sıralıdır; ikinci adım birinci bitmeden başlayamaz.
Aynı hareket denklemi bir integral olarak da yazılabilir: bir andaki konum, başlangıç konumu artı başlangıç hızıyla gidilen yol, artı o ana kadar etkiyen bütün ivmelerin iki kez toplanmış halidir. Bu Volterra formunda ilginç bir şey yapılabilir: bütün yörüngeyi tahmin et, tahmin üzerinde ivmeleri hesapla, integrali al ve yeni, daha iyi bir yörünge elde et. Buna Picard iterasyonu, bütün yörüngeye birden uygulanınca da waveform relaxation denir.
Oynat’a bas ve yeşil bölgeyi izle. Doğruluk t = 0’dan bir dalga cephesi gibi ilerler: her tarama bütün eğriyi değiştirir ama doğru olan kısmı sadece biraz uzatır. Volterra denklemlerinde Picard, sonlu her ufukta sonunda yakınsar; bu teorinin güzel bir garantisi. Ama iterasyon sayısı ufukla birlikte büyür ve yakın geçişlerde, kuvvetin çok sertleştiği yerlerde, uzun bir ufuk iterasyonu neredeyse durdurabilir. Sönümleme (β < 1) sert durumlarda güvenlik sağlar ama kolay durumlarda sadece yavaşlatır.
Parça parça: pencereler
Madem her tarama bütün ufku baştan geziyor ama doğru kısmı sadece biraz ilerletiyor, uzun bir ufku tek parça çözmek israftır. Onu kısa pencerelere böl; her pencereyi kendi içinde yakınsat, bittiği yerdeki konum ve hız bir sonrakinin başlangıcı olsun. aura-volterra-engine’in sürekli modu bunu yapar ve belleği sabit tutan bir gecikme tamponuyla pencereleri sonsuza kadar kaydırabilir.
Tek pencere de yakınsar, ama yaklaşık 90 bin ivme hesabına mal olur. On iki pencereye bölünce iterasyon sayısı artar ama her iterasyon kısa bir parçayı taradığı için iş beş kat azalır; yirmi dört pencerede sekiz kata yaklaşır. Bedeli küçük ve dürüstçe görünür: her pencere belli bir toleransla bitirilir ve bu kalıntı, yakın geçişlerde bir sonraki pencereye büyüyerek taşınır. Sonuç yine de adım adım çözümün aynısıdır: relaxation başka bir cevap bulmuyor, aynı cevaba paralelleşebilir bir yoldan varıyor.
Kütleçekimi anlık değildir
Newton’un kütleçekimi sonsuz hızla yayılır: yıldız kıpırdadığı anda gezegen bunu hisseder. Gerçekte etki ışık hızıyla gelir, yani gezegen yıldızın eskiden olduğu yere çekilir. Volterra formu bunu doğal olarak taşır, çünkü zaten geçmişin tamamını içeren bir integral.
Ama saf haliyle uygulanan gecikme bir tuzak kurar. Gezegeni yıldızın eski konumuna çekmek yörüngeye küçük bir tork ekler ve yörünge yavaş yavaş büyür. Laplace bunu 1805’te fark edip kütleçekiminin ışıktan milyonlarca kat hızlı olması gerektiği sonucuna varmıştı. Genel görelilikte bu etki neredeyse tamamen sönümlenir: alan kaynağın hızını da taşıdığı için kuvvet, yıldızın şimdiki konumuna çok yakın bir yeri gösterir. Motorun aberasyon düzeltmesi bunu modeller.
Saf gecikmede enerji sapması tek yönde birikir; aberasyon düzeltmesi açıkken aynı c değerinde çok daha küçük kalır ve Newton’un salınımına benzer. Bu figür bir oyuncak model: gerçek motor tam 1PN (Einstein–Infeld–Hoffmann) denklemlerini kullanır. Ama tuzağın ve çıkışın şekli aynı.
- picard
- Bütün yörüngeyi tahmin edip tekrar tekrar düzelten sabit nokta iterasyonu.
- pencereler
- Uzun ufku yakınsayabilen kısa parçalara bölmek; sürekli modda sabit bellekle kayar.
- gecikme
- Sonlu hızla yayılan kütleçekimi; saf hali yörüngeyi şişirir, aberasyon düzeltmesi dengeler.