生成运动网格的基本原理是什么?


13

我对实现对流扩散问题的移动网格感兴趣。自适应运动网格方法提供了一个很好的示例,说明如何使用有限差分对一维Burger方程进行此操作。有人能够提供一个使用移动网格的有限差分法求解一维对流扩散方程的实例吗?

例如,以保守的形式,等式为

ut=(a(x)u+dux)x

其中是速度(空间的函数)。初始条件u 0 x 可以指定(例如)从左向右(例如,沿着管道)流动的流动物种,其中初始条件具有急剧的梯度。a(x)u(0,x)

如何解决运动网格的均分布问题(可能使用De Boor算法或其他方法)?我希望自己在Python中实现此功能,以便您的答案可以更好地转换为代码!


悬赏之前的旧问题

  1. 根据系统属性生成自适应网格的基本方法是什么?我应该使用通量来衡量梯度较大的地方吗?
  2. 因为我寻求一种迭代(时间扫描)解决方案。我想从旧网格插值到新网格很重要,通常的方法是什么?
  3. 我真的很想看到一个解决简单问题(例如对流方程)的实例。

有关该问题的细节的一些背景知识。我正在模拟一维耦合方程组,

ut=au2ux2+buux+fu(x,u,v,w)vt=av2vx2+bvvx+fv(x,u,v,w)wt=auux+avvx+fw(x,u,v,w)

这组方程描述了两个对流扩散问题,第三个方程与其他两个方程耦合。解决方案在网格中心附近迅速变化,请参见下文(这些是说明而非计算),

解决方案示例

uvw

w

uvw


从我的角度来看,您的不连续性是系统的一个相当稳定的功能,因为它可能会四处移动,但总是存在于某个地方(如果我弄错了,请纠正我)。因此,您可能要考虑使用移动网格而不是网格细化。自己编写程序会容易一些。[本书](books.google.com/books?isbn=1441979166)是很好的参考。
Daniel Shapero 2013年

是的,它认为这应该是一个非常稳定的功能(不连续),它在时间扫描过程中可能会稍微移动,而在接近稳态时可能会变得不对称。我想我可以使用非均匀(非自适应)网格,将点聚集在中心,而不是更复杂的网格。我不知道不同的网格自适应技术。这本书看起来不错,尽管要严格实现移动网格还有很多工作要做。我曾希望“快速修复”!
boyfarrell 2013年

Answers:


4

自适应网格是一种网格网络,可自动将高流场梯度区域中的网格点聚类。它使用流场属性的解决方案在物理平面中定位网格点。自适应网格随着时间的流逝与控制流场方程的时间相关解一起发展,该解以时间为单位计算流场变量。在求解过程中,物理平面中的网格点以这种方式移动,以“适应”流场梯度较大的区域。因此,物理平面中的实际网格点在流场的解算过程中始终处于运动状态,并且仅在流解接近稳态时才变为静止。

网格自适应可用于稳定和不稳定类型的问题。在存在稳定流动问题的情况下,在预定的迭代次数后对网格进行适应,并且网格适应将在求解收敛时停止。在时间精确解决方案的情况下,结合物理问题的时间精确解决方案执行网格点运动和细化。这需要时间精确地耦合物理问题的PDE和描述网格运动或网格适应的PDE。

对于较新配置的计算,要依赖于网格生成的最佳实践准则和以前的经验,这会带来大量数值误差。网格自适应方法可以极大地提高解决方案质量,并有望带来更好的结果,因为不存在限制可以达到的网格分辨率极限的限制。

hrprphprh

h

h

r

r自适应方法不是通过对网格及其连接进行局部拓扑更改,而是通过移动固定总数的网格点的位置对分辨率进行局部更改。

p

网格自适应的非常流行的方法是有限元方法,而不是有限体积或有限元方法。它通过用相同几何元素阶数丰富内插函数的多项式来减少解决方案中的错误。宽高比和偏斜。因此,它在结构应用中非常有名。

Drivingsourcesofgridadaptation

1.Featurebasedadaptation 基于特征的网格自适应方法被广泛使用,它采用解决方案的特征作为网格自适应的驱动力。这些通常使用解的特征,例如解梯度和解曲率。具有较大求解梯度的流区域将以更多的点进行解析,并且最小化重要性最小的区域。这导致对物理上特定的区域进行细化,例如边界层,冲击,分离线,停滞点等。在某些情况下,基于梯度的细化实际上会增加求解误差,因此存在一些有关基于特征的自适应的问题,例如健壮性和其他。

2.Truncationerrorbasedadaption 截断误差是偏微分方程与其离散方程之间的差。截断错误是更合适的方法来查找应该在哪里发生适应。基于截断误差的自适应背后的一般概念是将误差平均分配到仿真域中,以减少总离散误差。对于简单的方程式,截断误差的评估是最简单的工作,但对于复杂的方案则很难,因此为此需要不同的方法。对于简单的离散化方案,可以直接计算截断误差。对于难以直接估计截断的更复杂的方案,需要一种估计截断误差的方法。

3.Adjointbasedadaptation

祝一切顺利!

References:

[1] Fidkowski Krzysztof J.和Darmofal David L.在计算流体动力学中回顾基于输出的误差估计和网格自适应。AIAA Journal,49:673-694,2011年。

[2] John Tannehill理查德·普莱彻和戴尔·安德森。计算流体力学和传热。泰勒和弗朗西斯,1997年。

