首页> 中国专利> 利用实体建模计算任意形状密闭容器中的液位

利用实体建模计算任意形状密闭容器中的液位

摘要

用于模拟液体容器行为的系统和方法。所述系统包括实体建模器和非线性方程求解器。所述非线性方程求解器把来自所述实体建模器的密闭容器的实体模型表示、空间中的期望方向、动态条件(如横向加速)和液体的量作为输入。为了获知所述容器中的液位,所述系统求解器通过使用表示所述容器液位的无限水平半空间迭代地执行连续的布尔减法运算。所得平切实体模型被用来计算在该液位的液体体积。当所述平切密闭容器的计算体积匹配在给定的容差内指定液体(如燃料)的体积时,所述迭代系统求解器终止。为了适应动态条件,例如,当加速出现时,所述水平液体平面被处于对应于总加速的角度的平面替代。

著录项

  • 公开/公告号CN103299308A

    专利类型发明专利

  • 公开/公告日2013-09-11

    原文格式PDF

  • 申请/专利权人 波音公司;

    申请/专利号CN201180059351.4

  • 申请日2011-09-09

  • 分类号G06F17/50;

  • 代理机构北京纪凯知识产权代理有限公司;

  • 代理人赵蓉民

  • 地址 美国伊利诺伊州

  • 入库时间 2024-02-19 21:27:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-08-10

    授权

    授权

  • 2013-10-16

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20110909

    实质审查的生效

  • 2013-09-11

    公开

    公开

说明书

技术领域

本发明一般涉及用于模拟含有液体的密闭容器(下文称为“容器”) 的系统和方法。例如在液体-燃料运载交通工具的设计阶段工程模拟 中,这样的系统是有用的。这样的系统也可应用于减少用于确定燃料 液位的燃料箱中的传感器数量,或者地质结构的相关液位和液体体积 量,如水库和油田。

背景技术

据了解,使用机翼内部形状的矩形平切近似法,计算对于不同的 机翼姿态、不同的倾斜角和偏航角和不同的机翼偏转的飞机机翼中的 燃料分布。该已知的解决方案具有以下缺点:(1)依赖于特定几何形 状和拓扑结构(即机翼);(2)需要结构输入的广泛格式化和减少的 几何表示发挥作用;(3)使用近似解决方法,并因此不提供精确的解 决方案;(4)现有软件是用FORTRAN语言编写,其复杂、维护困 难且难以改进;(5)现有软件与其他解决方案(如飞机的重心对于不 同飞行角度的计算)很难结合在一起;(6)分析结果是通过要求客户 编码来读取和编写的专有文件格式交换。

需要改进的系统和方法,其用于在静态或动态情况下(如密闭容 器在特定方向上是加速的)精确计算在不同空间方向的任意形状密闭 容器的液位(在此也称为“液体表面平面位置”)。

发明内容

本发明是涉及通过使用实体建模技术计算在任意复杂形状容器 (如燃料箱)中的液位的系统和方法。实体建模包括理论、技术和系 统的主体,其集中在允许所表示实体的良好定义的几何性质被自动计 算出的表示。许多明确表示实体的方案是已知的。边界表示是图形, 其中图形的节点表示面、边和顶点,并且其连线表示关联和邻接关系。 大多数实体建模器为在实体对象上的布尔运算提供支撑。布尔运算被 用在实体建模中,以通过例如立方体、圆柱体和其他边界表示的参数 化实体单元的加法和减法限定实体对象。

为了利用实体建模,需要在实体表示上运算的应用算法。几何算 法处理表示实体的数据(符号结构)。特别地,公知算法用于计算几 何上复杂的实体的体积、转动惯量和其他性质。

本文所公开的实施例使用边界来表示燃料箱,但是本发明不限于 专门使用燃料箱边界表示。本文所公开的实施例也使用实体建模布尔 运算,以建立一种系统,其使用准确几何上的准确计算来确定在任意 复杂形状容器中的液位。这些实施例补充支持实体建模布尔运算,以 通过一个数量级减少代码量。这些实施例不依赖于近似法。给定液体 体积和任意形状密闭容器,所公开的实施例极大地简化液位和其他性 质的计算,如在不同容器方向上的可用和不可用液体的量、液体的可 接近性、暴露的表面面积和过液表面面积、在容器中任何位置处液体 高度和具有容器方向变化的体积转移。

根据本文所公开的实施例,模拟系统包括用软件编程的处理器, 其使用实体建模布尔运算并结合非线性方程求解器来计算在任意形状 密闭容器中的液位,如飞机机翼中的燃料液位。

更具体地,根据一个实施例,实体建模器输出密闭容器的边界表 示至非线性方程求解器。密闭容器的实体模型表示沿着其边界的形状, 其由在共同边缘处被连接在一起以形成“防水的”封闭空间的一组的 面组成。

非线性方程求解器把密闭容器的实体模型边界表示、所需空间方 向、动态条件(如横向加速)和液体的量作为输入。为了获知在容器 中的液位,系统求解器通过使用表示容器液位的无限水平半空间(或 其他形状的半空间)迭代地执行连续的布尔减法运算。所得平切实体 模型被用来计算在该液位的液体体积。

当平切密闭容器的计算体积匹配在给定的容差内液体(如燃料)的 指定体积时,迭代系统求解器终止。系统求解器的结果是对应于给定体 积的液体的实体模型边界表示。为了适应动态条件,例如,当加速出现 时,如以翻转或爬升的方式,水平液体平面被在对应于总加速度的角度 的平面替代。

根据另一实施例,模拟系统被设计,以适应具有形成由挡板中的 窄节流孔连接的隔室或隔间的内部挡板的密闭容器。液位高度计算(如 前描述的)被首次应用到每个隔室(即隔间),以计算初始液体高度。 接着,液头(由在两个换流容器之间的液位差异产生的压力)在每对 连接的隔间之间被计算出。然后,此信息被用来计算液体如何在隔间 之间流动,以使液位变得水平。

