APP下载

基于Matlab的舰炮内弹道计算模块的GUI设计*

2014-11-28刘金元陈重阳李海林

舰船电子工程 2014年6期
关键词:火药弹丸装药

吴 晶 刘金元 陈重阳 李海林

(1.海军工程大学管理工程系 武汉 430033)(2.广州地区装备修理监修室 广州 510715)

1 引言

内弹道计算可为武器弹药设计、内弹道性能分析、武器动力学分析及仿真等提供基本数据。

内弹道计算包括单一装药内弹道计算和混合装药内弹道计算,而前者又可分为简单形状火药内弹道计算和多孔火药内弹道计算[1],可见,内弹道计算中涉及大量数据的计算以及不同弹道模型的选择。Matlab软件具有强大的数学运算能力,其图形用户界面GUI的使用更易于图形表现的多样化[2]。GUI在数值计算、函数调用、图形处理以及软件开发方面具有有别于传统VC、JAVA或者Delphi的界面开发方式[3~5]。利用 Matlab GUI开发内弹道计算模块可有效处理大量数值计算和图形表现的矛盾[6]。相关文献中还未有此方法开发内弹道计算模块的论述。

内弹道计算理论的发展经历了经典内弹道和现代内弹道两个过程。前者在拉格朗日假定下,以变量平均值描述内弹道循环过程,后者则以两相流体力学为基础,能有效预测膛内压力波。文献[7]分别基于经典弹道模型和现代弹道模型利用Visual Basic语言开发了全弹道仿真平台,但在装填密度不大、膛压不高的情况下,经典内弹道理论的计算结果合理性较好,因此,本文将基于经典内弹道理论利用GUI开发内弹道计算模块,在同一界面上实现单一装药(简单形状火药或多孔火药)和任意两种火药混合装药的内弹道计算。并通过案例仿真验证模块开发的正确性。

2 弹道模型

2.1 简单形状火药内弹道模型

在内弹道基本假设的基础上,将常规内弹道方程组归纳并改造如下:

1)形状函数:ψ=χZ(1+λZ+μZ2)

3)状态方程:p(v-α)=RT

6)弹丸速度与行程关系式:v=dl/dt

联立以上六个独立的方程,以时间t为自变量,可求解反应火药燃烧规律和弹丸运动规律的六个变量,即火药已燃百分数ψ、火药已燃相对厚度Z、膛内平均压力p、膛内平均温度T、弹丸运动速度v和弹丸行程l。

7)对于高、低温弹道,即发射药温变化时,既考虑燃速的变化,用系数BL来修正;又考虑药温变化对火药热焓的影响,用系数IT来修正[8]:

式中,f、T1和f′、T′1分别为修正前后的火药力和火药定容燃烧温度;IQ为热散失系数,热散失通过降低火药热焓的方法处理;火药燃速温度系数BL和火药热焓温度系数IT常温下取值为1,高温下取值大于1,低温下取值小于1。

2.2 多孔火药高、低温内弹道模型

与简单形状火药相比,多孔火药内弹道需另外考虑两个因素:一是火药形状函数的改变,二是多孔火药燃烧过程中存在的侵蚀燃烧现象。

多孔火药形状特征量在火药分裂前的增面燃烧阶段和火药分裂后的减面燃烧阶段发生改变,分别予以考虑后的形状函数为

高、低温内弹道中,发射药初温变化引起的火药燃速变化和火药热焓变化均对侵蚀燃烧产生影响,常用高、低温内弹道仿真方法中对侵蚀燃烧的修正考虑了燃速变化的影响,却忽略了火药热焓对侵蚀燃烧的作用。本文采用文献[9~10]的模型,在多孔药高、低温内弹道仿真中考虑火药热焓变化对侵蚀燃烧的作用,此处不予赘述。

2.3 混合装药内弹道模型

本文只求解两种不同类型火药混合装药的内弹道计算问题,混合装药可以是两种简单形状火药、两种多孔火药或是简单形状火药与多孔火药的混合。混合装药内弹道中先燃烧完毕的火药称为薄火药,后燃烧完毕的火药称为厚火药。

将两种不同类型火药的混合装药内弹道过程分为三个阶段:第一阶段薄、厚火药同时燃烧直到薄火药燃烧完毕;第二阶段厚火药单独燃烧直至燃烧完毕,第三阶段弹丸在混合燃气自由膨胀做功下出炮口。混合装药内弹道计算需分别考虑薄、厚火药的形状函数、燃速方程、能量方程,根据火药形状不同可采用2.1节或2.2节中相应模型。计算模型中的压力为混合燃气平均压力,由道尔顿分压定律知其为薄、厚火药分压p1、p2之和,计算公式如下:

式中,v1、v2分别为薄、厚火药燃气的比容,其分别满足下式:

式中,V0为药室容积,S为身管截面积,l为弹丸行程;ωi、ρpi、αi、ψi(i=1、2)分别为薄、厚火药的装药质量、密度、气体余容和已燃百分比。

3 内弹道计算模块的开发

利用四阶五级龙格-库塔法,借助Matlab的图形用户界面开发环境GUIDE,开发内弹道计算模块如图1所示。

