改造航空发动机混排涡扇发动机非设计点循环计算模型那些事儿
T-mats是NASA开发的,通用的航空发动机热力学simulink模型库,但是他没有混排涡扇发动机的模型,而且航空发动机每个部件的建模代码,他都是用C语言写的,没有注释,读起来比较难懂,不利于新手了解航空发动机性能的建模原理。T-mats是NASA开发的,通用的航空发动机热力学simulink模型库,但是他没有混排涡扇发动机的模型,而且航空发动机每个部件的建模代码,他都是用C语言写的,没有注释,
航空发动机,混排涡扇发动机,非设计点循环计算模型。 基于t-mats模型改的。 T-mats是NASA开发的,通用的航空发动机热力学simulink模型库,但是他没有混排涡扇发动机的模型,而且航空发动机每个部件的建模代码,他都是用C语言写的,没有注释,读起来比较难懂,不利于新手了解航空发动机性能的建模原理。 我在研一下的暑假把部件级建模的C语言模块,全部换成matlab语言,对代码进行了详细的注释,有利于新手学习航空发动机的建模原理。 当时暑假疫情封闭,在宿舍里面为了这么个程序写了20天,每个部件逐行代码的调试。 并且解决了源代码当中的一些问题(源代码混合室计算错误,后面我在国外社区平台反映了这个问题,现在改了),在我做的混排涡扇模型程序跑通之后,还是很兴奋的。
大家好,今天来和大家分享一下我在研一下暑假干的一件超有意思的事儿——改造基于 t - mats 模型的航空发动机混排涡扇发动机非设计点循环计算模型。
先来说说 t - mats 模型,它可是 NASA 开发的通用航空发动机热力学 simulink 模型库。这库虽然强大,但也有个小遗憾,就是没有混排涡扇发动机的模型。而且它每个部件的建模代码都是用 C 语言写的,关键是还没有注释!这对于像当时还是新手的我来说,想通过读代码了解航空发动机性能的建模原理,简直是“天书”一般的存在。
于是乎,我决定干一件大事。暑假碰上疫情封闭,我就窝在宿舍,花了整整 20 天,把部件级建模的 C 语言模块全部换成了 matlab 语言,还对代码进行了详细注释,就想着能让之后的新手学习起来轻松点。

航空发动机,混排涡扇发动机,非设计点循环计算模型。 基于t-mats模型改的。 T-mats是NASA开发的,通用的航空发动机热力学simulink模型库,但是他没有混排涡扇发动机的模型,而且航空发动机每个部件的建模代码,他都是用C语言写的,没有注释,读起来比较难懂,不利于新手了解航空发动机性能的建模原理。 我在研一下的暑假把部件级建模的C语言模块,全部换成matlab语言,对代码进行了详细的注释,有利于新手学习航空发动机的建模原理。 当时暑假疫情封闭,在宿舍里面为了这么个程序写了20天,每个部件逐行代码的调试。 并且解决了源代码当中的一些问题(源代码混合室计算错误,后面我在国外社区平台反映了这个问题,现在改了),在我做的混排涡扇模型程序跑通之后,还是很兴奋的。
下面给大家简单看看一些改造后的 matlab 代码示例(以压气机部件建模为例):
% 压气机性能计算
function [p_out, T_out] = compressor(p_in, T_in, PR, eta_c)
% p_in: 压气机进口压力
% T_in: 压气机进口温度
% PR: 压气机压比
% eta_c: 压气机效率
% 等熵压缩过程出口温度
T_out_isentropic = T_in * (PR ^ ((gamma - 1) / gamma));
% 实际出口温度
T_out = T_in + (T_out_isentropic - T_in) / eta_c;
% 出口压力
p_out = p_in * PR;
end
这段代码的作用就是根据压气机的进口压力、进口温度、压比以及效率来计算出口压力和出口温度。首先计算等熵压缩过程下的出口温度 Toutisentropic,这里用到了气体状态方程相关的知识,根据压比 PR 和进口温度 Tin 算出等熵情况下的温度。然后通过压气机效率 etac 来计算实际的出口温度 Tout,因为实际过程并非等熵,效率会影响最终温度。最后根据压比和进口压力算出出口压力 pout。
在改造过程中,可不是一帆风顺的。我发现了源代码中的一些问题,比如混合室计算错误。当时我可没放过这个 bug,在国外社区平台反映了这个问题,没想到现在竟然已经改了,也算是为开源社区做了点小贡献。
经过这 20 天逐行代码的调试,当我做的混排涡扇模型程序终于跑通的时候,那种兴奋感简直无法言表!感觉自己这 20 天的日夜奋战都值了。不仅让新手学习航空发动机建模原理更轻松,还解决了原有代码的问题,也算是小小的成就感满满啦。希望我的这段经历能给同样对航空发动机建模感兴趣的小伙伴一些启发,遇到困难别退缩,说不定就能攻克难关,收获满满哦!

更多推荐
所有评论(0)