液体和密闭容器的实体模型表示可以被用于大大地方便导出容器 性质,如:(1)暴露的液体面积,其简单地是实体模型的顶面面积(该 性质用于估计蒸发是重要的);(2)过液(wetted)面积(该面积是 指液体接触的面积),其通过计算接触容器面的液体的实体模型表示 的所有面的面积;(3)浸量尺水平(浸量尺被浸没在液体中的量), 其通过交叉浸量尺的实体模型表示和液体的实体模型表示(这被用来 校准浸量尺,以指示液体体积);(4)由隔室截留的液体的量;(5) 当容器的方向改变时从一个隔室传输到另一隔室的液体的量;和(6) 在密闭容器中的流体的重量分布。

本文所公开的软件功能性提供了一种用于计算在任意形状容器中 的液位的一般方法。因为软件不依赖于具体形状或拓扑结构(事物如 何被连接),其可以用于不同的应用中,如飞机和汽车燃料箱、水箱 和散热器、火箭推进剂等中的液位。

软件支持实体建模布尔运算,以减少代码量一个数量级。这进而 大大地减少了所需软件维护。

另外,液位计算软件不依赖于近似法。因为没有近似法被执行, 该解决方案更精确。

而且,软件是可以嵌入到其他软件解决方案。因为该解决方案是 可嵌入的,所以以不同格式传输分析结果的需要被消除了。

软件使用密闭容器的几何结构的实际CAD定义,而不是几何结构 的离散“简笔画”近似。因为软件直接在几何结构上运算,许多数据 转换问题被消除。

本发明的其他方面在下面公开和要求保护。

附图说明

图1是由另一实体模型表示的面交叉的密闭容器的实体模型表 示,该面表示根据一个实施例由算法确定的密闭容器中的液位。成角 度的视点为清楚起见已经被选定。

图2A是飞机概念机翼的实体模型表示。

图2B是在图2A中表示的机翼中的液体的15%体积填充的实体模 型表示,其由用于产生图1的相同算法产生。

图3A是具有9度倾斜角的概念机翼的实体模型表示。

图3B是在图3A中表示的机翼中的液体的15%体积填充的实体模 型表示,其由用于产生图1的相同算法产生。

图4A是圆柱形密闭容器的实体模型表示。

图4B是在图4A中表示的装置圆柱形密闭容器中的液体的15%体 积填充的实体模型表示,其由用于产生图1的相同算法产生。

图5是方框图,其根据本发明的一个实施例表示用于计算密闭容 器中液位的系统的组件。

图6是流程图,其示出了由图5中的系统执行的算法。

图7是顶级模型图,其表示根据本发明的又一实施例通过执行液 体流率计算的连接子系统接合的两个液体体积子系统(每个表示相应 含液体的隔室或隔间)。

图8是三维示意图,其示出了在模拟开始时应用到两个连通容器 的液位计算。

图9是三维示意图,其示出了在液位已均衡后,在两个连通容器 之间的液体的平整。

图10是方框图,其表示通过使用用于建模、模拟和分析密闭容器 的连接隔室或隔间之间的液体流动的市售软件(即由MathWorks开发 的)进行的计算。

图11是三维示意图,其示出了燃料箱的多个隔间,其中液体由内 部挡板截留。

下文将参考附图,其中不同附图中的类似元素标注相同的参考标 号。

具体实施方式

现在将描述用于建模和模拟在动态条件下燃料箱内的液体行为的 系统的各种实施例。

图1是包括用于存储燃料的隔室4、6和8的机翼2的实体模型表 示。根据本发明的一个实施例,机翼2的实体模型表示是由无限水平 半空间10的面18交叉,该面18表示给定15%体积填充的机翼2内的 燃料液位(即燃料的表面平面水平)。成角度的视点为清楚起见已经 被选定。

如图2A中所示,机翼2的隔室4是通过节流孔与隔室6流体连通, 并且隔室6是通过节流孔与隔室8流体连通。图2A示出了具有0°倾斜 角的机翼2。相比之下,图2B是用于15%体积填充在0°倾斜角的机翼 2内的燃料体积的实体模型表示。如图2B中所示,在燃料箱隔室内的 燃料体积包括相应燃料体积12、14、16。如图1中最好示出,燃料体 积12被隔室4包含;燃料体积14被隔室6包含;和燃料体积16被隔 室8包含。

如在后面将更详细公开,处理器用执行用于确定面18(表示燃料 液位)的位置和方向的算法的软件编程,作为机翼2的实体模型表示、 机翼2的空间方向、机翼2内所含燃料的量和影响机翼2内燃料的动 态条件(如机翼的加速)的函数。

例如,随着机翼2的倾斜角发生改变,机翼2内燃料的位置发生改 变。图3A是具有9度倾斜角的相同机翼2的实体模型表示,而图3B 是用于15%体积填充在9°倾斜角的机翼2内燃料体积的实体模型表示。 如图3B中所示,在燃料箱隔室4和6内的燃料体积包括相应燃料体积 12’和14’。在隔室8中没有燃料用于图3A中所示的空间方向和具有 15%填充。

图4A是在45度角定向的圆柱形密闭容器22的实体模型表示。图 4B是由图4A中表示的圆柱形密闭容器22包含的液体24的15%体积 填充的实体模型表示,其由用于产生图1、图2A、图2B、图3A和图 3B中所示图像的相同算法产生。这说明了算法的通用性。

图5是方框图,其根据本发明一个实施例表示用于计算和显示密 闭容器中液位的系统的组件。该系统包括处理器20,其与使用实体建 模布尔运算的实体建模器软件26和计算任意形状密闭容器中的液位 (如飞机机翼中的燃料液位)的非线性方程求解器28一起被编程。实 体建模器26输出密闭容器的边界表示至非线性方程求解器28。密闭容 器的实体模型表示沿着其边界的形状,其由在共同边缘处被连接在一 起以形成“防水的”封闭空间的一组面组成。非线性求解器28把期望 空间方向(图5中的输入A)、动态条件(如横向加速)(图5中的 输入B)和在此所含液体的量(即体积)(图5中的输入C)作为输入 密闭容器的实体模型边界表示。为了获知密闭容器中的液位,系统求 解器28通过使用表示容器内的液位的无限水平半空间(如图1中的项 目10)迭代地执行连续的布尔减法运算。所得平切实体模型被用来计 算在该液位的液体体积。当平切密闭容器的计算体积匹配在给定的容 差内液体(如燃料)的指定体积时,迭代系统求解器28终止。系统求 解器的结果是计算出的液体体积的实体模型边界表示。为了适应动态 条件,例如,当加速出现时,如以翻转或爬升的方式,水平液体平面被 在对应于总加速的角度的平面替代。然后,在动态条件下的液体的最后 边界表示被输出至显示装置30,其显示了由水平液体表面平面交叉的密 闭容器的实体模型的图像(例如,在图1中所示)。

