随机 Galerkin 代码中的小错误

计算科学 有限元 随机
2021-12-02 13:27:56

我正在关注Paul Constantine 的 Stochastic Galerkin Method Primer,第 3.1 节(2D Poisson 示例)。在此 matlab 代码中,示例尝试求解 PDE

α(w)(uxx+uyy)=1 in Ω=[1,1]2
u=0 on Ω
α(w)一个均匀随机分布的变量,其值位于[1,3].

我能够遵循该方法的推导及其在此处提供的 matlab 中的实现。除了一个小细节...

在matlab代码中,线性算子Lu=uxx+uyy用有限差分法离散化n=16等间距。根据我对问题的理解,这意味着

Δx=2n
. 然而,主程序文件 *poisson_2d.m*,(第 38 行),他使用

dx=1/n

我几乎可以肯定这是一个错字。即使随机伽辽金码被认为是通过蒙特卡罗模拟验证的,即使是蒙特卡罗模拟也使用有限差分离散化dx=1/n.

我找不到任何其他理由怀疑这个问题的拉普拉斯算子的空间离散化应该是1n.

有这类事情经验的任何人都可以证实/反驳我的怀疑吗?

1个回答

我刚刚与软件作者通信,我的怀疑得到了证实。空间步长为n这个问题的等距间隔应该是

xn+1x0n=yn+1y0n=2n
.