Samoza
Guest
全てに
私は、モザー、キム、マンサワー(1999)から得られたデータと曲線を比較するために、単一のチャートでtke予算のすべての条件をプロットしようとしています。 tke予算の式は、添付画像に示されます。 考慮された流れはチャネルの泥炭の流れです。 私はほとんどすべての用語をプロットすることができました (生産, 乱流分差症, 粘性分差症, 放散率), 画像で見られるように、マウスのデータと一貫性のある結果を得る: しかし、私は正しく用語圧力差分をプロットする難しさを持っています。
利用可能なデータは次のとおりです。
- `u_prime`、`v_prime`、および `w_prime` と呼ばれる3次元(256x128x128)は、それぞれ方向x、yおよびzに沿って速度コンポーネントの変動を表す。
- 圧力フィールドを表す3d `p_prime`マトリックス(256x128x128)。
- 空間座標を表す3次元`x`、`y`、`z`(256x128x128)。
moser、kim および mansour のデータは次のウェブサイトで見つけることができます: dns データ のための turbulent チャネル 流れ まで 摩擦 連 数 の 590 . 比較するデータを含む特定のファイルは `chan180/balances/chan180.kbal` パスにあります。
私の試みは次のとおりです。
圧力差分の式が画像に表示されているので、どのようにコードを書いて、用語差分を適切にプロットするのですか?
どんな明快さでも、お気軽にお申し付けください。
私は、モザー、キム、マンサワー(1999)から得られたデータと曲線を比較するために、単一のチャートでtke予算のすべての条件をプロットしようとしています。 tke予算の式は、添付画像に示されます。 考慮された流れはチャネルの泥炭の流れです。 私はほとんどすべての用語をプロットすることができました (生産, 乱流分差症, 粘性分差症, 放散率), 画像で見られるように、マウスのデータと一貫性のある結果を得る: しかし、私は正しく用語圧力差分をプロットする難しさを持っています。
利用可能なデータは次のとおりです。
- `u_prime`、`v_prime`、および `w_prime` と呼ばれる3次元(256x128x128)は、それぞれ方向x、yおよびzに沿って速度コンポーネントの変動を表す。
- 圧力フィールドを表す3d `p_prime`マトリックス(256x128x128)。
- 空間座標を表す3次元`x`、`y`、`z`(256x128x128)。
moser、kim および mansour のデータは次のウェブサイトで見つけることができます: dns データ のための turbulent チャネル 流れ まで 摩擦 連 数 の 590 . 比較するデータを含む特定のファイルは `chan180/balances/chan180.kbal` パスにあります。
私の試みは次のとおりです。
このようなコードの出力は、次のイメージです。 2つの曲線が一致しないと見えるように。ログイン
クリア;
すべて閉じる;
% スペース統計
% セルセンターをインポートする座標
ccx = importdata(fullfile('velfieldschannel_corsoturb', 'ccx'));
ccy = importdata(fullfile('velfieldschannel_corsoturb', 'ccy')); ;
ccz = importdata(fullfile('velfieldschannel_corsoturb', 'ccz'));
速度分野を輸入する%
selectsnapshot = 3; % スナップショットを選択 (から 1 へ 22)
filepath = フルファイル('velfieldschannel_corsoturb'、num2str(choosesnapshot)、'u.gz');
Tempdir = フルファイル(tempdir、'tempextraction');
ガンジップ(filepath、tempdir);
u = インポートデータ(fullfile(tempdir, 'u'));
圧力分野を輸入する%
pfield = importdata(fullfile('velfieldschannel_corsoturb', 'p')); ;
% パラメータ
nx = 256;
ny = 128;
NZ = 128;
デルタ = 1;
u_tau = 1;
nu = 1/180;
re = (delta * u_tau) / nu;
rho = 1;
行列の値を割り当てる%
u = 0s (nx, ny, nz); ;
v = 0s(nx, ny, nz) ;
w = 0s(nx, ny, nz);
x = 0s(nx, ny, nz) ;
y = 0s(nx, ny, nz) ;
z = 0s(nx, ny, nz);
p = 0s(nx, ny, nz) ;
インデックス = 1;
k = 1:nz の
j = 1の場合
i = 1:nx の場合
u(i, j, k) = u(index, 1。
v(i, j, k) = u(index, 2。
w(i, j, k) = u(index, 3);
x(i, j, k) = ccx(index);
y(i, j, k) = ccy(index);
z(i, j, k) = ccz(index);
pfield(i, j, k) = pfield(index);
インデックス = インデックス + 1;
メニュー
メニュー
メニュー
% すべてのy の平均プロファイルを計算する
u_mean = 意味(u, [1, 3];;;
v_mean = 平均(v, [1, 3];;;
w_mean = 平均(w, [1, 3];;;
p_mean = 平均(p, [1, 3];;;
% 変動フィールドの計算
u_prime = u - u_mean;
v_prime = v - v_mean;
w_prime = w - w_mean;
p_prime = p - p_mean;
%extract 位置ベクトル
x_direc = x, 1, 1);
y_direc = y(1, :, 1);
z_direc = z(1, 1, : );
% y_plus の計算
y_plus = (y_direc * u_tau) / nu;
% 方向 x、y および z に沿って異なる を計算します。
dx = 差分(x_direc);
dy = diff(y_direc) ;
dz = diff(z_direc);
モアザー、キム、マンサワーデータをインポートする%
filepath = フルファイル('chan180'、'balances'、'chan180.kbal');
fileid = fopen(filepath, 'r'); のファイル
chan180kbal = textscan(fileid, '%f%f%f%f%f%f%f%f%f%f', 'commentstyle', '#');
fclose(ファイル);
y_plusmkm = chan180kbal{2};
放散mkm = chan180kbal{3};
pressdiffmkm = chan180kbal{6};
% 圧力拡散用語
平均_pu_prime = 平均(p_prime .* u_prime, [1 3];;;
mean_pv_prime = 意味(p_prime.* v_prime, [1 3];;;
(p _ プライム. * w _ プライム, [1 3];;;
dpu_dx = diff(mean_pu_prime) ./ dx;
dpv_dy = diff(mean_pu_prime) ./ dy;
dpw_dz = diff(mean_pu_prime) ./ dz;
pressdiff_pre = -(1/rho) * (dpu_dx + dpv_dy + dpw_dz);
pressdiff_pre = pressdiff_pre(1,:, 1); を出力します。
Pressdiff = ナン(1, 128);
pressdiff(1:127) = Pressdiff_pre;
%のプロット圧力拡散条件
数字;
保持;
create(y_plus、pressdiff/re、'displayname'、'[imath]\pi[/imath]'); ;
プロット(y_plusmkm、pressdiffmkm、'-'、'displayname'、'[imath]\ パイ _ {mkm}[/imath]'); ;
xlabel() お問い合わせ[imath]お問い合わせ[/imath]',' 通訳者',' ラテックス');
xlim (xlim)[0 max(y_plusMKM)/2];;;
proptitle = 'pressure 拡散用語';
タイトル(plottitle、'interpreter'、'latex');
凡例('show','location','northeast','interpreter','latex');
グリッド上;
ボックス;
オフ;
圧力差分の式が画像に表示されているので、どのようにコードを書いて、用語差分を適切にプロットするのですか?
どんな明快さでも、お気軽にお申し付けください。
Last edited: