均匀方向的一维湍流能谱(非各向同性)

计算科学 流体动力学 计算物理学 数字 傅立叶分析 统计数据
2021-11-27 13:46:27

我正在尝试为我的通道流模拟计算一维能谱。我已经编写了一个后处理脚本来实现这一点;但是,我需要在继续之前验证我的代码。

为此,我从 DNS 数据库中获取两点互相关(每个给定平面)向量。然后,我尝试应用我的代码并针对同一数据库提供的一维能谱和同一(均匀)方向进行绘图。

我总是得到错误的输出,但我无法弄清楚出了什么问题。我在这里和那里查看了几本参考书和论坛帖子,但目前还没有切实的结果。

我遵循的步骤是:

给定流向(即 x 方向)和齐次方向的两点互相关向量,我正在应用以下内容(例如,以 Matlab 形式):

% where Ruu is the correlation vector from the DNS database
N = length(Ruu);
Nk = 2^nextpow2(N);

% Fourier transform data
Bx1 = zeros(Nk, 1); 

for k=1:Nk
    for n=1:N
        Bx1(k) = Bx1(k) + (1/N)*Ruu(n)*exp(-2i*pi*(k-1)*(n-1)/N);
    end
end

% wavenumbers initialization
kx = zeros(Nk, 1);
% total distance between correlations used
Lx = (max(x) - min(x));
for n=1:Nk
    % streawise coordinates to wavenumber
    kx(n) = pi*(n-1)/Lx;
end
% calculate 1D streamwise energy spectra
Eu = Bx1.*conj(Bx1); 

% show only first half due to symmetry
loglog(kx(1:end/2), 2*Eu(1:end/2))

如果您想知道,结果图如下所示。 一维能谱

这样一个数字的输出与我正在寻找的相去甚远。有人可以对这个问题有所了解吗?


参考 DNS 数据

莫泽,罗伯特 D.;金,约翰;Mansour, Nagi N.高达Reτ=590的湍流通道流的直接数值模拟,Phys。流体 11,第 4 期,943-945 (1999)。ZBL1147.76463

1个回答

我认为你的程序有问题。

首先,fft(u).*conjg(fft(u))等于fft(R)R是一维相关函数。

其次,在进行 FFT 时,无需添加:

Bx1(k) = Bx1(k) + (1/N)*Ruu(n)*exp(-2i*pi*(k-1)*(n-1)/N).