图1 内弹道计算模块

该模块将2.1节至2.3节的弹道计算模型集成于同一界面,包含单一装药的简单形状火药、多孔火药和任两种不同类型火药混合装药的内弹道仿真。

图2 内弹道计算结果保存数据

使用时,根据内弹道装填方式的不同在对应的下拉菜单中选择“单一装药”或“混合装药”:当选择“单一装药”时,“火药参数输入”中薄火药相应参数被置0,且对应的文本框处于不可写状态;当选择“混合装药”时,所用文本框处于待编辑状态。在“舰炮参数输入”、“系数选取”和“火药参数输入”中输入相应的参数,点击“计算”按钮即可进行内弹道仿真并在图形区输出p-t、p-l曲线,在“画图”下拉菜单中可选择性输出v-t、v-l曲线或T-t、T-l曲线。点击“保存”按钮可将内弹道计算的特殊点和中间点写入电脑硬盘的Excel文件中,特殊点包括“薄火药燃烧结束点”、“最大压力点”、“厚火药燃烧结束点”和“弹丸出炮口点”;中间点每隔0.1ms输出一组,每组数据包括“运行时间”、“薄火药已燃相对质量”、“厚火药已燃相对质量”、“弹丸行程”、“弹丸速度”、“膛内压力”和“膛内温度”。图1中实例仿真结果保存的Excel文件通过截屏如图2。点击“置零”按钮可将输入的参数、输出的图形以及Excel文件中记录的数据清空,以便进行下一次计算。需要说明的是,在点击“置零”按钮前确保Excel文件处于关闭状态,否则系统在清空Excel文件保存的数据时会发生错误。

4 案例仿真及分析

利用内弹道计算模块对某大口径舰炮多孔药高、常、低温内弹道进行仿真,以验证该模块对内弹道仿真的准确性。仿真中修正系数的选取如表1所示。

表1 内弹道仿真中修正系数的选取

将表1中选取的系数依次代入内弹道计算模块,其它参数的选取等同常温(图1),经仿真计算,并将Excel文件保存的中间点画图,可得该大口径舰炮高、常、低温内弹道的p-t曲线和v-t曲线,和试验拟合曲线的对比如图3所示。

图3 某大口径舰炮高、常、低温内弹道p-t曲线

图4 某大口径舰炮高、常、低温内弹道v-t曲线

由图3、图4可见,仿真曲线和试验曲线基本重合,仿真结果与试验结果一致性较好。利用黄金分割法搜寻最高膛压pm、插值法计算炮口速度v0,得计算值如表2,与文献[8]中的实验值进行对比可知,高、常、低温内弹道pm的相对误差分别为0.86%、0.51%、0.17%,v0的相对误差分别为0.002%、0.0002%、1.12%。内弹道计算模块仿真精度较高,可满足工程实践需要。

表2 内弹道仿真结果

5 结语

利用Matlab GUI开发的内弹道计算模块可以编译为可执行文件供其他软件平台调用。但在VB语言调用可执行文件时会出现doc黑屏,不利于良好的人机交互。为此可在Matlab命令窗口依次输入cd(prefdir)和edit compopts.bat,在文件的最后添加以下语句:set LINKFLAGS=%LINKFLAGS%-subsystem windows,重新编译的可执行文件,调用时将不再出现doc黑屏。

[1]金志明.枪炮内弹道学[M].北京:北京理工大学出版社,2004:13-14.

[2]陈杰.MATLAB宝典[M].北京:电子工业出版社,2007.

[3]魏娟,宋福庆.基于MATLAB的GUI设计在高等数学中的应用[J].安阳师范学院学报,2010:129-131.

[4]黄飞,李灿平,任小庆,等.基于 Matlab/GUI的图形处理软件开发[J].长沙通信职业技术学院学报,2010,9(3):21-25.

[5]龚妙昆.基于 MATLAB的GUI设计应用软件[J].微型电脑应用,2011,27(8):53-55.

[6]欧阳明,李玉清,曾海霞,等.VB与MATLAB混合编程在工程中的应用[J].电子技术,2009(7):7-9.

[7]李克婧,张小兵.火炮全弹道过程仿真及应用[J].火炮发射与控制学报,2010(1):48-52.

[8]王道宏,张长琪.现代火炮设计计算程序选编[M].北京:国防工业出版社,1993:82-88.

[9]张方方,侯健,魏平,等.存在侵蚀燃烧的发射药高、低温内弹道性能研究[J].弹箭与制导学报,2012,32(1):145-148.

[10]Greatrix D R,Cottlieb J J.Erosive burning model for composite-propellant rocket motors with large lengthto-diameter ratios[J].Canadian Aeronautics and Space Journal,1987(33):133-142.

猜你喜欢

火药弹丸装药
《混合炸药及装药专刊》序言
神奇的火药
叠层复合装药殉爆安全性试验及数值模拟
神秘的『弹丸』
火药的来历
侵彻载荷下两种结构装药动态响应数值分析
一种战斗部用DNAN基炸药热塑态装药改进工艺
空化槽对弹丸水下运动特性的影响
“火药弟弟”
基于某主动防护的弹丸撞击网板过载特性分析*