泊松方程共轭梯度法的边界条件

计算科学 边界条件 泊松 共轭梯度
2021-12-07 00:04:17

我想使用共轭梯度法来解决静电设置中的泊松方程: 然而,当谈到边界条件时,我有点困惑. 对于狄利克雷边界这很容易,因为我可以在解的初始猜测中实现条件。然而,当使用 neumann或周期性时,在初始猜测中不知道可以实现的值。所以我不确定在迭代过程中应该在哪里实施 bc..?

ρ=2ϕ
ϕ(0)=Dϕx=Cϕ(0)=ϕ(L)

提前致谢。

2个回答

Neumann 边界条件将显示在问题的右侧,因此您可以使用所需的任何向量开始迭代——它不必满足任何特定的边界条件。

周期性边界条件最终会影响矩阵的结构。您可以在解向量的初始猜测中选择任何值。选择相同的值可能很有用,但迭代求解器也应该仅根据矩阵计算出这个等式。ϕ(0)ϕ(L)

根据您使用的离散化和您拥有的 BC 类型,您需要将 BC 合并到矩阵中。

您可以将其视为在矩阵中为 BC 放置额外的行,然后您可以通过将它们添加到另一个方程中来消除它们。如果你以一种聪明的方式做到这一点,矩阵仍然是 spd 并且 rhs 会像 Wolfgang 指出的那样发生变化。请注意,对于 Neumann BC,您需要离散化 BC 以及内部 PDE。对于周期性 BC,只需向矩阵添加一组额外的(一维)形式的方程,这将改变其属性。x0=xL