图6是流程图,其示出了由图5中的系统执行的算法。在步骤32 中,处理器从内存中检索密闭容器的实体模型边界表示。在步骤34中, 处理器从内存中检索额外数据。根据优选实施例,额外数据至少包括 以下:密闭容器的空间方向;密闭容器中液体的量(即目标体积); 和密闭容器的加速度的大小和方向(即总加速向量)。在步骤36中, 处理器确定液体表面平面的可能位置的限制,其中限制是空间方向、 目标体积和加速向量(即该加速向量垂直于液体表面平面)的函数。

该工具可以执行确定实体的限制的方法,即其边界的最小和最大 x、y和z值。这些限制可以被视为两点,该两点限定包含实体的“边 界框”的相对角。在只有重力作用在液体上的情况下,即总加速完全 与“惯性”z方向对齐,液体限制是实体的z限制。在额外飞机加速引 起总加速向量不再与z方向对齐的情况下,容器首先被暂时旋转,直 到其总加速向量与惯性z方向对齐。然后,该工具获知旋转实体的限 制,从而限定旋转的“边界框”。旋转的实体被丢弃,并且其边界框 的限制被旋转回到原来的“惯性”坐标系,其中他们之间所画的射线 包含用于与加速向量对齐的液体平面的定位点的范围。

更具体地,限制是基于实体模型的边界框计算,其中边界框沿着 当前坐标系统的轴线(例如,x-y平面表示“水平”平面、“z”分量 在“垂直”方向上的高度–其中“垂直”意思是重力的方向加适应其 他加速的各种因子)。虽然围绕实体模型的“边界框”有各种松紧度, 但是如何计算实体模型的边界框是众所周知的。“z”分量是本文公开 的实施例所使用的限制。

所公开的实施例通过计算边界表示的各面的所有下垫面的边界框 计算边界表示的边界框,然后通过计算在每个坐标方向上的框的极值 点的共同最小值和最大值“结合”框。因此,边界框可以有点松,但 为了所执行的计算,也没关系。

所以,这个问题降为获知各表面的边界框,因为存在各种已公开 的方法。所公开的实施例使用张量积样条曲线来表示表面并使用用于 多项式样条曲线的控制多边形的边界(有理样条曲线是更复杂的)。 然而,这仅仅是一个示例性实施例,并且有其他公开的方法来计算边 界框。在《计算机辅助几何设计手册》,Farin等人(编辑),G.Elsebier  B.V.,第13章–细分表面的疑问,M.Sabin(2002)(Handbook of  Computer Aided Geometric Design,G.Farin etal.(editor),Elsevier B.V., Chapter13–Interrogation of Subdivision Surfaces,M.Sabin(2002))中公 开了计算边界框的各种方法。

在步骤38中,处理器通过线性内插法做了关于液体表面平面位置 的第一猜测(即第N猜测,其中N=1),这种第一猜测是位于先前在 步骤36中确定的各限制之间。然后,处理器使用正则化实体建模(即 布尔)运算来根据第一猜测确定在液体表面平面位置下液体体积(见 图6中步骤40)。处理器然后比较在步骤40中确定的液体体积和目标 体积(步骤42),并确定它们之间的差是否是可接受的(步骤44)。 所应用的试验是,计算出的体积和目标体积之间的差是否在用户指定 的容差内(图6中的模块46)。如果差是不可接受的,使用数值法(如 牛顿-拉夫申法(Newton-Raphson-like method))来做关于液体表面平 面位置的改进猜测(步骤42)。通过使用该改进的猜测,重复步骤42 和44。如果改进的猜测是不可接受的(步骤42),然后重复步骤48、 40和42直到计算出的体积和目标体积之间的差是可接受的。如果差是 可接受的(步骤44),处理器存储表示关于液体表面平面位置和/或容 器中计算出的液体体积的实体模型边界表示的最后猜测的图像数据, 实体模型边界表示的上表面是上述液体表面平面(步骤50)。处理器 也发送图像数据至显示装置(如计算机显示器)进行显示。

用于猜测液体表面平面位置的数值法包括获知一个函数零点的连 续更好近似值,其等于在用于液体表面平面位置的当前猜测下的液体体 积和由液体体积数据表示的液体体积之间的差。这组可能的零点获知方 法包括本领域中已知的基于多项式的方法和基于导数的方法。不同的应 用可能会获知从任何数量的不同方法中受益。

仍然参照图6,由步骤40、42、44和48表示的迭代可以基于不同 的,但根本上等效的方法。例如,通过使用正则化的布尔运算符,第 一版本的源代码从模拟的机翼中减去一大模块,以消除“空的空间”: cutsolid=solid-cutblock.Translate([0,0,zrange*delta/10.0])

其中“-”过载以指在实体Brep(边界表示)对象上的正则化布尔减法 运算。第二版本使用“切割(Cut)”指令,其用无限平面切割实体, 并仅保留沿平面的正法线的部分实体。通过使用不同的方法,两个版 本都实现了相同的目标,并且都被视为标准实体建模运算。

第一版本的工作马力是函数cutWing(实体,高度),其用在给定 z值(即高度)的大模块切割在其给定方向的任意实体,和函数findwl (实体、体积),其使用牛顿拉夫申迭代法在给定密闭容器的实体模 型和燃料的体积的情况下找到燃料液位。本质上,其以对液位的猜测 开始,然后通过在给定特定液位的情况下计算平切实体模型的体积迭 代地细化液位。

本发明所公开的实施例应用在所应用的牛顿法之内的实体建模技 术来找到燃料液位。然而,牛顿拉夫申法只是解决该这种特定问题的 一个可能的方式,即找到高度,以便

