ストラン分割の最適な使用(反応拡散方程式用)


9

単純な1D反応拡散方程式の解を計算しているときに奇妙な観察をしました。

∂∂ta=∂2∂x2a−ab

∂∂tb=−ab

∂∂tc=a

初期値定数である(B (0 、X )= B 0)、および私は上に一体に興味があるから0に1(∫ 1 0(T 、X )D T)。目的Cと方程式∂bb(0,x)=b0a01∫01a(t,x)dtcちょうどこの積分を評価することです。∂∂tc=a

拡散と反応のカップリングにストラン分割スキームを使用しました(ハーフステップ反応、次にフルステップ拡散、そして再びハーフステップ反応)、拡散にはクランクニコルソンスキーム、そして反応の分析ソリューション(式を含む)。∂∂tc=a

分析ソリューションの1ステップは、クランクニコルソンスキームの1ステップよりも3倍以上遅いため、各反応ステップで複数のクランクニコルソンステップを作成しようとしました。Strang分割スキームのステップを減らして、全体的に速くなるようにしたいと思っていました。

ただし、反対の効果が見られます。つまり、複数のクランクニコルソンステップが使用される場合、ストラン分割スキームにはさらに多くのステップが必要です。(私はの積分の精度にのみ関心があります。それはそれ自体よりも速く収束するようです。)しばらく疑問に思った後、同じ効果がb (t 、x )= b 0 =でも発生することに気付きました。 0、そして私はこの場合の理由も理解しています。ポイントは、クランクニコルソンステップを1つだけ実行すると、全体的なスキームが台形の規則に変わるということです(b (t )= 0の場合)。aab(t,x)=b0=0b(t)=0

だから私は扱うならばクランクニコルソンステップの数を増加させる拡散工程の一部として(おそらく)(観察されたように)減少し、全体的な精度をもたらさないであろう。しかし、それはシステムの(非線形で潜在的に非常に硬い)反応部分に分析ソリューションを使用する目的に反するようです。∂∂tc=a

だからここに私の質問です:治療するより良い方法はありますかは、Strang分割のコンテキストでは、それを反応ステップの一部として扱うか、拡散ステップの一部として扱うかのどちらかです。私は、拡散のためにちょうど1つのクランクニコルソンステップを使用するように「強制される」ことを避けたいです。(たとえば、3Dでは、拡散をCrank Nicholsonを使用する代わりにFFTで解析的に解決したいと思います。もちろん、FFTをCrank Nicholsonと組み合わせることもできるので、それほど大したことではありません。)∂∂tc=a


でpeople.maths.ox.ac.uk/dellar/OperatorLB.html、同様の効果を説明しているようです。結論は、正確なソリューションの代わりにクランクニコルソンを使用することが重要であるということです。おそらく私の質問への答えは単純なノーです。
— Thomas Klimpel

cct

cc∫01a(t,x)dt

c

@BillBarthこのシステムを、指数反応項を持つ放物線PDEとしてどのように書くことができるかを知りたいと思います。このモデルのソリューションの速度は、モデルのキャリブレーション(数時間かかる場合があります)の間の制限要因です。そのため、時間積分に関して使用される精度は完全な収束からはほど遠いものです。
— Thomas Klimpel 2013

回答:


6

質問には直接答えませんが、これを答えとして書こうと思います。

∂2c∂t2=∂2∂x2∂c∂t+∂b∂t∂b∂t=−(∂c∂t)b
∂∂t(∂c∂t−∂2c∂x2−b)=01b(∂b∂t)=−∂c∂t
t
∂c∂t−∂2c∂x2=b+A(x)
A(x)=a0−∂2c0∂x2−b0
∫0t1b(x,t′)(∂b(x,t′)∂t′)dt′=−∫0t∂c(x,t′)∂t′dt′
ln⁡b(x,t)−ln⁡b0(x)=−c(x)+c0(x)
ln⁡bb0=−c+c0
b=b0ec0−c
c
∂c∂t−∂2c∂x2=b0ec0−c+A(x)

cc−c0c0(x)=0

∂c∂t=∂2c∂x2+a0−(1−e−c)b0
c>c0

b0=0

t=1c(x,1)


ca

問題ない。私は最初のコメントの交換の後で私を悩ませていました。お役に立てば幸いです。
— Bill Barth 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.