弹丸破片质量与数量分布预测计算软件重构与再开发*
2019-06-24康震宇袁书强
康震宇,袁书强
(中国兵器科学研究院宁波分院, 浙江宁波 315103)
0 引言
破片分布预测是弹药领域的一项难题。目前对于弹药破片的空间分布、速度分布都有相应软件进行较为准确的预测,而破片的形成与弹体材料性能、微观组织、炸药种类、装药结构等因素都有关系[1],准确预测弹药破片质量分布、数量分布难度较高,但对威力预测意义重大。
中国兵器工业集团有限公司第五二研究所(以下简称五二研究所)于1986年研发了《弹丸破片质量与数量分布预测计算软件》(以下简称86版软件),其预测精度达到了国内先进水平。但随着弹体材料、处理工艺、炸药及弹药结构设计的不断发展,计算机技术的不断进步,该软件版本已经不能适应当前弹丸破片质量与数量分布预测的科研生产要求,亟待升级改造。文中阐述了新版软件的系统架构、工作机理及成效。
1 设计目标
1.1 86版软件现状与问题
86版软件采用传统面向过程设计,Basic解释型语言开发。其科学计算、图形处理能力弱;输入/输出(I/O)操作为命令行模式,可视化程度低、操作不便;无存储机制,实验参数、过程数据、预测结果无法二次利用。图1为86版软件Basic语言源代码和运行环境。
图1 86版软件源代码及远行环境
1.2 新版软件设计目标
在预测能力提升与发展方面,新版软件采用面向对象设计,从架构上保证系统的通用性、可扩展性;采用Python、Pycharm等先进开发工具与技术,提升科学计算、图形处理、接口开发等能力,同时为今后机器学习与知识库建设提供技术支撑。
在易操作、可视化方面,新版软件采用UI图形化界面设计及研发工具,实现I/O数据电子化、模板化管理及历史数据电子归档。
2 系统设计与研发技术
2.1 系统设计
采用UML(unified modeling language)[2]进行设计。图2是新版软件核心类图,描述了软件总体框架与核心类功能。破片分布计算支持多种预测模型,计算处理后得到主报告及3个分报告,使用Excel工具包进行I/O处理。
图2 新版软件核心类图
图3是新版软件核心功能交互视图[3]。破片质量与数量分布预测需要执行主控程序,读取分析员提供的预测参数Excel文件以及系统内部计算参数配置,然后执行破片分布计算处理,依次计算:
1)计算各单元的质量,前(N-2)个单元的外圆台体积和内圆台体积;
2)计算每个单元的炸药质量、各单元A值;
3)计算每个单元的外锥角、内锥角以及各单元B值;
4)计算每个单元单位长度payman参数和每个单元payman参数;
5)计算每个单元对破片质量分布的贡献;
6)计算每个单元对破片数量分布的贡献,计算每个单元在某质量范围的质量、破片数;
7)计算大于各质量区间的破片质量和数量,其中用Mott方程计算最大破片重量[4]。
图3 执行系统交互视图
I/O数据的电子化、模板化管理。采用Excel文件作为I/O接口,通过定制Excel I/O模板,方便分析人员导入预测指标参数,预测分布报告二次处理,以及历史数字化文档归档与检索。
2.2 研发技术
采用Python作为主开发语言。Python有免费/开源、自动内存管理、支持面向对象开发、可移植性和可扩展性好、第三方支持库丰富等诸多优势[5-6]。同时采用PyCharm IDE作为集成开发平台,以提高开发效率,方便调试、Project管理、单元测试等项目管理。
图形用户界面(GUI)应用开发。使用PyQt中间件作为GUI应用开发工具包,Qt库是目前最强大的图形界面开发库之一,具有优良的跨平台、面向对象及丰富的API;支持2D/3D图形渲染,支持OpenGL[7-8]。
2.3 新版软件可视化执行
1)预测指标参数导入。如图4所示,分析人员只需按模板格式填写相关参数,或修改已有模板参数,导入工作由软件自动完成。
2)破片质量与数量分布预测计算。如图5所示,在图形用户界面GUI中,分析人员通过点击鼠标即可完成相关预测计算任务。
图4 预测指标参数导入模板
图5 破片质量与数量分布预测计算GUI
3)预测结果报告
预测结果分为主报告及3个附件子报告,如图6~图9。其中,主报告为“破片质量、数量分布预测结果”;附件1为“破片质量分布情况”;附件2为“破片数量分布情况”;附件3为“各单元诸参数的计算结果”。
图6 破片质量、数量分布预测结果(主报告)
图7 破片质量分布情况(附件1)
图8 破片数量分布情况(附件2)
图9 各单元诸参数的计算结果(附件3)
3 预测验证
1)通用性验证
86版软件针对弹丸不同型号存在通用版和若干定制版,需要根据情况分别执行不同小版本软件,给软件使用和维护带来诸多不便。新版软件通过优化设计,将86版软件各小版本进行了整合,用户只需简单选择预测模型即可在不同预测算法间灵活切换。通过执行各预测模型算法,有效破片数量/质量与历史实验结果平均相对误差小于±3%;杀伤破片数量/质量与历史实验结果相对误差小于±1.9%。
2)准确性验证
下面以给定材料和装药的130加榴弹为例,通过对比新版软件与实验数据的破片质量/数量分布情况,来验证新版软件的准确性,如表1所示。
表1 新版软件与实验数据分布情况对比
4 结论
该软件的成功开发解决了86版破片预测程序图形处理能力弱、可视化程度不高、无存储机制等问题,扩大了预测程序适用范围,提高了计算精度;通过采用面向对象技术、Python等现代技术,保证了系统的先进性,为后续机器学习、智能预测以及与威力预测程序信息共享开发提供了技术支撑;弥补了传统商业威力预测软件破片分布预测误差过大的问题,具有重要的使用价值。