我正在尝试为我的通道流模拟计算一维能谱。我已经编写了一个后处理脚本来实现这一点;但是,我需要在继续之前验证我的代码。
为此,我从 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.,高达的湍流通道流的直接数值模拟,Phys。流体 11,第 4 期,943-945 (1999)。ZBL1147.76463。