静态二维热方程的问题

计算科学 泊松
2021-11-30 16:32:00

所以我基本上试图解决热方程的最简单情况:

在此处输入图像描述

在域 [0;1] x [0,1] 上,正方形一个面上的边界条件为 1.5,所有其他面上的边界条件为 1.0。

我正在使用八度音阶,出于学习目的,我正在从头开始求解数学系统。(我知道这是低效的)

我得到的矩阵:

-4   1   0   0   1   0   0   0   0   0   0   0   0   0   0   0
1  -4   1   0   0   1   0   0   0   0   0   0   0   0   0   0
0   1  -4   1   0   0   1   0   0   0   0   0   0   0   0   0
0   0   1  -4   0   0   0   1   0   0   0   0   0   0   0   0
1   0   0   0  -4   1   0   0   1   0   0   0   0   0   0   0
0   1   0   0   1  -4   1   0   0   1   0   0   0   0   0   0
0   0   1   0   0   1  -4   1   0   0   1   0   0   0   0   0
0   0   0   1   0   0   1  -4   0   0   0   1   0   0   0   0
0   0   0   0   1   0   0   0  -4   1   0   0   1   0   0   0
0   0   0   0   0   1   0   0   1  -4   1   0   0   1   0   0
0   0   0   0   0   0   1   0   0   1  -4   1   0   0   1   0
0   0   0   0   0   0   0   1   0   0   1  -4   0   0   0   1
0   0   0   0   0   0   0   0   1   0   0   0  -4   1   0   0
0   0   0   0   0   0   0   0   0   1   0   0   1  -4   1   0
0   0   0   0   0   0   0   0   0   0   1   0   0   1  -4   1
0   0   0   0   0   0   0   0   0   0   0   1   0   0   1  -4

我的问题中的 RHS 向量错误

RHS 向量为:

f =
 -1.00000
 -1.00000
 -1.00000
 -1.00000
 -1.00000
 -0.00000
 -0.00000
 -1.00000
 -1.00000
 -0.00000
 -0.00000
 -1.00000
 -1.00000
 -1.50000
 -1.50000
 -1.00000

从下面的答案中正确更新 RHS 向量

f =
 -2.00000
 -1.00000
 -1.00000
 -2.00000
 -1.00000
 -0.00000
 -0.00000
 -1.00000
 -1.00000
 -0.00000
 -0.00000
 -1.00000
 -2.50000
 -1.50000
 -1.50000
 -2.50000

问题是我在角落附近发现了一些伪影,例如在以下打印屏幕中添加了边界条件:

在此处输入图像描述

1个回答

您的矩阵是正确的,但您的 RHS 向量没有强制执行您的边界条件。

例如,考虑与将使用两个不同边界值的内角点对应的行。此行的 RHS 向量应为

1.01.5

因为角落需要两个值减去 RHS。对于两个不同边界条件值相遇的其他(内部)角点也是如此。