Saya membuat pengamatan aneh sambil menghitung solusi untuk persamaan difusi reaksi 1D sederhana:
Nilai awal adalah konstan ( ), dan aku hanya tertarik terpisahkan atas dari ke ( ). Tujuan dari dan persamaan hanya untuk mengevaluasi integral ini.b ( 0 , x ) = b 0 a 0 1 ∫ 1 0 a ( t , x ) d t c ∂
Saya menggunakan skema pemisahan Strang untuk penggandaan antara difusi dan reaksi (reaksi setengah langkah, kemudian difusi langkah penuh, dan kemudian lagi setengah langkah reaksi), skema Crank Nicholson untuk difusi, dan solusi analitis untuk reaksi ( termasuk persamaan ).
Karena satu langkah dari solusi analitis lebih dari faktor 3 lebih lambat dari satu langkah skema Crank Nicholson, saya mencoba membuat lebih dari satu langkah Crank Nicholson untuk setiap langkah reaksi. Saya berharap untuk bertahan dengan langkah yang lebih sedikit dari skema pemisahan Strang, sehingga saya akan lebih cepat secara keseluruhan.
Namun, efek sebaliknya dapat diamati, yaitu bahwa lebih banyak langkah untuk skema pemisahan Strang diperlukan jika lebih dari satu langkah Crank Nicholson digunakan. (Saya hanya peduli dengan akurasi integral atas , yang tampaknya konvergen lebih cepat dari itu sendiri.) Setelah bertanya-tanya untuk beberapa waktu, saya melihat bahwa efek yang sama juga terjadi untuk , dan saya bahkan mengerti mengapa untuk kasus ini. Intinya adalah bahwa jika saya membuat tepat satu langkah Crank Nicholson, maka skema keseluruhan berubah menjadi aturan trapesium (jika ).a b ( t , x ) = b 0 = 0 b ( t ) = 0
Jadi jika saya akan memperlakukan sebagai bagian dari langkah difusi, meningkatkan jumlah langkah Crank Nicholson (mungkin) tidak akan menyebabkan berkurangnya akurasi keseluruhan (seperti yang diamati). Tapi itu tampaknya mengalahkan tujuan menggunakan solusi analitis untuk bagian reaksi (non-linear dan berpotensi sangat kaku) dari sistem.
Jadi inilah pertanyaan saya: Apakah ada cara yang lebih baik untuk memperlakukan dalam konteks pemisahan Strang, daripada memperlakukannya sebagai bagian dari langkah reaksi, atau untuk memperlakukan itu sebagai bagian dari langkah difusi. Saya ingin menghindari "dipaksa" untuk menggunakan tepat satu langkah Crank Nicholson untuk difusi. (Misalnya dalam 3D, saya lebih suka menyelesaikan difusi secara analitik dengan FFT daripada menggunakan Crank Nicholson. Tentu saja saya juga bisa menggabungkan FFT dengan Crank Nicholson, jadi ini bukan masalah besar.)