Volume(containment_solid-*big_block at z=height)-given_volume≤ε 其中-*表示正则化布尔减法运算,ε被设置为小的数字(由于浮点计算 的有限的精确性和有限的计算资源),并且big_block是一个矩形框,去 其具有平行于地面(概念上)的底面并被定尺寸以便大于由 containment_solid表示的密闭容器。无限大的半空间(如图1中所示)也 将工作。对于一些实施,ε被设置为0.001至0.0001。选择数量太小导致 不稳定的牛顿-拉夫申行为(或长的计算时间)。

函数cutWing(实体,高度)将如下作为输入:被表示为密闭容器 (燃料箱、瓶、腐化箱)的Brep(“实体”)的实体模型,和表示为 实值的高度参数“hgt”。高度值“hgt”表示密闭容器中的液位,这意 味着实体和高度值都参照了共同的(和任意的)原点(origin)。我们 还假设重力(或外力)的存在,这意味着力的方向将垂直于密闭容器 中液体的表面平面。在此实施中,我们也假设液体是“静止的”而不 是左右晃动。

cutWing例程使用高度值来返回表示由密闭容器中的液体所占据 的空间的实体模型。从概念上讲,这是通过建立无线平面、平切具有 该平面的实体和保持在正的地心引力方向上的部分来进行的。在一个 版本中,假设密闭容器明显小于行星的圆周,并且在密闭容器中的液 位可以被视为是平面。然而,通过使用以天体的中心为中心的球体(或 其他形状的物体)和根据相对于共同原点的容器的相对位置调整半径, 这可以很一般地被扩展包含相对于该行星大小的大容器。

在cutWing例程中,通过建立大矩形模块的实体模型表示执行该运 算,其被定尺寸以便其大于密闭容器,然后定位模块在给定高度。正 则化布尔运算被用于从密闭容器中减去模块,以获得包含在容器内的 液体的实体模型表示。应当理解的是,在一些情况下,如果液位低于 密闭容器,这将不返回什么,或者如果液位高于容器,这将返回整个 密闭容器。

在布尔运算在描述的水平处失败的情况下,cutWing例程也将轻微 的“德尔塔(delta)”摆动实施至高度变量。它以小增量的“zrange” 基本上下摆动模块,直到返回成功的计算。zrange被设置在容器的最 大高度的1%。通常,布尔运算的失败是由处理与边界表示的面重合的 切割表面的各问题引起。布尔运算依赖于计算各表面之间的许多交点, 并且当两个表面部分重合时,解决方案的数目变得无穷大(即代替一 个或多个曲线,一个曲线得到无穷多的曲线,即表面的一个子集)。 所公开的系统(和大多数CAD系统)具有特殊的代码来检测最常见的 重合,但是有许多布尔运算失败的情况。当然,还有许多布尔运算可 能失败(如错误)的其他原因,并且扰动技巧允许这些错误恢复。这 也是大多实体建模系统内部所采用的相当普通的技术。

findwl(实体,体积)函数使用下列参数来找到燃料液位:hlow, 存储高度的当前下界的变量(hlow=zlower);vlow,存储容器体积的 当前下界的变量(vlow=0);hhigh,存储高度的当前上界的变量(hhigh =zupper);vhigh,存储容器体积的当前上界的变量(vhigh=total); hmed,hlow和hhigh的平均值[hmed=abs(hhigh-hlow)*.5+zlower]; vmed:在hmed的液体体积[vmed=cutWing(solid,hmed).Volume()]。

函数Volume()是计算由实体模型各面包围的空间所包含的体积的 例程(被定义为实体模型)。体积的边界表示是由在共同边缘处交汇 并建立防“泄漏”外壳的空间的各面的集合表示。函数Area()是计算由 “修整曲线”定义的表面的部分面积的例程,其中修正曲线定义了表 面的一个子集。Area()被用来计算容器的过液面积,这表示由液体接触 的容器的部分总面积以及液体的“顶”表面的面积(其被用来确定蒸 发率等)。

上述算法使用燃料箱几何结构的实际CAD定义,而不是几何结构 的离散“简笔画”近似法。为了计算液位,算法直接地在原来设计几 何结构上使用准确的实体建模运算。实体正则化布尔运算执行几何结 构之间的必要交叉,其被分类以确定保留哪些相交表面。

正如前面所提到的,用于明确表示实体的许多计划是已知的。例如, 表示实体对象的边界的使用是由Requicha在“刚性实体表示:理论、 方法和系统”,ACM计算调查,第12卷,第4号,第437-464页(1980 年12月)(“Representations for Rigid Solids:Theory,Methods,and  Systems”,ACM Computing Suveys,Vol.12,No.4,pp.437-464 (December1980))中公开。此外,布尔运算被用在实体建模中,以通 过例如立方体、圆柱体和其他边界表示的参数化实体单元的加法和减法 限定实体对象。例如,定义实体对象的布尔减法运算的使用是由Requicha 和Voelcker在“实体建模中的布尔运算:边界计算和合并算法”, Preceedings of the IEEE,第73卷,第1号,第30-44页(1985年1月) (“Boolean Operations in Solid Modeling:Boundary Evaluation and Merging  Algorithms”,Proceedings of the IEEE,Vol.73,No.1,pp.30-44(January 1985))。

根据另一实施例,模拟系统被设计,以适应具有形成由挡板中的窄 节流孔连接的隔室或隔间的内部挡板的密闭容器。液位高度计算(如前) 被首次应用到各个隔室(即隔间),以计算初始液体高度。接着,头(其 是由在两个换流容器之间的液位差异产生的压力)在每对连接的隔间之 间被计算出。然后,此信息被用来计算液体如何在各隔间之间流动,以 使液位变得水平。

本实施例的实施方式利用从Mathworks市售的和 软件,结合能够表示实体对象作为边界表示的实体建模软 件。是数值计算环境和编程语言。允许矩阵运算、 功能和数据的绘图和算法的实施。是用于建模、模拟和分析 多域动态系统的工具。是紧密地与环境结合,并 可以驱动或从其进行编写。

