有什么方法可以数值求解以下二维方程: on a矩形网格,知道在边界上为零?
二维散度方程的数值解
计算科学
pde
数字
2021-12-16 19:39:50
4个回答
你遇到的问题不是很好。本质上,您正在寻找两个函数应该只求解一个方程。那是不够的信息。
为了让您了解为什么这不起作用,假设您找到了一组解决方案。那么不难验证是也是您可能想要选择的任何函数的解决方案。因此,我只需轻轻一挥,就已经找到了无穷无尽的解决方案——太多了,无法做任何有用的事情。
换句话说,是否有数值方法可以解决您的问题是一个有争议的问题:您首先需要解决基本的数学问题,然后我们可以讨论数值逼近。
(您可能想反对边界条件要求我选择。但这只会改变问题:我仍然可以构造一个对于在边界上满足和 。有无穷多个这样的函数,例如,具有零边界值和任意右手边的斯托克斯方程的所有解。)
有很多方法可以做到这一点,可以应用有限差分法、有限体积法或有限元法。
上述方程通常被称为毒方程,通常是数值方法课程中新主题中第一个提出的方程。
我在堆栈溢出问题矩阵的答案中的有限差分离散化相关的矩阵,以生成有限差分(该矩阵在 MATLAB 代码中为)。A
或者,在维基百科上提到并参考Evans (2010) (p. 400),您可以将方程转换为一维波动方程。我在下面尝试过这个。边界条件可能会变得更加棘手。
如果你想摆脱你的混合导数,你可以使用坐标变换
你可以证明
然后
正如沃尔夫冈所解释的,问题不在于找到解决方案,而在于选择一个解决方案。
如果只是一些解决方案适合您,请继续并采取(例如)并解决对于每个(这意味着整合,例如)。但是,如果您出于某种原因对该解决方案不满意,则需要考虑您对解决方案还有哪些其他条件。
仅举两个例子:
您可能想寻找最少的解决方案-规范。这将导致具有线性等式约束的二次优化问题,即
这个问题的最优系统是另一个偏微分方程系统……您可能对无卷曲的解决方案感兴趣。然后使 ansatz(这意味着)并解决 这确实是一个泊松方程。
其它你可能感兴趣的问题