超单元在民用飞机全机内力计算中的应用研究
2021-06-15魏腾飞
魏腾飞,吕 昊
(上海飞机设计研究院,上海 201210)
超单元方法[1]是一种求解大型有限元问题十分有效的手段,主要通过把整体结构分化成许多小的子结构来进行分析,具有使问题表达简单、计算效率高、计算机存储量低等优点。在工程上运用超单元方法,工程师仅需对所关心的、受影响较大的超单元部分进行计算,从而使分析过程更经济、更高效,避免了总体模型的修改和整个结构的重新计算。
马洪亮等[2]对超单元应用中的关键问题进行了研究,从超单元单元创建、超单元对约束和载荷的要求等方面给出解决措施。贾海涛等[3]以航天相机模型为例,重点研究了超单元在模态分析和动力学分析中的适用性。赵会光等[4]采用外部超单元法建立航天器外挂太阳翼结构模型,在保证计算精度的前提下缩减了2/3的分析时间。孙利[5]采用MSC.NASTRAN软件建立船舶超单元模型,给出了两种减少计算成本的方法。
本文将大型民用飞机全机内力计算作为对象,提出超单元方法使用步骤和计算文件设置要求,并以某型飞机起落架模型为例,进行了验证计算。
1 超单元理论
超单元的概念在物理上体现为子结构,在数学上体现为边界矩阵,即从内部节点到外部节点或边界节点进行缩减后得到的载荷、质量、阻尼和刚度矩阵。超单元方法以部件模态综合法为理论基础,对部件子结构进行单独建模,选择若干阶固定界面主模态和约束模态作为假设模态,进行模型缩减,然后对缩减后的模型进行求解。
线弹性静力求解方程为:
KffUf=Pf
(1)
式中:Kff为模型总刚度矩阵;Uf为待求解位移矩阵;Pf为模型外载荷矩阵。
根据超单元方法的基本理论,将整体模型拆分为两个集合:超单元内部节点自由度集合A以及超单元与剩余模型相连的外部节点自由度集合O,则式(1)扩展后变为:
(2)
对式(2)进行处理,可得:
KooUo+KoaUa=Po
(3)
Uo=-Koo-1KoaUa+Koo-1Po
(4)
再将式(4)代入式(2)得:
(5)
整理后得到超单元缩减后的刚度矩阵和载荷向量矩阵:
(6)
(7)
由此可见,引入超单元后,有限元求解仅与剩余结构所包含的节点自由度有关。而当剩余结构所包含的节点自由度在整个模型中所占比例很小时,可缩减计算时长。
2 超单元使用方法
2.1 外部超单元边界矩阵的计算生成
本文所进行的超单元计算基于MSC.NASTRAN软件,计算时首先需要生成外部超单元的边界矩阵,主要包括边界刚度矩阵和边界载荷矩阵。
1) 根据计算需求,分割有限元模型,确定外部超单元部分和剩余模型部分。
2) 在计算文件中,CASE CONTROL部分用extseout卡指出要保存的超单元数据及保存形式,书写格式如图1所示。
图1 超单元数据书写格式示意图
按照图1格式,将计算生成的数据存放到*.asm文件中。其中:
①extbulk指出为后续组装运行生成的标准备份文件——*.pch文件;
② extid指出要运行的超单元号;
③ 如果在extseout卡中没写asmbulk、extbulk(或dmigpch),则不生成标准备份文件;
④ 如果在extseout卡中选用了“dmigop2=unit”,则必须在File Management Statements (FMS)部分用“ASSIGN output2=outfilename UNIT=YY”卡指出对应的外部文件名及其通道号,其中“YY”和“dmigop2=unit”中的unit为同一数字。
3)用ASET或ASET1卡给出外部超单元与剩余模型连接边界节点编号及其自由度。
4)输入外部超单元部分的模型以及施加在外部超单元模型上的约束、载荷等信息。
5)提交NASTRAN软件运行计算,生成相应的*.f06、*.pch、*.asm等文件。
6)检查计算结果是否符合要求。
2.2 剩余模型提交计算
剩余模型提交计算时,会自动反算并输出外部超单元内部节点以及单元结果。主要步骤如下:
1) 根据上文数据存放形式的不同,在主计算文件中所应用的语句也有所区别。
① 如果采用的是matrixdb或者dmigdb形式,则需在FMS部分用“ASSGIN dbnameXX='*.master' dblocate databulk=(extdb) convert(seid=XX) logical=dbnameXX”语句给出要从哪个数据库中读取什么数据,其中“XX”指代超单元号,并且在BULK DATA部分加入“include *.asm”和“include *.pch”语句关联引用2.1节生成的文件;
② 如果采用的是dmigop2形式,则需在FMS部分加入“ASSGIN input2='*.outfilename' unit=YY”语句,指定输入的数据库,“YY”指代通道号,并且在BULK DATA部分加入“include *.asm”和“include *.pch”语句关联引用2.1节生成的文件;
③ 如果采用的是dmigpch形式,则需在CASE CONTROL部分用“K2GG=kaXX,p2g=pax”语句调用存放在数据中的边界刚度矩阵和边界载荷矩阵,并且在BULK DATA部分最底部按顺序加入“include *.asm,include *.pch”语句关联引用2.1节生成的文件。
2)输入剩余模型以及施加在剩余模型上的约束、载荷等信息。
3)设置计算文件参数和格式,提交NASTRAN软件进行计算,输出剩余模型和反算出的外部超单元的节点位移、单元内力、单元应变等计算结果。
3 算例对比
以某型飞机全机模型作为研究对象,将除左侧主起落架的机体模型设计成外部超单元,左侧主起落架模型作为剩余模型进行验证计算,模型示意图如图2所示。
图2 某型飞机左侧主起落架有限元模型示意图
按照前文所描述的方法设置计算文件,生成pch文件后将左侧主起落架模型作为剩余模型文件并提交计算,得到主起落架模型的节点位移、单元内力结果,将其与全模型方法计算的结果进行对比。因数据量过大,故本文选择若干个具有代表性的节点、单元计算结果。节点、单元号与模型对应图如图3所示,节点、单元计算结果对比分别见表1、表2。
图3 主起落架模型节点、单元号对应图
从表1、表2可以看出,两种方法得到的节点位移结果基本一致,单元内力结果大部分一致,个别结果虽然误差百分比很大,但由于计算结果的量级很小,误差的影响可以忽略。
表2 两种分析方法下起落架单元内力结果对比
表1 两种分析方法下起落架节点位移结果对比
4 结束语
本文以超单元方法的基本理论为基础,提出了超单元方法的使用步骤以及计算文件设置要求,并在某型民用飞机全机内力计算中进行了验证。结果表明,超单元方法在保证计算准确性的前提下,可大幅提高计算效率,在全机模型内力计算过程中具备适用性和可行性。