Basit bir 1D reaksiyon difüzyon denklemine çözümü hesaplarken garip bir gözlem yaptım:
Başlangıç değeri sabit (bir ) ve sadece üzerinde integrali ilgilendiğim mesafede ile ( ). Amacı, ve denklem sadece bu integrali değerlendirmektir.
Difüzyon ve reaksiyon arasındaki bağlantı için bir Strang yarma şeması kullandım (yarım adım reaksiyon, sonra tam adım difüzyon ve sonra tekrar yarım adım reaksiyon), difüzyon için bir Krank Nicholson şeması ve reaksiyon için analitik bir çözüm ( ) denklemini içerir .
Analitik çözeltinin bir adımı, Crank Nicholson şemasının bir adımından daha yavaş bir faktör 3'ten daha fazla olduğu için, her reaksiyon adımı için birden fazla Krank Nicholson adımı yapmaya çalıştım. Genel olarak daha hızlı olacağım için Strang yarma planının daha az adımını atmayı umuyordum.
Bununla birlikte, ters etki gözlenebilir, yani birden fazla Krank Nicholson adımı kullanılırsa Strang yarma şeması için çok daha fazla adım gereklidir. (Ben sadece üzerinde integral doğrulukla endişeleniyorum oranda daha hızlı yakınsama görünüyor, kendisi.) Bir süredir merak sonra, aynı etki de için olur fark ve bu dava için nedenini bile anlıyorum. Mesele şu ki, tam olarak bir Crank Nicholson adımı yaparsam, genel şema yamuk bir kurala dönüşür ( ).
Bu yüzden a'yı difüzyon adımının parçası olarak ele alırsam, Crank Nicholson adımlarının sayısını arttırmak (muhtemelen) genel doğruluğun azalmasına (gözlemlendiği gibi) yol açmaz. Ancak bu, sistemin (doğrusal olmayan ve potansiyel olarak çok sert) reaksiyon kısmı için analitik bir çözüm kullanma amacını ortadan kaldırıyor gibi görünüyor.
Yani benim sorum: a'yı bir Strang bölünmesi bağlamında, reaksiyon adımının bir parçası olarak tedavi etmekten veya tedavi etmekten daha iyi bir yol var mı? difüzyon adımının bir parçası olarak. Difüzyon için tam olarak bir Crank Nicholson adımı kullanmaya "zorlanmak" olmaktan kaçınmak istiyorum. (Örneğin 3D'de, difüzyonu Crank Nicholson kullanmak yerine bir FFT ile analitik olarak çözmeyi tercih ederim. Tabii ki FFT'yi Crank Nicholson ile de birleştirebilirim, bu yüzden bu kadar önemli değil.)