邮船大跨距板架参数化建模和动力学分析程序开发

2019-07-09 00:00陈涛杨德庆邱伟强
计算机辅助工程 2019年1期
关键词:甲板有限元网格

陈涛 杨德庆 邱伟强

摘要:针对豪华邮船大跨距板架静力学和动力学分析需要进行大量繁琐建模工作的问题,研究NAPA、MSC Patran/Nastran等多个软件协同运行的方法,借助Visual Studio开发流程化设计程序,并通过Isight优化软件验证程序的适用性。该程序可实现邮船多层大跨距板架设计的参数化建模和自动分析计算,从而快速获得多方案设计结果,提高设计和分析效率。

关键词:邮船;参数化建模;结构振动;大跨距板架;NAPA;PCL;API函数;Isight优化

中图分类号:TP391.75;U663.95;U661.4

文献标志码:B

文章编号:1006-0871(2019)01-0001-07

0 引 言

为提高生产效率,豪华邮船的客房集中区域一般采用居住单元模块化设计方式,只保留少量支撑结构,因此客房集中区域的甲板板架跨距较大。[1-2]由于这些区域顶部的结构面积较大,且甲板强横梁和纵桁上的电缆和风管开孔分布较为密集,影响甲板强构件的刚度和甲板板架的固有频率,有必要针对大跨距板架区域进行强度和振动分析。

为保证大跨距板架具有足够的刚度和良好的振动性能,不得不设置高腹板强框、纵桁或者少量垂向支撑结构作为支撑。这些支撑结构的形状参数需要进行优化设计,以保证在提供必要刚度的同时,满足总布置和空间使用要求。在客房集中区域,受层高的影响,甲板强横梁和纵桁的腹板高度受到限制,因此需要对甲板强横梁、纵桁以及其他支撑结构的布置、形状和尺寸进行优化设计。由于豪华邮船甲板偏薄,纵骨的刚度偏弱,存在板格振动和加强筋振动的可能,因此需要着重对薄板结构的动力学特性进行研究。

大跨距板架区域需要进行多次静力学和动力学分析,并进行多种方案对比,因此建模数量大、计算任务重。常规的建模和计算过程需要频繁调整参数,并在各个软件间来回切换,重复工作较多;单纯依靠PCL语言开发Patran参数化建模脚本,程序编写过程复杂,且需要考虑尺寸转化、单元划分和计算流程实现等诸多因素。因此,开发基于多软件协同的大跨距板架参数化建模和动力学分析程序,整合各个三维软件在建模和计算中的优势,用于自动化快速建模和自动化计算分析,可减少建模计算中的人工操作,同时可方便与优化设计软件对接,实现结构设计优化,在豪华邮船国产化设计中具有重要的应用价值。

1 邮船大跨距板架结构的特点及其程序设计要求

典型豪华邮船大跨距板架横向结构(见图1)的特点为:结构跨距在5 m以上,最大可达到10 m,板架两端通过支柱结构进行支撑;支柱一般位于纵桁所在位置,或对齐纵骨位置布置,上下层间位置对齐分布或上下层间错位若干纵骨档位分布;纵向每两档强框间距布置,纵骨间距通常均匀分布;横梁上有便于通风电缆等管路穿过的开孔,支柱两侧的开孔形状特殊处理。这类结构在豪华邮船居住区较多,在进行强度和振动分析时,必须进行局部结构建模和分析,基于全船模型进行大跨距板架固有频率计算代价较大,较少采用。

针对上述结构特点,开发大跨距板架参数化建模和动力学分析程序,选取NAPA和MSC Patran/Nastran多軟件协同实现。NAPA是目前应用最广的船舶设计软件之一,国内针对其已经开展许多二次开发和系统集成方面的工作。[3]NAPA在建模和有限元模型输出方面具有独特优势:通过其表格化的输入过程及其提供的二次开发工具,可以较方便地进行模型的创建和修改;通过调整输出模型参数,可方便快捷地进行模型网格的切换,得到具有良好网格质量的有限元模型;等等。MSC Patran具有齐全的前、后处理功能,在船舶行业应用广泛,应用PCL语言可以很方便地对其进行二次开发。[4]

2 开发语言和环境

开发平台采用Visual Studio 2005,操作系统采用Windows XP SP3,编码采用VB.net语言,并在Windows XP SP3与Win7系统下分别测试通过。32位系统测试采用NAPA 2013.1和MSC Patran/Nastran 2005;64位系统测试采用NAPA 2016.1和MSC Patran/Nastran 2013。

3 软件流程实现

3.1 参数选取