在描述其物理建模工具中,MathWorks已表明SimscapeTM用用于 建模系统的各工具扩展其涵盖机械、电气、液压和其他物 理领域作为物理网络。它提供了来自这些领域的基本构建模块来让您 建立自定义组件的模型。以为基础的SimscapeTM语言实施 了以文本为基础的物理建模组件、域和库的创作。本文所公开的本发 明的实施例利用MathWorks的物理建模工具,但可以利用其他物理建 模工具。

根据用于模拟通过节流孔连通的燃料箱的一系列隔室或隔间之间 流动的本发明实施例,求解器28(见图5)包括多个子系统,其包括 用于计算每个隔间中的液位的相应燃料体积子系统和用于计算作为每 个隔间中的不同液位的函数的通过每个节流孔的流率的相应连接子系 统(其使用标准Mathworks提供的模块)。【这些子系统包括由处理 器执行的各组指令。】然而,应当理解的是,本发明不限于互连元件 是节流孔这一情况。在实际应用中,有许多其他类型的箱之间可以被 模拟的互连件,如带阀的开口、管、通过泵的管线、阀门和其他装置。

为了说明的目的,现在将描述用于计算在两个至少部分填充的燃料 箱中的液位和通过连接那些隔间的节流孔的液体流率的示例性子系 统。这些计算可以被延伸到包括具有一个序列的至少三个连通隔间的 模拟燃料箱,其中每个隔间至少部分地填充有液体燃料。相同的程序 可以在具有任意多个互连元件的任意多个实体对象之间进行。

图7是顶级模拟模型图,其表示通过包含连接信息的第三子系统 56接合的两个燃料体积子系统52和54(对应于相应由节流孔连接的 含液体的隔室或隔间)。每个燃料体积子系统52、54表示相应隔间或 隔室中包含的液体燃料,并被接合到表示燃料箱内相同相应隔间或隔 室的相应唯一实体对象(通过使用实体建模软件开始)。连接子系统 56执行模拟通过节流孔从一个隔间到另一隔间的液体流动的液体流率 计算。根据实施方式,连接子系统56只使用标准Mathworks提供的模 块。

根据所描述的实施方式,每个燃料体积子系统都与表示箱或燃料箱 内单个隔间的实体对象相互作用。这些对象应该被载入工作 区作为具有名为“隔间”的一个阵列。每个燃料体积子系统的初始条 件可以由模拟运算符通过使用计算机显示器上的弹出式窗口被输入。 此弹出式窗口具有两个参数域,其分别被命名为“隔间号”和“初始 体积”。如果在阵列中有多个隔间,每个隔间需要被配置有相应液体 初始体积。对于被配置的隔间的隔间号被输入名为“隔间号”的域。 如果只有一个对象,“隔间号”应该被设置为1。参数“初始体积”设 置初始燃料体积用于以[len^3]为单位的模拟,其中“len”是用于定义 实体的单位。例如,如果实体以英寸为单位被定义,用in^3设置初始 燃料体积。另外,相同单位被用来在输入端口上定义进入隔间的流率“dV [len^3/s]”。

仍然参照图7,每个燃料体积子系统52、54接收加速向量数据58, 其表示被模拟的密闭容器的加速向量,和旋转向量数据60,其表示被 模拟的密闭容器的空间方向(即相对于参考系的旋转)的向量。燃料 体积子系统52进一步接收来自连接子系统56的输出端口Out1的数据, 而燃料体积子系统54接收来自连接子系统56的输出端口Out2的数据。 数据输出Out1是移入或移出隔间1的液体流动dV的速率(以体积/秒 为单位),其在通过具有特定直径的圆形节流孔从隔间1和2到另一 隔间的液体流动的模拟过程中由连接子系统56计算,而数据输出Out2 是移入或移出隔间2的液体流动dV的速率,其在相同模拟过程中由连 接子系统56计算。如果隔间1中的液体的初始体积大于隔间2中的液 体的初始体积,那么液体将从隔间1流入隔间2;可替代地,如果隔间 1中的液体的初始体积小于隔间2中的液体的初始体积,那么液体将从 隔间2流入隔间1。在这两种情况下,隔间1和2的流率将是大小相等 和方向相反。在图7中所示的具体示例中,隔间1内的初始体积是6000, 而隔间2内的初始体积是1000。

每个燃料体积子系统输入到“S-Function”模块。这通过 执行自定义嵌入式代码提供到相应实体对象的接口。此S-Function代 码包括以标准Mathworks模板执行的名为sFun_tank.m的定义文件。自 定义代码的相关位调用在实体对象上运算的函数“findFuelPlane”。 sFun_tank.m中的一行是:

Block.OutputPort(1).Data=findFuelPlane(rot,volume,1,…normal) findFuelPlane是关键运算。输入“rot”是指向具有特定空间方向的实 体对象的指针。“volume(体积)”是表示“rot”内液体的当前体积 的数值两倍。“normal(法矢)”是表示作用在液体上的总加速向量的 数值两倍的三维向量。函数findFuelPlane返回数值两倍的三维向量, 其中数值两倍是用于液体表面平面的定位点,即由【point,normal】(【点, 法矢】)定义的平面。

再次参照图7,使用标准组件模拟在隔间1和2之间的 隔板中通过圆形节流孔的流动。随着液体从一个隔间流到另一隔间, 输入至findFuelPlane函数的“体积”被改变。在模拟过程中,由实体 建模软件确定的液位被用来确定在隔板的每一侧上的节流孔口上的液 体“头”压力。由于不均匀燃料液位的压差驱动通过节流孔流动,至 少液位平衡。

当模拟系统初始化后,燃料体积子系统52计算隔间1内液体的表 面平面的初始位置,作为表示隔间1、隔间1中液体的初始体积和加速 和旋转向量的实体模型对象的函数,并且输出该数据至连接子系统56 的输入端口In1;并且燃料体积子系统54计算隔间2内液体的表面平 面的初始位置,作为表示隔间2、隔间2中液体的初始体积和相同的加 速和旋转向量的实体模型对象的函数,并且输出该数据至连接子系统 56的输入端口In2。同时,隔间1和2中的初始液位的实体模型边界表 示可以显示在显示装置上。