[3] JD小安德森。计算流体动力学:应用的基础知识。麦格劳·希尔公司(McGraw Hill Inc。),1995年。

[4] Roy Christopher J.在cfd中驱动网格自适应的策略。在2009年第47届AIAA航空航天科学会议上,包括“新视野论坛”和航空航天博览会。

[5] McRae Scott D. r-精炼网格自适应算法和问题。应用力学和工程中的计算方法,189:1161–1182,2000。

[6] Ivanenko Sergey A. Azarenok Boris N.和Tang Tao。一种基于godunovs方案的自适应网格再分配方法。通讯 数学。科学,1:152-179。

[7] Ahmadi Majid和Ghaly Wahid S.使用有限体积方法与溶液自适应对级联中的无粘性流进行模拟。在CASI第六届航空动力学研讨会上,1997年。

[8] Jasak H.和Gosman AD对有限体积方法的自动分辨率控制,第1部分:后验误差估计。数值传热,泰勒和弗朗西斯,38:237-256,2000年。

[9] Jasak H.和Gosman AD对有限体积法的自动分辨率控制,第2部分:自适应网格细化和粗化。数值传热,泰勒和弗朗西斯,38:257-271,2000年。

[10]汤普森·戴维·S·索尼·巴拉特·K·,库穆里尔·罗伊和桑伯格·休。基于点重新分布的自适应网格策略解决方案。应用力学和工程中的计算方法,189:1183-1204,2000年。

[11] Venditti David A.和Darmofal David L.功能输出的伴随误差估计和网格自适应:在准一维流中的应用。计算物理杂志,164:204-227,2000年。

[12] Balasubramanian R.和Newman JC对功能输出的基于伴随和基于特征的网格自适应的比较。流体中数值方法国际杂志,53:1541-1569,2007年。

[13]哈特曼·拉尔夫(Hartmann Ralf)。空气动力学中的误差估计和基于伴随的自适应。在2006年欧洲计算流体动力学会议上。


第一部分来自“计算流体动力学:简介”。应该参考一下。但这是一个概述,谢谢。您是否曾经将平流问题应用于平流问题,这基本上就是我要解决的问题?
boyfarrell 2013年

@boyfarrell,是的,是的,实际上,在我的课程工作中,我从“网格适应”报告中获取了全部内容,并在其中适当地引用了参考文献。在这里很难添加太多参考,因此我省略了它。如果您愿意,我会与您分享所有参考。是的,我计划将网格自适应用作研究工作的一部分,但尚未开始。祝一切顺利!
Shainath 2013年

欣赏文学作品是一个很好的起点,谢谢分享!
boyfarrell

@boyfarrell,我已经为我的答案添加了引用,用于上面的描述。最好
-Shainath

3

我(仍然)正在为此寻找良好的答案。我使用多层自适应网格,在其中使用某种标准进行细化。进行FEM的人们享受(作为计算)相当便宜的严格误差估计,这些误差估计被用作改进标准。对于我们进行FDM / FVM的工作,我还没有找到任何这样的估计的运气。

在这种情况下,如果您想严格地进行细化,即基于对实际误差的某种估计来进行细化,那么您(几乎)唯一的选择是理查森外推法。例如,Berger和Oliger(1984)的块结构AMR双曲解算器就使用了这种方法。就您几乎可以使用Richardson Extrapolation解决任何问题而言,该方法论是通用的。唯一的问题是它很昂贵,尤其是对于瞬态问题。

除了理查森外推法,所有其他标准(以我的拙见)只是临时的。是的,您可以为“感兴趣的数量”设置一个特定的阈值,然后根据该阈值进行优化。您可以使用一定数量的通量或导数来警告较大的梯度并使用它。或者,如果您正在跟踪界面,则可以根据与界面的接近程度进行优化。当然,所有这些都很便宜,但是没有严格的要求。

至于网格之间的插值,通常需要的精度至少与求解器一样。有时可以建立满足某些特性的插值,例如节省质量或凸出,从而不会引入新的极值。我注意到最后一个属性有时对于整个方案的稳定性非常重要。


感谢您分享经验。是的,似乎严格执行此操作确实很复杂。由于我的问题相对简单(仅1D等)。我将首先尝试固定(非统一)的网格。尽管我很想实现一些灵活的移动网格方法。如果您以前做过网格移动,那么对流方程的实现起来有多容易?
boyfarrell 2013年

@boyfarrell我不确定移动的网格是什么。就像一维网格一样,点之间的距离会随时间变化吗?
GradGuy 2013年

仅看Daniel Shapero建议的链接(上文)自适应移动网格方法。似乎很有趣。
boyfarrell 2013年

2

如果确实是一维的,那么您在这里可能就不需要任何自适应网格,对于这样一个简单的问题,您可以使用静态网格以及现代工作站的计算能力来解决您所需要的一切。但这是一种完全合理的策略,它可以在时间积分过程中定期确定需要强调数值分辨率的区域,然后在其中添加网格点(并从超分辨区域中删除网格点),然后插值到新网格中。但这不应该太频繁地进行,因为插值可能会很昂贵,并且会在整体计算中增加数值误差。


多谢您分享经验。我想你是对的; 在这种情况下,我可能只使用一个非常数网格,因为不连续性或多或少都存在于同一位置。你同意吗?
boyfarrell 2013年
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.