为了使用 FDM 模拟以下方程
其中是给定函数是常数。我正在努力离散化以获得相应的线性系统。ut(t,x)−uxx(t,x)=0,(t,x)∈(0,1)×(0,1)
(ut(t,x)−ux(t,x))|x=0=0,t∈(0,1)
(ut(t,x)+ux(t,x))|x=1=0,t∈(0,1)
u(0,x)=u0,x∈(0,1)
u(0,0)=μ0,u(0,1)=μ1,
f,g,u0u1,u2
对于采用并使用显式欧拉方案的第一个方程,我发现
与,但我不知道如何离散第二个和第三个方程。对于导数,我认为我应该通过添加两个鬼点来使用中心公式,就像在 Neumann bc 中一样,对于时间导数也是如此,但这有点复杂并且会产生很多方程。unj=u(tn,xj)un+1j=runj−1+(1−2r)unj+runj+1,
r=Δt(Δx)2x
也许我应该将方程视为通过边界的耦合系统,但我不知道该怎么做。什么是正确的 FDM 离散化。谢谢你的帮助。
PS:我对 FDM 的背景非常简单(只是理论上的),这是我第一次模拟 PDE。那么,您对此有何建议?(方法、语言、程序...等)。