使用有限差分法时如何处理弯曲边界条件?


13

我正在尝试自己学习数字解PDE。

我开始使用有限差分法(FDM)已有一段时间了,因为我听说FDM是PDE众多数值方法的基础。到目前为止,我对FDM有了一些基本的了解,并且能够使用我在图书馆和Internet上找到的资料来为常规区域中的一些简单PDE编写代码,但是奇怪的是,我通常所用的资料很少关于治疗不规则的,弯曲的,奇怪的边界,像这样

而且,我从未见过处理弯曲边界的简单方法。例如,《偏微分方程的数值解-入门》(Morton K.,Mayers D)一书,其中包含我到目前为止所见的最详细的讨论(主要在p71的3.4和p199的6.4中)。对于我来说,这确实很麻烦且令人沮丧。

因此,正如标题所要求的那样,关于弯曲边界,人们通常在使用FDM时如何处理它?换句话说,最流行的治疗方法是什么?还是取决于PDE的类型?

是否有(至少相对)优雅且高精度的方法来处理弯曲边界?还是只是不可避免的痛苦?

我什至要问,当今人们是否真的将FDM用于弯曲边界?如果没有,通常的方法是什么?

任何帮助,将不胜感激。

Answers:


7

首先回答您的最后一个问题,如今人们是否真的将FDM用于弯曲边界,我会说答案是否定的。在商业CFD世界中,二阶精确有限体积方案是事实上的工业标准。与FD相比,FV(以及提到的有限元/非连续Galerkin方法)的优点之一是对复杂边界的处理更加自然。FD确实提供了许多数值方法(包括FV)的基础,这是第一步必须学习的方法,但对于大规模复杂的问题则不建议这样做。

至于在FD中处理复杂边界,我可以想到两种规范方法,其中一种是您提到的内插/外推方法。另一种方法是在物理空间中使用适合人体的网格点,并将其保形映射到“计算”空间,其中。然后,人们可以重写诸如(x,y)ξ=ξ(x,y),η=η(x,y)Δξ=Δη=constant

ux=uξξx+uηηx

其中术语称为度量术语,可以在问题开始时进行计算(或者对于简单域,您可能有一个精确的共形映射可用),并且导数可以在逻辑上简单的计算域上进行计算。此过程使边界条件的实现变得简单明了,但是它需要生成足够平滑的,名义上正交的曲线网格。 u(ξ,η)(x,y)u

我想说,这种适合人体的网格方法是处理FD中弯曲边界的“最受欢迎的方法”,但需要注意的是,对于复杂的应用程序,FD方法本身也不是很“流行”。除了非常简单的领域外,很少有人会在CFD文献中看到它们。


您的说法“我想答案是否定的”是不正确的。Visbal和Gaitonde在FDL3DI代码中广泛使用高阶FD 。同样,NASA的OVERFLOW代码是FD代码(据我所知/知道)。
Brian Zatapatique 2013年

OVERFLOW最初纯粹是FD,但现在通常使用FV通量分割(在链接的第1章中使用AUSM,HLLC等)。它也绝对是“旧版”代码。FDL3DI链接是从90年代开始的,当时基于高阶有限元/ DG的工作还处于起步阶段,并且没有任何可行的高阶精确有限体积方案。我认为您很难在2013年说服某人基于该工作的紧凑有限差分策略开始开发代码。尽管非常优雅,但对应用程序的限制非常严格。
Aurelius

我有点不同意您的陈述的普遍性,即不建议将FD用于大规模复杂问题。如今,HPC中的人们倾向于以类似于模具的方式重铸其有限元方案,并使用(半)结构化网格有效地实现无矩阵求解器以进行极端规模的计算。因此,尽管它们不合时宜,但人们实际上仍然希望使用有限的差异。更不用说在某些应用程序中您可以摆脱结构化网格。对于复杂的几何体,标准FD令人痛苦,也许这就是您要声明的内容。
Christian Waluga 2013年

对于简单的弯曲几何形状,高阶FD将在效率(精度/时间)的基础上胜过高阶谱差/体积,通量重构或DG方法。对于复杂的网格,网格生成可能足以让您尝试其他方法。不应忘记,上述方法的极大灵活性需要付出可观的代价,请参阅Loehner的这篇论文。这就是为什么FDL3DI和OVERFLOW仍然可以使用的原因之一。
Brian Zatapatique 2013年

@ChristianWaluga是的,这基本上就是我要声明的内容。显然,FD想法可以应用到其他应用程序中(例如,通过有限差分计算FV中的梯度),并且在某些区域(例如简单几何结构上的DNS)中,您会发现它们被使用。但是对于通用代码,过去20年的趋势已经从纯粹的FD转向了。
Aurelius

10

大多数CFD书籍都涵盖了弯曲的边界,例如Wesseling的第11 Ferziger和Peric的第8章

尽管这不是一个基本的理论问题,但在弯曲边界上执行高阶方法的边界条件的实际复杂性是引起人们对诸如几何形状有限的方法(包括不连续的Galerkin)等更灵活的几何方法产生兴趣的重要原因。在某些CFD仿真中仍使用结构化有限差分和有限体积网格,但是非结构化方法越来越受欢迎,高阶非结构化方法使用的局部运算实际上非常有效,因此与相似的FD相比,效率可能不会受到太大损失方法。(实际上,几何灵活性通常使它们更有效。)


好答案,杰德。在论文 p38-46中发现了如何治疗流体问题中不规则BC的详细分步指南。坦白说,在FD配方中这样做是一个主要的A *#痛苦。重要的见解是,弯曲的BC可以用大量的无穷小笔直的BC近似。
meawoppl 2013年

0

在过去的n年中,我从事高精度fdm的研究。我以静电-2 dim laplace方程为例来明确开发高精度算法。直到大约4年前,问题都是由可能不连续的水平或垂直线点构成的。如果您用谷歌搜索我的名字和fdm高精度,则应该找到参考。但这不是你的问题。您的问题是fdm和弯曲的边界。大约一年前,我在香港提出了一个8阶解(请参阅具有曲线边界的圆柱对称静电的有限差分方法))为靠近边界的内部点创建了8阶算法,这些算法当然需要在边界另一侧的点。只需将网格扩展到另一侧,即可将边界另一侧的点放置在此处。完成此操作后的问题是,在放松网格时如何找到这些点的值。它是通过使用算法从边界(已知电势)到点进行积分来完成的。它是相当成功的,并且准确度是大约<1e-11,但是BUT要求分别进行103个算法,每个算法都是单独制作的,而且有点脆弱,可以发现不稳定的几何形状。为了解决上述问题,已经使用(一个!)最小算法找到了一种解决方案(8级及以下)。该解决方案具有相当强的鲁棒性。它已经提交,但可以通过给我发电子邮件作为预印本。我相信该技术可以扩展到除laplace以外的时间无关的pde(需要线性),并且可以扩展到大于2的维度。我没有考虑时间相关的问题,但该技术是幂级数技术,应该具有适应性和适用性。大卫


2
如果您可以将论文提交到预印服务器(例如arXiv),然后在此处链接到它,那将改善您的答案。一般来说,答案不应包含电子邮件地址。我也鼓励您使答案更简洁。
Geoff Oxberry
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.