图8是两个实体对象及其所含液体体积的静态图像。该图像表示模 拟的初始条件。粗体线表示在相应隔间中的液体体积的边界,而非粗 体线表示相应隔间的实体壁,其限制相应含液体的内部体积。各隔间 之间小的圆形节流孔未示出,其中小的圆形节流孔允许液体从一个隔 间通过另一隔间。

根据表示隔间1和2、隔间1和2中的初始液位和隔间1和2通过 其连通的节流孔的面积的实体模型对象,连接子系统56计算液头,这 是由隔间1和2之间的液位差产生的压力。然后,此信息被用来计算 液体在隔间之间流动的速率,以使液位变得水平。随着液位差的减小, 流率也减小,直到最后当隔间1和2中模拟的液位变得相等时流率等 于零,如图9中所示。

虽然图8描述了模拟的初始不相等液位在计算机显示器上的显示, 和图9描述了模拟的最后相等液位在相同计算机显示器上的显示,但 是应当理解的是,随着它们从图8中的液位转变为图9中的液位,该 显示装置还优选连续地显示所模拟的液位。

响应液位平衡后所产生加速或旋转向量的任何变化,燃料体积子系 统52和54将计算分别用于隔间1和2中的表面平面的新位置。响应 在端口In1和In2处的这些新输入,连接子系统将再次计算和(在端口 Out1和Out2处)输出在这些变化的条件下从一个隔间到另一隔间的初 始流率。连接子系统56然后将继续计算流率,直到液位再次达到平衡。

上述实施方式使许多主机Fortran程序被替换为旨在无缝集成到 计算环境的独立于平台的工具包。具有不均匀初始燃料液位 的两个隔间是由节流孔连接。实体建模软件被用来计算每个隔间中的 燃料的相应高度(相对于节流孔的标高),并且处理从一个 隔间到另一隔间的流动。图8和9示出了用于747-8外侧机翼油箱的前 两个隔间的模拟。在机翼参考平面坐标系统中,单位为英寸。

燃料高度信息是通过传递燃料体积到用于每个隔间的实体对象计 算,并被返回作为用于燃料表面平面的三维定位向量(在图7中所示情 况下的平面的法线仅是[001])。目前,飞机保持静止,所以第三元素是 从该向量中被提取,并用作燃料平面的高度,其中节流孔的z位置被减 去,以得到用于计算头压的相对燃料高度。通过表示适当转换的一系列 增益模块,即P=rho*g*h,完成至液头的转换。

到现在为止,通过调用到实体建模软件或使用常规信 号,一切事情都完成了,这纯粹是数学上的;在头被确定后该信号被 转换成SimscapeTM所使用的“物理信号”。所转换的压力信号用来驱 动液压压力源,其中该液压压力源在一端上被连接到大气基准,并在 另一端上被连接到一个节流孔,然后,节流孔被连接到第二隔间中的 镜像配置。图10象征性地描述了示例性燃料体积子系统。流率传感器 被用来确定通过物理系统所得到的流动,这然后被转换返回到 inches^3/s为单位的常规信号,并被集成以提供体积更新至 表示部分填充隔间的实体对象。

可以进行模拟,在加燃料后,燃料体积被保留而同时飞机条件发生 改变。为了接近起飞滑跑,输入.slice或.cut方法的“normal”是以作 为[-accel01]的定义的总加速向量,其中“accel”是以g’s表 示的纵向(x-方向)加速。调用“findFuelPlane”的自定义函 数被用来确定燃料平面的定位点。

另外,该模拟可以包括飞机的变化俯仰(上/下)。在这种情况下, 相对于重力的燃料箱方向是随时间以及总加速向量的变化而变化。这是 通过使用实体对象的“旋转”方法实现;函数“angle2dcm” (航空航天工具箱)有利于快速生成所需方向余弦矩阵输入。

已经成功尝试了用于集成实体模型对象到内的各种方法。 在上述公开的方法中,使用了“Level-2M-File S-Function”模块。其他 方法也使用“嵌入式Matlab函数(Embedded Matlab Function)”模块 或“Matlab Fcn”模块。所有三个模块随后调用函数“findFuelPlane”, 这通过使用实体模型对象相应地定位用于输入燃料体积和动态条件的 燃料平面。

因为对象的Java性质,所有这些方法中的三个方法基本上做同样 的事情,也就是说,他们在常规发动机中执行findFuelPlane 函数。本身不会消化掉Java,这限制了可用于加快稍后模拟 的加速选项的分类。即使在嵌入式函数中,其预编译m-代 码转换成用于更快执行的C当量,findFuelPlane函数被说明是“非固有 的”,这意味着它被切换到在运行的常规发动机,而不是试 图预编译它。

图10是方框图,其表示通过使用用于建模、模拟和分析密闭容器 的连接隔室或隔间之间的液体流动的而进行的计算。

在图10中标记为“Vol1”的模块62是“Goto”模块,这路由信 号到相应“From”模块。From和Goto模块允许传递信号从一个模块 到另一模块,而不需实际连接它们。在这种情况下,该信号被简单地 路由到数据截留部分,以进行绘制。

标记为“常量(Constant)”的模块64是常量模块,在这种情况 下被设置为0.0,这提供总加速向量的“Fwd Acc”或前向加速分量到 燃料箱模型。

标记为“Level-2M-file S-Function”的模块66正是如此。该S-函 数提供接口到实体建模软件,并且是先前描述的模块的旧版本。

在图10中标记为“h1”的模块68是“到工作区(To Workspace)” 模块;在模拟结束后,它存储程序存储器中的数据在工作区 进行使用。

直接到模块66右侧的黑棒70是多路分配器(Demux)模块。多路 分配器模块70提取输入信号的分量并输出分量作为单独的信号。输出 信号是从顶部输出端口到底部输出端口进行排序。来自S-函数的输出 “燃料平面”是三维的阵列(表示燃料平面的x,y,z定位点),并且 在图10中所描述的特定模拟中,我们只对第三元素感兴趣,即液体的 z-值或高度。因此,顶部两个信号退出“终结器(Terminator)”模块 72中的多路分配器模块端,而第三元素前进到其他运算。“终结器” 模块终止未连接的输出端口。

具有内部标记“h1”的标记为“Goto”的模块74是路由到数据截 留和绘制部分的Goto模块,其未示出。

