基于matlab求Prandtl-Meyer膨胀波流场数值解

✅作者简介:热爱科研的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.

⛄ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值