✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
含有水蒸气的气流,经过快速膨胀,温度降低,水蒸气凝结放热,影响流场结构.这一点在Prandtl-Meyer膨胀波中尤为明显.为此,通过流场显示的方法,观察了不同来流湿度下,后台阶流所形成膨胀波中,凝结对流场结构的影响.发现随着来流湿度的增加,凝结区域中会产生一道由弱到强的凝结激波.而湿度过大时,又会在上游产生一道正激波,反而抑制了下游的凝结.同时通过数值模拟,与实验研究进行比较验证,结果基本一致.数值模拟还发现,一定来流条件下,凝 结流场出现自激振荡现象.
⛄ 部分代码
function [delta_x] = compute_step_size(Theta,i,y,M_angle)
% Anderson does not give much details about the computation of this step size so
% the following function is how I understood the technique. The obtained
% results are good so I believe this function works well.
tan_max_pos = 0;
tan_max_neg = 0;
for j = 1:401, % We need to find the maximum value of both tangents, so we need to compute them in the whole vertical line
tan_pos = abs(tan(Theta+M_angle(j,i)));
tan_neg = abs(tan(Theta-M_angle(j,i)));
if (tan_pos > tan_max_pos)
tan_max_pos = tan_pos;
end
if (tan_neg > tan_max_neg)
tan_max_neg = tan_neg;
end
end
tan_max = max(tan_max_pos,tan_max_neg);
delta_y = y(2,i) - y(1,i); % delta_y is constant along the same vertical line (i).
% The grid transformation geometry imposes this. So it doesnt' matter to
% compute delta_y using y in 2,1 or using it in 21,20 for example, the
% result will be the same.
delta_x = 0.5*(delta_y/tan_max); % Where 0.5 is the Courant number
end
⛄ 运行结果
⛄ 参考文献
[1]曹?, 罗喜胜. Prandtl-Meyer膨胀波中水凝结的数值模拟[C]// 第十五届全国激波与激波管学术交流会. 2012.
[2]曹贇, 罗喜胜. Prandtl-Meyer膨胀波中凝结的初步研究[J]. 2012.