参数化建模的首要工作是确定模型的输入参数,即如何将模型的特征信息用参数表达。这个表达应是无歧义的,便于程序实现的,这一表达方式也应同时反映程序的算法。参数选择是否恰当将直接决定该参数化建模程序是否准确以及是否适用。为建模方便,对模型参数进行适当简化,假定纵骨间距均一致,上下层间强横梁、纵桁尺寸不变,每层甲板板架的长和宽分别相等。单层甲板的主要参数见图2和3,其中主要的输入可变参数以及包含数量和位置信息的固定参数分别见表1和2。在不同高度的甲板板架处,这些属性有可能发生变化。由于不同的分析目标可能会使用不同大小的有限元网格,因此引入有限元网格精细度控制参数anaType,以提高输出模型的适用性。

3.2 NAPA参数化建模

NAPA参数化建模主要采用NAPA BASIC实现。NAPA BASIC可以将计算函数整合进宏中使之成为一段真正意义上的程序(包含变量、决策以及跳转等),其包括一般的NAPA命令、带参数(通过计算表达式生成)的NAPA命令、计算表达式(以@符号开头)、交互式的变量输入,以及程序流控制等。[5]本例主要使用NAPA Steel(ST)模块下的命令和运算函数。模型的坐标系以结构的长、宽、高分别为x、y和z轴,并且满足右手定则,模型建立在第一象限。

创建NAPA参数化建模脚本的流程见图4。

NAPA主要通过表格完成数据的组织与属性的添加。本例主要包含模型创建和有限元模型输出2部分,步骤如下。

(1)甲板板架创建。这一步创建几何曲面对象。由于甲板长度和宽度不变,仅需要运算z轴高度即可。通过LIM语句限定6个方向的边界,生成甲板平面。

(2)创建虚拟板架依附平面。NAPA的扶强材需要依附于板架才能生成,因此针对扶强材所在的平面创建曲面对象。根据豪华邮船的结构布置特点,支柱平面纵向间距定为强横梁间距的2倍。

(3)定义扶强材表格。NAPA的扶强材定义在TAB*PROFILES中,将扶强材参数解析成NAPA能够识别的扶强材定义格式,并添加起始与结束语句,输出创建脚本。

(4)生成支柱定义表格。通过LIMITS字段限制支柱所在层数,通过LOCTN字段限制支柱横向位置,并添加起始与结束语句,输出创建脚本。

(5)加入甲板型材。加入的甲板型材主要有甲板纵骨纵桁和横梁,按照NAPA格式确定起始

位置、终止位置和间隔距离。通过语句“M=(0.1 0.1)”限定板架两端不生成型材。在NAPA中,后定义的构件会自动替换之前定义的构件,因此在脚本中按照先纵骨后纵桁的顺序进行定义。

由于涉及开孔类型,横梁的设定需要结合上层和下层支柱位置进行计算,主要思路为:分别计算上层(如果存在)和下层支柱的定位位置集合,求2个集合的并集,并加入起始位置0和板宽B,按照由小到大顺序排列为一个数组。然后判定相邻2个数组元素的差值,从而判定区间内的openTypeC类型开孔数量,按照起始位置和终止位置步长的方式或直接给定位置坐标,写入NAPA BASIC语句。openTypeS类型的开孔位置根据支柱位置增减openLocYS得到,同时判定是否有相互干涉的开孔位置。

(6)加入甲板板架结构表格。NAPA中的几何数据需要加入到相应类型的表格中,以增加属性和参数设置。这一步将前2步生成的几何对象加入到STR*STEEL表格中。G_STD、L_STD和F_STD分别对应导出全船、局部和精细有限元网格时所要运用的参数表格。该表格设定在步骤(7)完成。

(7)有限元模型输出参数设定。有限元划分是结构计算中的重要步骤,良好的有限元网格质量可以提高计算速度,得到更精确的计算结果。NAPA输出通过表格参数控制网格质量。本例中常用的局部网格有限元参数设定如下:

TAB

PREF FEMDEF*

GET FEMDEF*L_STD

DEF MESHPQ VALUE=′1′

DEF MESHPE VALUE=′1.41′

DEF SMOITERATIONS VALUE=′0′

DEF FEMMMS VALUE=′0.2′

DEF RM9 VALUE=′0.1′

DEF RM7 VALUE=′1.5′

DEF TOL VALUE=′0.015′

DEF REDARE VALUE=′0.01′

SAVE !

END