标记为“节流孔高度基准”的模块76是常量模块,在这种情况下 为通过其计算液体流率的节流孔提供z-值(高度)。通过使用圆形“求 和(Sum)”模块,从燃料平面z-值减去来自模块76的输出,从而产 生表示在该节流孔上方的液体的高度(也被称为“头高度”)的输出。 在这种情况下,头高度信号表示以英寸为单位的高度。

然后,通过使用“增益(Gain)”模块,头高度信号通过一系列转 换乘法器运行,由常量值(增益)乘以输入。标记为“in2m”的模块 80是从英寸到米的单位转换;标记为“rho”的模块82是用于液体密 度的乘法器;和标记为“g”的模块84是由于以m/s^2为单位的用于由 于重力的加速度的乘法器。来自这些乘法器的输出是以帕斯卡为单位 的“头压力”。

标记为“头1(HEAD1)”的模块86是路由头压力到数据截留和 绘制部分的Goto模块。

具有内部标记“S PS”的模块88是“Simulink到物理信号”转换 模块。它转换常规信号(其单位是隐含的)到SimscapeTM物 理信号(其单位是明确的)。在这种情况下,物理信号是用帕斯卡表示。 模块表示基本的数学运算。SimscapeTM技术能够根据物理网络 上的方法创建在设计下的系统的网络表示。根据此方法,系统可以表示 为通过交换通过其端口的能量彼此交互的功能元素。

仍然参照图10,S-PS模块88的压力信号输出进入“液压压力源” 模块90。液压压力源模块表示液压能量的理想来源,其不管由系统消耗 的流率足够强大来保持在其端口的规定压力。模块连接件T和P分别对 应液压进口端口和出口端口,并且连接件S表示控制信号端口。液压压 力源90提供端口P和T之间的理想压差,其与输入信号S直接成正比。 模块90执行了在流体网络中的节流孔上燃料的计算头压。

压力源90的端口T被定义为压力源的“下”侧。它被连接到标记为 “出口区域[in^2]”的模块92。这是一个节流孔模块,其建模具有恒定横 截面面积的液压节流孔的压力和流率效果。出口区域模块92被连接到“输 出端口”94,其连接到另一图,该另一图是这一个的镜像图像,并计算 在隔间2而不是隔间1中的头压。

标记为“理想液压流率传感器”的模块96模拟理想的流量计,即一 种将通过液压管线的体积流率转换成与该流率成正比的控制信号的装 置。该传感器是理想的,因为它不考虑惯性、摩擦力、延迟、压力损失 等。随着物理网络从端口A通过端口B,模块96测量其流率。端口被连 接到一侧上的液压基准97和另一侧上的头压源90。在通过节流孔之前, 这个序列可以被视为在液体上方的大气压力(液压基准)下开始,然后 加入头压(节流孔上方液体的重量)。头压越大,通过节流孔的诱导流就 越大。连接件Q是输出流率值的物理信号端口。

标记为“in^3/s”的模块98是“物理信号到Simulink”的转换器模 块。在这种情况下,输出信号(即其单位是隐含的)表示以 立方英寸每秒为单位的流率。此流率进入“离散-时间积分器”模块100, 其集成流率到隔间1内,以跟踪其内液体的总体积。模块102表示输入 隔间1中燃料的初始体积到模块100内。

在回路中的最后模块104是“单位延迟”,该功能是在其输入燃料 箱计算器S-函数66的体积输入之前延迟来自积分器100的输出一个时 间步。这打破了否则成为代数回路的回路,其中该模块的输出被用于 以相同时间步定义其输入。

总之,该回路计算节流孔上方的液体的头压。然后,该压力确定通 过该节流孔的流率,并且流率增加或减去来自容器的液体体积,这进 而影响容器中液体的高度并因此影响头压。在实践中,在节流孔的任 一侧上的两个隔室之间的液体高度的任何差异将诱导通过该节流孔的 流动,直到高度均衡。

正如先前所公开的,上述计算可以被扩展以包括具有一个序列的至 少三个连通隔间的模拟燃料箱,每个隔间至少部分地被填充有液体燃 料。图11示出了表示在747机翼油箱106中的燃料108的图像。该燃 料箱具有通过使用本文所公开的技术可以被模拟的多个连通隔间。

使用Jython和在实体建模软件中实施概念验证。Jython 是以Java编写的Python编程语言的实施方式。本发明的随后实施例使用 通过其Java API驱动实体建模软件来计算液位。

实体建模软件提供表示实体模型作为边界表示和对实体模型上进 行正则化布尔运算,如减法、加法和相交的能力,以及通过实施散度 定理计算实体模型的精确积分性质的能力。具体地,密闭容器的实体 模型表示可以被用来方便容器性质的导出。

例如,液体和密闭容器的实体模型表示可以被用来导出在密闭容器 内的暴露液体区域,这是简单的液体实体模型表示的顶面区域。这个 性质对估算蒸发是非常重要的。通过使用安托尼方程和理想气体定律 计算燃料的蒸发:安托尼方程是蒸气压方程,并介绍了纯组分的蒸气 压和温度之间的关系:

log10p=A-BC+T.

其中,p是蒸气压,T是温度,以及A、B和C是特定组分常量。该方 程假定与温度无关的蒸发热。溶解在液体中的大气气体的蒸发(更技 术地,“析出”)是通过使用奥斯特瓦尔德溶解度系数和理想气体定 律进行估算的。当分析燃料箱可燃性时必须考虑这两种效应,也就是 说,燃料箱中的蒸气何时是处在点燃风险?必需进行可燃性分析,以 证明燃料箱可燃性还原系统(FRS)的有效性。联邦航空条例FAR25.981 说明了FRS的任务。

通过使用接触容器各面的液体的实体模型表示的所有面的面积,液 体和密闭容器的实体模型表示也可以用于推导过液面积(该面积是被 液体接触的)。容器的过液面积主要用于传热计算,以预测燃料箱温 度。

