我有一个 3D 扩散方程,我想使用时间分裂 (2D+1D) 来求解。假使,假设A是二维离散扩散算子和B是一维离散扩散算子。
我想使用 STRANG 拆分来确保全局二阶精度:
∂f∂t=12Af∂f∂t=Bf∂f∂t=12Af
对于每次积分,我想应用 BDF2 隐式公式来确保稳定性和局部二阶精度:
∂f∂t≈fn+1−43fn+13fn−123Δt
我的问题是:对于时间迭代nΔt, 是什么fn−1分裂的每个阶段?是不是状态f在上一次迭代或上一个分裂阶段?
更确切地说,我是否遵循这个算法?
f0,f1→(Δt2A)f21f1,f21→(ΔtB)f22f21,f22→(Δt2A)f2
对于接下来的迭代,我们初始化f0=f22和f1=f2.
还是这个?
f0,f1→(Δt2A)f21f0,f21→(ΔtB)f22f0,f22→(Δt2A)f2
对于接下来的迭代,我们初始化f0=f1和f1=f2.
是否有另一种方法来确保无条件稳定的时间积分分裂与全局和局部二阶?