混合双曲抛物线偏微分方程无通量边界

计算科学 pde 边界条件
2021-12-12 05:17:10

我读了这篇文章,“在对流扩散方程使用诺依曼边界条件时物理量的守恒”,虽然它是同类型的方程,但它不适合我的问题。

我尝试使用 NAG 的求解器 d03pf 求解以下方程,该方程没有通量边界。应该不难,但我确实遇到了没有通量边界的麻烦。

(u)(t)+(F(u))(x)=(x)(D(u)(u)(x))

我确实有一个封闭的容器,颗粒正在向底部沉淀。在它们相互接触之前,它是双曲线型的。否则 PDE 是抛物线的。

我的通量函数类似于F=u×velocity(1u)C所以当我对双曲线部分使用标准的无通量函数时,说边界处的通量为零。求解器将最后一个单元格中的质量设置为零,我正在失去质量。

我可以说flux(end1)=flux(end)求解器将最后一个单元格中的浓度提高一倍(例如 C=5)。但这甚至对 C 也不起作用。

F(u)D(u)是分段可微的。

我确实有空间向量、这次迭代的时间和最后三个单元格的解。

有人知道另一种构建无通量边界的方法吗?

最好的祝愿

莫里茨

3个回答

您需要设置的正确边界条件是

F(u)D(u)ux=0

如果你可以有这个条件,质量将是完全守恒的(参见你所引用的推理问题的答案)。问题是这个条件是非线性的,所以这不是罗宾条件。

以下是我试图克服这个问题的方法:及时明确条件的一部分。一种选择是使用 Neumann 条件,例如

D(u(n))u(n+1)x=F(u(n))

在哪里u(n)是近似值u有时t. 您还可以尝试以下 Robin 条件:

D(u(n))u(n+1)x=u(n+1)v(1u(n))C

这应该给你一个近似的质量守恒(守恒也应该随着时间步长的减少而改善)。如果您想精确地保存质量,那么您应该在每个时间步进行二次迭代以解决非线性问题(但随后非线性求解器的收敛性开始发挥作用)。

希望这可以帮助!

大概吧。至少我得到一个输出。但不知何故,我的质量并不总是守恒(取决于适当的初始值,这对数据拟合不利)

我今天尝试了以下操作:我更换了通量功能F(u)=uv(1u)CF(u)=uvsign(1u)|1u|C

所以我可以设置一个边界 vsign(1u)|1u(end)|C=vsign(1u)|1u(end1)|C

因此求解器将最后一个单元格中的浓度设置为 > 1,以便流出的所有内容都流回。这可以保存质量,但需要更长的时间,有时不会收敛。

我现在的界限是

如果双曲线

0=v(1u)C|end

别的

0=v(1u)C+D(u)(u)(x)|end

天啊。刚翻过这个老话题。如果有人读到这个,不要使用工具箱。自己写吧。我用线的方法和公布的边界条件做到了。与标准 ode 求解器配合良好。不知道为什么它不起作用。