在上述参数设定中:MESHPQ为四边形单元占比,0为不使用四边形单元,0.5为四边形单元仅使用在能够改善单元质量的部位,接近于1.0表示尽可能少地使用三角形单元;MESHPE设定边缘处网格的法向长度,该参数可改善开孔处的单元质量,默认值为1.41;SMOITERATIONS用于改善边界处的网格质量,三角形单元将会转化为四边形单元,同时减少仅有一个节点落在边界上的四边形数量,该参数设定相关算法的迭代步数,0为不进行优化;FEMMMS参数设定最大的单元长度,但是单元长度同时受其他参数影响(如MESHPE),最终的单元长度有可能会超出该参数的限制;RM9设定最小的单元长度,该参数与RM7和TOL等参数共同影响最终的网格效果;RM7设定边界网格尺寸过渡的速率,该参数越小,网格尺寸的过渡越平滑,从而能够获得更好的网格质量;TOL用于设定单元节点的容差,距离小于该值的两点将会被合并,从而避免不必要的细小单元;REDARE设定最小的单元开孔面积,小于该面积的开孔在划分网格时会被忽略。

该部分内容属于通用参数设定,根据实际需要预设全船、局部和精细有限元网格的参数,保存在单独的文件中,每次程序运行时附加在NAPA脚本末尾。

(8)输出有限元脚本。NAPA导出的模型直接用于MSC Patran处理后计算,不需要提取分组等信息,因此直接导出BDF格式有限元模型。NAPA BASIC脚本如下:

@@ Creat FEM Model

FEM

GET LOCAL

FILE ′E:/NapaDB/GONAPA.BDF′

OUT NASTRAN MM

3.3 MSC Patran前處理

MSC Patran前处理的主要工作是施加边界条件和导出计算文件。该步骤的实现方式为:通过主程序生成SES格式PCL脚本文件,通过批处理文件运行MSC Patran并执行该文件。在批处理文件内,通过-sfc参数将脚本文件传递给MSC Patran,并通过-b参数,使MSC Patran在后台运行程序。

该步骤需要通过主程序传递的参数为当前文件夹位置和模型的x、y向边界,由主程序写入脚本文件开头。脚本文件实现步骤如下:

(1)施加边界条件。本模型的边界条件为四周和最下层支柱底端约束3个方向的位移自由度。通过list_create_node_att_value函数[6-7],框定模型的x、y和z向底部边界,并通过loadsbcs_create函数施加位移约束,具体如下:

list_create_node_att_value( [`Xmax`, 0., 0., 0., 0., 0.], [TRUE, FALSE, FALSE] , ["equal", "equal", "equal"], [0.005, 0.005, 0.5], "Coord 0", "lista", uil_list_create_current_list )

loadsbcs_create( "disp1", "Displacement", "Nodal", "", "Static", mariclist, "FEM", @

"Coord 0", 1.0, ["<0 0 0 >", ""], ["", ""] )

(2)修改密度参数。模型选用mm-N-s的单位制,因此需要通过Material Create函数修改密度参数,使其与模型单位一致。

(3)添加非结构质量。甲板结构包括底板辅料、绝缘包裹等附加质量。这一部分质量会影响甲板振动的固有频率,不能忽略。模型内甲板的附加质量通过壳单元属性中的Nonstructual Mass项进行调整,本例中统一设置为8E-8,可使用PCL语句通过elementprops_modify函数进行调整。

(4)导出计算文件并关闭MSC Patran,结束前处理流程。

完成前处理的有限元模型见图5。

3.4 提交MSC Nastran计算

通过主程序运行批处理文件,将前一步生成的BDF格式计算文件提交给MSC Nastran程序进行运算。

3.5 MSC Patran结果显示

主程序运行批处理文件,调用Patran执行预编写好的SES脚本文件,完成后处理操作。本例读取生成的XDB文件,并进行适当的参数配置,得到1阶模态振动分析结果,见图6。

3.6 主程序实现

根据需求,主程序需对输入和输出数据进行预处理,并将程序执行过程中的各个软件串接起来,但无须执行交互式操作,因此采用控制台程序实现这些功能。

软件的启动顺序为NAPA Steel、MSC Patran(前处理)、MSC Patran(后处理),结合预先定义的批处理文件和快捷方式实现对软件的调用。同时,需要由后台程序实时侦测所调用的软件是否已正确运行或关闭,从而判断是否执行下一步程序。这一功能通常由可视窗口程序判定,使用Windows API函数中的窗口句柄搜索函数GetWindow和GetWindowText完成。本例采用后台运行的方式调用计算软件,因此选择使用.net环境中的进程搜索函数完成判定任务。

4 程序应用

除进行常规快速建模任务外,程序还可结合Isight软件,进行结构优化设计。

