傅里叶伪谱方法与数值耗散


9

使用傅立叶伪谱方法(Orzag&Patterson,PRL,1972)使用FFT执行各向同性湍流的直接数值模拟。有关在湍流社区中广泛使用的方法的背景知识,请参见以下课程:http : //www.math.ualberta.ca/~bowman/m655/lab3d.pdf

使用所谓的 2/3 去交易的规则包括

u^(k,t)=0              if   k>23kMAX
哪里 t 是时候了 k 是波数, kMAX 是最大波数, u^ 是速度的频谱幅度。

脱脱是否充当数值耗散?换句话说,是否由于脱碳而导致能量泄漏?


目前尚不清楚您的问题在问什么。你能澄清一下吗?
Geoff Oxberry 2012年

现在呢 ?
ucsky 2012年

Answers:


6

卷积的去二阶化不充当数值耗散。实际上,仅当消除别名时,能量才被保存。

脱除基于FFT的卷积背后的想法是摆脱FFT所添加的额外项。卷积只是一个和,您可以通过计算和来计算它。但是,这确实很慢,因此最好对输入进行傅立叶变换并乘以结果,然后对傅立叶变换求逆,根据卷积定理,这与卷积相同。

但是卷积定理仅在输入为无限长时才有效。对于有限长度的输入,会显示不是物理的多余术语(别名)。脱位的要点是取回您尝试计算的原始方程式,同时仍然允许您使用FFT加快计算速度。


Malcolm没有提到他与他人合着的FFTW ++库,但是它通过隐式处理填充(以及其他方法)来帮助您快速执行脱卷积。参见fftwpp.sourceforge.net
马修·埃米特

哦,是的,谢谢马特!FFTW ++中的卷积例程确实降低了计算脱卷积卷积的成本。在sourceforge页面上有一个参考,在我的网页上还有更多。我曾与约翰·鲍曼(John Bowman)合作研究这些问题,他的3D湍流实验室已与OP链接在一起。
马尔科姆

4

要了解脱碳功能,首先需要了解为什么要进行FFT。对我来说,加权残差法提供了最简单的框架:

  1. 您正在将解决方案扩展为傅立叶模式的总和,并将其放入Navier-Stokes方程中。您的测试功能也是傅立叶基础。
  2. 当将试验和测试功能相乘并取内积(即与适当的共轭积分)时,您会发现您有一个积分,您不能简单地评估它,因为它是非线性的。
  3. 您可以使用统一的正交方案近似积分,在该方案中,您可以简单地对统一配置点处的值求和。
  4. 请注意,如果使用的正交点是傅立叶模式的1.5倍,则正交对于二次非线性是精确的。这是三分之二的因素。
  5. 最后,请注意,正交可以有效地计算为FFT。

可以将所有FFT魔术视为一种有效的近似正交方案,该方案可以精确地处理二次非线性。其他脱碳变体还具有其他技巧,可以使同一非线性类别的正交精确。

因此,要回答您的问题,脱去并不会增加耗散。可以看到,因为过程中的每个步骤都是精确的。


1

马尔科姆(Malcolm)对基于FFT的卷积和进行脱欧给出了专家解释。我的直觉告诉我,这仍然不是@abberation所需的完整答案,因此我将再讲几句话,以反映我对理解数值方法的努力。

消除混叠并不能起到数值耗散的作用,但是它与数值耗散的作用相同-它可以防止模拟爆炸。

您的模拟效果如何?

能量从高波数到低波数的非物理传递会导致不稳定(首先是不稳定)(通常是一个simptome-2h波,h网格节点距离,可以在网格上表示的最小波)。

其背后的原因是高波数混叠到可以由网格表示的那些低波数。这会导致“频谱阻塞”-高波数的振幅(读取能量)的非物理增加,随着您接近所表示波数的上限,这种情况会变得更糟。

第一种补救措施(菲利普斯,1959年):过滤掉所表示的波数频谱的上半部,或使其等于零。

第二种补救措施(Orszag,1971年):这种补救措施被称为Orszag的三三法则。史蒂文·史蒂文斯说:“滤除一半的波数是一种浪费,我们应该保留2 / 3N,而仅滤除较高的1 / 3N。”

结论。

我们的模拟有时会爆炸。如果您生活在有限体积的二阶宇宙中(就像这些线的作者一样),并且对光谱方法一无所知,那么它们会告诉您“哦,您的模拟爆炸了吗?请尝试使用一阶逆风而不是中心方案,或者混合延迟校正方法中,您的中心方案具有10%的迎风度,这会增加耗散,但会防止模拟爆炸!哦,您正在做LES?那么您不应该使用迎风度,除非您正在执行ILES,否则请使用中心方案和Smagorinsky将模拟最低尺度下发生的物理耗散。” 如果您生活在“光谱方法”领域,您将了解能量的非物理传递是如何发生的,并通过“三分法则”或“填充”找到了脱脱的补救方法。

我这篇文章的灵感来自J. Boyd撰写的精彩著作“ Chebyshev and Fourier Spectral Methods”,第11节。

我的建议是:

从身体或光谱上行动,但要思考!(用众所周知的“全球思考,本地行动”来解释。)


1

本身不存在与“去锯齿”相关联的能量泄漏,但是与截断相关的能量泄漏始终在有或没有脱去杂音的情况下执行。让我解释:

如果您有两个函数fg,它们的光谱含量都高达模式k,则乘积fg的光谱含量将高达模2k。但是,您不希望表示的光谱内容在每个时间步长都加倍。因此,您要将产品fg 截断为前k个模式。这样,您将损失高于k的模式中包含的能量。

消除混叠(或消除混叠)可确保在fg表示中,最大为k的模式正确,但大于k的模式则不正确,因为无论如何它们都将被丢弃。

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.