许多商用飞机具有一组“浸量尺”指示器,其提供了电子燃油量指 示系统(FQIS)的备份。在燃油量不可以由FQIS确定这种情况下,飞 机操作员可以人工读取来自这些“浸量尺”指示器的燃料箱的各部分 中的燃料高度信息,然后使用具有一组预先存储表格的这些信息(由 飞机制造商提供)来确定燃料箱中的燃油量。通过交叉浸量尺的实体 模型表示和液体的实体模型表示(这被用来校准浸量尺,以指示液体 体积),液体和密闭容器的实体模型表示可以用于推导浸量尺水平(浸 量尺被浸没在液体中的量)。该校准过程是微调和核实表格以确保基 于“浸量尺”读数的精确预测的体积的过程。根据本文公开的本发明, 计算机模型可以用于生成该表格。

另外,液体和密闭容器的实体模型表示可以用于推导所截留的液体 的量。在设计飞机燃料箱和系统中,减少其中液体可以被截留(即在 正常操作期间未被排出)的位置到最小是必要的。被截留的燃料位置 不仅是不可以由发动机使用的静负载,而且他们提供水聚集的可能性 (成为潜在的腐蚀问题),并在某些情况下冻结成冰。固态冰可以出 现可能会阻止燃料到达发动机的阻塞危险。

参照图7-10,如上文所公开的,当容器的方向改变时,液体和密 闭容器的实体模型表示可以用于导出从一个隔室转移到另一隔室的液 体的量。当大体积的燃料被迅速沉积到燃料箱的一部分内并必须自由 地流动到其他部分时,转移速率必须被示出,以足够快地防止在正常 操作过程中燃料箱一侧上的燃料的累积,特别是在加燃料的过程中。 “不均衡”的过多燃料通过燃料箱挡板可以产生不希望的结构应力。 另一方面,挡板必须足够限制的,以防止在高加速碰撞情况下所有燃 料同时碰撞进入主要结构。

液体和密闭容器的实体模型表示可以用于导出在密闭容器中的液 体的重量分布。在飞机上,重心管理是飞机性能、效率和处理质量的 重要组成部分。完整的燃料箱表示整个交通工具重量的相当大比例, 并且该重量分布的小变化可以对上述因素具有重要影响。确保燃料重 心在所有操作条件下保持在安全范围内,并理想地确保其被优化,以 便飞机可以实现最高效率,这是重要的。

用于计算几何上复杂的实体的体积、转动惯量和其他性质的算法是 众所周知的。例如,用于计算实体对象的体积和其他积分性质的算法 是由Lee和Requicha分别在罗切斯特大学在从生产自动化项目的技术 备忘录35a(1981年3月)(Technical Memo35a from the Production  Automation Project at The University of Rohester(March1981))中;在“用 于计算实体体积和其他积分性质的算法I.已知方法和开放问题”, ACM的交流,第25卷,第9号,635-641页(1982年9月)(“Algorithms  for Computing the Volume and Other Integral Properties of Solids.I.Known  Methods and Open Issues”,Communications of the ACM,Vol.25,No.9,pp. 635-641(September1982))中;和在“用于计算实体体积和其他积分性 质的算法II.基于表示转换和细胞近似的算法族”,ACM的交流,第 25卷,第9号,642-650页(1982年9月)(“Algorithms for Computing  the Volume and Other Integral Properties of Solids.II.A Family of Algorithms  Based on Representation Conversion and Cellular Approximation”, Communications of the ACM,Vol.25,No.9,pp.635-641(September 1982))中公开。计算具有曲面的实体对象的积分性质是比较困难的, 但是也得到了解决。例如,参见计算机辅助几何设计的手册的603-622 页,G.Farin等人(编辑),Elsevier B.V.,第24章–几何处理,Thomas  A.Grandine(2002)(pages603-622of Handbook of Computer Aided  Geometric Design,G.Farin et al.(editors),Elsevier B.V.,Chapter24– Geometry Processing,Thomas A.Grandine(2002))。

本发明能够应用于需要在复杂形状的密闭容器和改变方向或受到 动态力的容器中的液位的精确计算的任何情况。这包括国内外航空和 航天、汽车和卡车、船舶和船只(如油轮)和与地质构造(如水库和 油田)中相互关联的液位和体积量相关的任何可能。

节省将通过确定飞机机翼中的液位的增加的精确性得到。纠正计算 出的值和在物理校准过程中检测到的实际值之间的任何差异都比当在 设计中早期获知它们多花费若干个数量级的成本。

对于每目前将那些实体变成高度格式化所花费的人工,实体模型 (如从CATIA进口)的直接使用将每模型节省数周人工,大大减少点 数据阵列以供给当前工具。

改进的架构(Jython/Java API和实体建模软件)将大大地提高分 析计算过程的一体化。目前,大约二十多个应用之间需要大量的易错 和费时的手动干预。

当需要模拟液体密封行为时,即当物理系统不可用时,其包括分析 软件、系统测试设备和飞行模拟器,所公开的实施例提供明显的优点。 例如,所公开的应用:(1)改进分析工具的精确性和减少文件(如新 的飞机程序上)测试和和测试后校准的需要;(2)产生共同的企业范 围内的模块来计算液位,以方便企业单位之间的沟通结果(例如,这 个工具可以用于更精确的负载计算);(3)可以应用于机翼体积计算 之外;(4)消除花费在数据传输上的时间,并减少由于数据传输而造 成的错误;和(5)减少遗留代码的维护工作。

所公开的实施例也可以用于减少在燃料表的校准中的循环次数,并 提高不可用燃料的估算。对这些分析精确性的更大信心将会减少对测 试的依赖;通过减少认证数据的测试后校准缩短开发时间;和降低潜 在的重新设计风险。在飞机设计过程中的分析结果的缩短的回检将更 快获知设计问题,并能更有效地探索替代设计。

虽然本发明已经参照各种实施例进行说明,但是在本领域的那些技 术人员应当理解的是,在不背离本发明范围的情况下可以做各种改变 并且等同物可以由其元素替代。此外,在不背离其实质范围的情况下 可以做许多修改来适应特定情况到本发明的教导。因此,其目的是, 本发明并不限定于作为最佳模式所公开的具体实施例,其被设想用于 实施本发明。

在下文中所阐述的方法权利要求不应该被解释为要求所述步骤按 所述顺序被执行。特别地,没有这样的推论应该从任何按字母顺序排 列的步骤中得出。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号