采用某单层大跨距板架简单优化计算方案检验本程序的应用效果,优化目标板架结构见图7。

调整强构件面板宽度和厚度,得到1阶固有频率大于12 Hz时的质量最小的设计方案。板架的生效可变参数和固定参数设定分别见表3和4。

根据条件建立最优化数学模型为

优化计算可以选取多种算法,其中梯度优化算法用于解决单峰值问题。工程中的优化问题往往比较复杂,其目标函数可能存在多峰性、非线性、非连续性,以及不可微函数;设计变量和约束函数可能是线性、非线性、连续或离散变量集。因此,需要采用全局优化算法进行分析。船舶结构优化分析经常采用的全局优化算法有多岛遗传算法[8-9]和模拟退火算法[10-11]。模拟退火算法每次在搜索空间中只检查一个设计点,而多岛遗传算法检查一组设计点[12],所以模拟退火算法更简单。

对原程序的结果显示脚本进行修改,采用PCL语言将模型的质量和1阶模态频率输出到结果文本文件中。在Isight中添加Optimization组件,并在流程中依次添加Data Exchanger组件、OS Command组件和Data Exchanger-1组件,分别对应Input文件参数读写、建模流程程序运行和结果文件读取。Isight优化流程见图8。

针对上述优化流程,分别用梯度优化(NLPQL)算法、自适应模拟退火算法和多岛遗传算法进行优化,使用默认配置参数,优化结果见表4和图9~11。

5 结束语

结合多层大跨距板架有限元模型建立和动力学计算,开发一种参数化模型生成和计算程序。结合NAPA与MSC Patran/Nastran开发软件,实现建模和计算的全自动化。NAPA中的建模算法具有良好的通用性,可以应用于船体初步设计,快速生成多方案模型,并可针对多个方案进行比对,得到最优设计。

该程序在豪华邮船项目设计中得到运用,可方便建模与计算,提高设计效率。该程序具有良好的扩展性,也仍存在改进的空间,例如可在输入文件中增加甲板载荷等参数、增加静力学计算模块等,以实现完整的力学计算。

参考文献:

[1] 李兰美, 黄斐, 陈明铭. 豪华邮船建造特点初步分析[J]. 造船技术, 2014(2):10-26.

[2] 李晓川. 邮船建造梦,理想很丰满[J]. 中国船检, 2015(10):42-45.

[3] 丁爱兵, 汪学峰. 船舶综合设计软件系统中NAPA的集成研究[J]. 船舶工程, 2014(2):91-94. DOI:10.13788/j.cnki.cbgc.2014.0055.

[4] 何祖平, 王德禹. 基于MSC Patran二次开发的结构参数化建模及其集成开发环境[J]. 船海工程, 2005(2):17-20.

[5] NAPA. NAPA Users Manuals 2013[M]. Helsinki:NAPA Ltd., 2013.

[6] MSC Software Corporation. MSC Patran 2012 PCL Reference Manual, Volume 1:Function Descriptions[M]. Santa Ana:MSC Software Corporation, 2012.

[7] MSC Software Corporation. MSC Patran 2012 PCL Reference Manual, Volume 2:Code Examples[M]. Santa Ana:MSC Software Corporation, 2012.

[8] 马静敏, 沈友徽, 李华. 基于Isight的油船槽形横舱壁优化设计[J]. 船海工程, 2005(1):35-37.

[9] 罗仁杰, 邱伟强, 蔡诗剑, 等. 船体纵骨上附连挺筋软踵形状参数优化[J]. 船舶与海洋工程, 2016, 32(6):39-48. DOI:10.14056/j.cnki.naoe.2016.06.007.

[10] 周素素, 夏利娟. 全船结构静动态优化设计[J]. 振动与冲击, 2013, 32(23):69-74.

[11] 許华文, 肖熙. 基于模拟退火算法的舰船中剖面优化设计[J]. 上海交通大学学报, 2000, 34(1):95-98.

[12] 姜欣, 方立桥, 李明, 等. Isight参数优化理论与实例详解[M]. 北京:北京航空航天大学出版社, 2012:193-196.

(编辑 武晓英)

猜你喜欢
甲板有限元网格
有限元基础与应用课程专业赋能改革与实践
基于有限元的Q345E钢补焊焊接残余应力的数值模拟
将有限元分析引入材料力学组合变形的教学探索
追逐
增加网格 以退求进
甲板秀秀秀脸型
拼航空母舰
微观航母之飞行甲板的功能设计
210 t转炉连接装置的有限元分析及强度校核
航母甲板上斜着走