一种发动机系统模块化建模仿真方法

文档序号:6619143阅读:305来源:国知局
专利名称:一种发动机系统模块化建模仿真方法
技术领域
本发明是一种液体火箭发动机系统仿真方法,属于液体火箭发动机系统动态过程仿真领域。
背景技术
目前,对液体火箭发动机系统的建模与仿真,大都是针对某一具体型号的发动机,建立数学 模型并编制计算机程序,然后再进行仿真计算和分析。这种方法很不灵活,缺乏通用性。每 当发动机方案变动或需要对不同的发动机的动态过程进行仿真计算时,需要花费很多的时间 和精力,重复复杂的建模过程,全部或者部分重新编制计算机程序。然而对于液体火箭发动 机这样复杂的动力学系统,釆用上述方法仿真将需要浩大的软件工作量,这往往妨碍了利用 数学模型和计箅机仿真技术对液体火箭发动机进行深入的分析和研究。为了改善这一现状, 国防科技大学的刘昆等人开发了氢氧火箭发动机起动特性仿真软件LRETMMSS。该仿真软 件考虑液体火箭发动机起动和关机过程,采用管道-体积模块划分方法将液体火箭发动机系 统划分为三大类共计21种部件模块。伹是目前只适用于氢氧发动机,如果仿真其它类型的 发动机则需要对软件进行大规模的改动,并且由于其模块种类有限,仍然缺乏通用性。
随着液体火箭发动机技术的不断提高,部件的种类也越来越多,并且即使经验再丰富也 很难把所有的仿真需求都考虑周到,仅有21种部件模块的仿真模块库,显然不能满足迅速 发展的液体火箭发动机仿真技术的要求。只有以一个可以不断丰富的模块库为基础的仿真技 术才能满足液体火箭发动机的工程需求。 发 明 内 容
本发明的目的是为了解决在发动机系统仿真中的通用性缺乏问题,按照模块化建模思想, 将发动机系统按物理边界和实际功能分解为若干部件,分别对分解得到的各个部件建立仿真 模块,再把各个部件的仿真l莫块拼接成发动机系统,从而最终实现发动机系统的仿真。按照 模块化建模思想,每个仿真模块均拥有各自的参数和计算程序,只要给出合理的边界条件, 每一个仿真模块都能进行独立的仿真计算。本发明构造了用来描述发动机参数的参数类,描 述仿真计算程序的程序类和用以获得边界条件的接口类,并利用上述参数类、程序类和接口
类,构造了用来描述发动机部件的部件类。本发明基于上述部件类构建了一个模块库,用来 存储仿真模块,与本领域内其它方法中固定不变的模块库相比,可以灵活扩展。随着模块库 的不断扩展丰富,其中仿真模块越来越全面,利用本发明进行发动机系统仿真的优势才会越来越明显,功能也将越来越强大,从而达到提高通用性的目的。
利用本发明提供的仿真方法进行液体火箭发动机系统仿真,具有通用性,具有以下步骤: 步骤一、首先根据组成发动机系统的部件从模块库中选择仿真模块,当发动机仿真过程
要用到模块库中不包含的仿真模块时,需要创建新的仿真模块来扩展模块库,然后再用于发
动机仿真系统中,所述扩展模块库包括以下步骤
a) 创建仿真模块。上述模块库是基于部件类构建的,即模块库中的仿真模块都是使用部 件类来创建。部件类由参数类、程序类和接口类构建。作为部件类的对象,仿真模块具有编 辑参数、计算程序和接口的能力,但是一个新创建的仿真模块尚不包含任何参数、计算程序 和接口,但可以添加。
b) 为仿真模块编辑和设置参数。作为参数类的对象, 一个参数具有名称、类型、初始值 等属性,其功用在于可以存储数据,并在计算程序中使用。所述的参数与发动机仿真过程的实
际参数对应。
c) 为仿真模块编辑计算程序,用于模拟实际发动机的工作情况。作为程序类的对象,其 功用在于存储计算程序代码和利用已经编辑好的参数进行数学计算。本发明利用一个模拟的 C语言编辑器来实现代码的运算。
d) 为仿真模块编辑接口,用于与其它模块进行连接和数据交换。作为接口类的对象,接 口的功用在于连接发动机系统中的仿真l莫块并在它们之间传递数据,在仿真计算之前获取仿 真模块的边界条件。
e) 将仿真模块以文件的形式保存到模块库中,以备搭建发动机系统时使用。
步骤二、把仿真模块连接成发动机仿真系统。
每个仿真模块都具有若干个接口,每两个仿真模块之间通过一对接口进行连接,若干个 仿真模块连接后形成一个新的仿真模块。如果发动机系统中的仿真模块数量过于庞大,可以 先将相连的多个模块整合为一个新的模块。
所述的整合是利用部件的类的整合功能来实现的,部件类的构造是嵌套的,所以仿真模 块中也可以嵌套仿真模块,本发明利用这种嵌套的特性实现整合。
步骤三、设置系统仿真参数,进行仿真运算,并显示仿真结果。
发动机仿真系统搭建完毕之后,设置积分步长和算法,然后进行仿真运算和结果显示。 相比发动机仿真领域内其它方法,本发明所具有的优点在于
(1) 模块库是基于所述的部件类构建的,具有可扩展性。
(2) 模块库中的仿真模块是以文件的形式存储的,具有可移植性。
(3) 本发明具备整合发动机仿真模块的能力。
(4) 本发明具有通用性,可用于仿真不同的发动机系统。


