使用 FFT 使用傅里叶伪谱方法 (Orzag & Patterson, PRL, 1972) 对各向同性湍流进行直接数值模拟。turbulence社区广泛使用的方法背景,可以看这个课程: http: //www.math.ualberta.ca/~bowman/m655/lab3d.pdf
使用所谓的规则进行去锯齿,包括执行
其中是时间,是波数,是最大波number 和是速度的频谱幅度。
去锯齿是否起到数值耗散的作用?换句话说,是否存在由于去锯齿而导致的能量泄漏?
使用 FFT 使用傅里叶伪谱方法 (Orzag & Patterson, PRL, 1972) 对各向同性湍流进行直接数值模拟。turbulence社区广泛使用的方法背景,可以看这个课程: http: //www.math.ualberta.ca/~bowman/m655/lab3d.pdf
使用所谓的规则进行去锯齿,包括执行
其中是时间,是波数,是最大波number 和是速度的频谱幅度。
去锯齿是否起到数值耗散的作用?换句话说,是否存在由于去锯齿而导致的能量泄漏?
卷积的去锯齿不作为数值耗散。事实上,只有去掉别名项,能量才会守恒。
基于 FFT 的卷积去混叠背后的想法是摆脱 FFT 添加的额外项。卷积只是一个总和,你可以通过计算总和来计算它。但是,这确实很慢,因此最好对输入进行傅里叶变换并乘以结果,然后反转傅里叶变换,根据卷积定理,这与卷积相同。
但是卷积定理只适用于输入无限长的情况;对于有限长度的输入,会出现非物理的额外项(别名)。去锯齿的目的是恢复您尝试计算的原始方程,同时仍然允许您使用 FFT 来加快计算速度。
了解去锯齿的作用需要首先了解为什么要采用 FFT。对我来说,加权残差方法提供了最简单的框架:
所有的 FFT 魔法都可以被认为是一种有效的近似正交方案,可以精确地处理二次非线性。其他去锯齿变体使用其他技巧来使正交精确地用于同一类非线性。
因此,为了回答您的问题,去锯齿不会增加耗散。这可以看出,因为程序中的每一步都是精确的。
上面接受的答案非常具有误导性,@nat-chouf 是正确的。本着原始问题的精神,运行各向同性湍流的伪光谱模式,然后归零假设能量被移动到这些更高的波数,那么在每个时间步都将绝对从模型中移除能量。
不存在与“去锯齿”本身相关的能量泄漏,但存在与总是在有或没有去锯齿的情况下执行的截断相关的能量泄漏。让我解释:
如果您有两个函数f和g,两者的光谱内容都达到模式k,则产品fg的光谱内容将达到模式2k。但是,您不希望表示的光谱内容在每个时间步都加倍。因此,您希望将产品fg截断为前k个模式。通过这样做,您会失去高于k的模式中包含的能量。
去锯齿(或抗锯齿)确保高达k的模式在fg的表示中是正确的,但不是大于k的模式,因为无论如何它们都会被丢弃。