图l是本发明仿真方法的流程图; 图2是简单仿真模块结构示意图3为用已有的仿真模块整合为一个新的仿真模块的结构示意图。 图中l一仿真模块,2 —接口, 3—新的仿真模块
具体实施例方式
结合附图和实施例对本发明的仿真方法进行详细说明。
本发明提供一种一种发动机系统模块化仿真方法,应用该仿真方法进行液体火箭发动机 系统仿真,具有通用性,如图1所示,具有以下步骤
步骤一、首先根据组成发动机系统的部件从模块库中选择仿真模块,当发动机仿真过程 要用到模块库中不包含的仿真模块时,需要创建新的仿真模块来扩展模块库,然后再用于发 动机仿真系统中,所述扩展模块库包括以下步骤
(a) 创建仿真模块。上述模块库是基于部件类构建的,即模块库中的仿真模块都是使用部 件类来创建。部件类由参数类、程序类和接口类构建。作为部件类的对象,仿真模块具有编 辑参数、计算程序和接口的能力。 一个新创建的仿真模块尚不包含任何参数、计算程序和接 口,但可以添加。
(b) 为仿真模块编辑和设置参数。作为参数类的对象, 一个参数具有名称、类型、初始值 等属性,其功用在于可以存储数据,并在计算程序中使用。所述的参数与发动机仿真过程的实
际参数对应。
(c) 为仿真模块编辑计算程序,用于模拟实际发动机的工作情况。作为程序类的对象,其 功用在于存储计算程序代码和利用已经编辑好的参数进行数学计算。本发明利用一个模拟的 C语言编辑器来实现代码的运算。
(d) 为仿真模块编辑接口,用于与其它模块进行连接和数据交换。作为接口类的对象,接 口的功用在于连接发动机系统中的仿真模块并在它们之间传递数据,在仿真计算之前获取仿 真模块的边界条件。
(e) 将仿真模块以文件的形式保存到模块库中,以备搭建发动机系统时使用。 模块库中的仿真模块都按照以上五个步骤进行扩展和更新。如图2所示, 一个仿真模块1
具有编辑参数、计算程序和接口的能力,仿真模块1具有若干接口2,每个接口2可以用来 输入参数和输出参数,实现数据传输功能。
步骤二、把仿真模块连接成发动机仿真系统。
如果发动机系统中的仿真模块数量过于庞大,可以先将相连的多个仿真l莫块整合为一个 新的仿真模块,存储在模块库中。如图3所示,每两个仿真模块1之间通过一对接口 2进行连接,若干个仿真t莫^il连接后形成一个新的仿真模块3,存储在模块库中。
步骤三、设置系统仿真参数,进行仿真运算,并显示仿真结果。发动机仿真系统搭建完 毕之后,设置积分步长和算法,然后进行仿真运算和结果显示。 实施 例
以一个包括一个燃料贮箱和一段输送管路的简单发动机系统为例,燃料贮箱的出口与管
路的入口相连,管路的出口与外界大气相连。从零时刻开始有水从燃料jie箱中流进短直管路, 并使得短直管路中的流量从零开始逐渐增加,仿真总时间为i秒,步长为0.01秒。对此系 统进行仿真的目的是获得短直管路中的流量变化曲线。假设燃料ie箱出口的压强和管路出口 压强都恒定不变,燃料贮箱中水储量充足,不计重力;管路是短直管路,采用集中参数法建 立数学模型。管路的数学模型描述如下管路中当前时刻的流量是管路中上一时刻的流量、
管路入口的压强和管路出口的压强的函数,并做如下假设水的密度为1.0e3Kg/m 管路的 惯性系数为0.005,流阻系数为0.001。利用本发明进行仿真的步骤包括
步骤一、往模块库里添加燃料贮箱的仿真纟莫块和管路的仿真模块,包括以下步骤
a) 创建燃料贮箱仿真模块,名为燃料贮箱。创建管路仿真模块,名为管路。
b) 为燃料贮箱仿真模块设置两个参数
1、 描述燃料贮箱中压力的参数,名称为Pt,类型为double,初值为5Mpa;
2、 描述燃料贮箱中水的密度参数,名称为。类型为double,初值为1.0e3Kg/m3; 为管路仿真模块设置五个参数
1、 描述管路入口压力的参数,名称为P,,类型为double,初值为0.1MPa;
2、 描述管路出口压力的参数,名称为&,类型为double,初值为0.1MPa;
3、 描述管路中流量的参数,名称为m,类型为double,初值为OKg/s;
4、 描述管路惯性系数的参数,名称为",类型为double,初值为l.Oe-5Kg'S/cm3;
5、 描述管路流阻系数的参数,名称为e,类型为double,初值为5.0e-6Kg'sVcm、
c) 燃料肥箱的压力Pt恒定与初值相等,因此燃料歌箱仿真模块中不必添加计算程序。
按照管路的数学模型,为管路仿真模块添加计箅程序 w = ot + c^*(XA -尸2 -e*w*w/r》/c/,
其中dt为时间步长0.01秒,是系统自动添加的参数,系统自动添加的参数还有时间 t,初值为0;
d) 为燃料贮箱设置一个接口,接口中有一个输出参数Pt。为管路设置两个接口,其中 一个接口有一个输入参数Pp另一个接口有一个输入参数P2。
e) 将新创建的燃料贮箱仿真模块和管路仿真模块保存到+莫块库中。
步骤二、从模块库中选取燃料贮箱仿真模块和管路仿真模块,把燃料贮箱仿真模块的接口和管路仿真模块的接口连接,形成仿真系统,完成仿真系统的搭建。
步骤三、设置步长dt为0.1秒,计算总时间为1秒,算法采用欧拉法,设置管路流量m为
需要显示参数。
从t-O时开始系统仿真计算,系统仿真计算包括多次迭代计算,每次迭代计算都会让系 统所有仿真模块中的计算程序运行一次,再把系统参数t增长0.1秒,然后进行下一次迭代 计算,直到t-l秒仿真计算结束。
权利要求
1、一种发动机系统模块化仿真方法,其特征在于步骤一、首先根据发动机的参数从模块库中选择仿真模块,当发动机仿真过程要用到模块库中不包含的仿真模块时,需要创建新的仿真模块来扩展模块库,然后再用于发动机仿真系统中,所述扩展模块库包括以下步骤1)创建仿真模块;仿真模块具有编辑参数、计算程序和接口的能力,一个新创建的仿真模块尚不包含任何参数、计算程序和接口;2)为仿真模块编辑和设置参数;作为参数类的对象,所述的参数具有名称、类型、初始值、单位等属性;所述的参数与发动机仿真过程的实际参数对应;3)为仿真模块编辑计算程序,用于模拟实际发动机的工作情况;计算程序作为程序类的对象,用于存储计算程序代码和利用已经编辑好的参数进行数学计算;4)为仿真模块编辑接口,用于与其它模块进行连接和数据交换;所述接口作为接口类的对象,用于连接发动机系统中的仿真模块并在它们之间传递数据,在仿真计算之前获取仿真模块的边界条件;5)将仿真模块保存到模块库中,以备搭建发动机仿真系统时使用;步骤二、把仿真模块连接成发动机仿真系统;每个仿真模块都具有若干个接口,每两个仿真模块之间通过一对接口进行连接,用来输入参数和输出参数,若干个仿真模块连接后形成一个发动机仿真系统;步骤三、设置系统仿真参数,进行仿真运算,并显示仿真结果。
2、 根据权利要求1所述的一种发动机系统模块化仿真方法,其特征在于步骤二中如果发动机系统中的仿真模块数量过于庞大,则先将相连的多个仿真模 块整合为一个新的仿真模块,存储在模块库中。
全文摘要
本发明公开了一种用于液体火箭发动机系统模块化仿真的方法。本发明按照模块化建模思想,首先根据发动机的参数从模块库中选择仿真模块,当发动机仿真过程要用到模块库中不包含的仿真模块时,需要创建新的仿真模块来扩展模块库,把仿真模块连接成发动机仿真系统;最后设置系统仿真参数,进行仿真运算,并显示仿真结果。本发明解决了在发动机系统仿真技术中的通用性缺乏问题,提高发动机系统仿真的效率、缩短研发时间。
文档编号G06F17/50GK101576939SQ20091008704
公开日2009年11月11日 申请日期2009年6月22日 优先权日2009年6月22日
发明者张黎辉, 徐姗姗, 伟 李, 晨 李, 娜 段, 辉 潘 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1