基于PCL语言的船体剖面特性计算
2014-12-05张世联
李 敏,张世联
(上海交通大学,上海200204)
0 引 言
船体横剖面特性包括剖面面积、剖面中和轴高度、剖面惯性矩等,是船体结构设计和强度计算中的重要参数,在有限元分析过程中经常使用。例如,在舱段有限元分析中施加舱段边界MPC 约束时需要剖面中和轴高度;某些情况下对有限元计算结果进行理论分析验证时,需要剖面惯性矩。
现有计算剖面特性的软件大部分需单独建立剖面模型,并未直接基于有限元模型(如法国船级社(BV)Mars 2000 软件),给有限元直接计算分析带来不便。唐旭东[1]提出了基于PCL 语言的剖面特性计算方法,该方法以Patran 内部的质量特性计算程序为基础,通过计算剖面处单元的质量、质心和转动惯量推导出剖面特性值。该方法忽略了梁单元的偏心,且计算结果相当于单元前后剖面特性的平均值,对于船体梁剖面特性变化较大的部位有一定误差。中国船级社(CCS)CSR-DSA 插件可计算剖面中和轴位置,但基于相同方法,存在同样的问题,且该插件未给出剖面面积和惯性矩。
本文基于PCL 语言编写直接从Patran 模型数据库中读取单元和节点信息计算剖面特性的程序。通过选定剖面处单元和节点,直接从单元几何信息出发,计算剖面处纵向单元剖面积、静距、惯性矩,并给出剖面水平中和轴高度及对中和轴的惯性矩。程序考虑梁单元偏心,并可根据用户选取的剖面单元和节点智能识别出纵向单元,剔除不应计入剖面特性的横向单元,操作非常方便。程序计算完全基于所选剖面处的几何信息,对于剖面特性变化较大的部位(如靠近船首、尾处)也能准确计算剖面特性值。
1 PCL 语言
PCL(Patran Command Language)是MSC 公司有限元分析软件Patran 的二次开发语言,其语法与C、FORTRAN和VB 语言相似。PCL 语言具有强大的处理能力,能够直接对Patran 模型进行存取、修改和计算,控制Patran 批量建模和加载,并且支持开发交互式的用户界面,大幅拓展了Patran 的二次开发应用。
2 计算原理
2.1 剖面中和轴、惯性矩计算原理
剖面面积、到基线的静矩和惯性矩为:
式中:Ai为各单元的剖面积;Zi为各单元形心距基线高度;I0i为各单元自身惯性矩,按2.2 节计算。
中和轴高度按下式计算:
中和轴惯性矩按下式计算:
2.2 自身惯性矩计算原理
根据材料力学,对于高为h、宽为b 的垂直矩形剖面,其自身惯性矩为:
在舭部和靠近船首尾剖面处外板倾斜,骨材也因垂直于外板而与水平方向呈一定夹角,以下推导任意夹角下板单元、梁单元自身惯性矩计算公式。
对于图1(a)中倾斜板单元剖面,计算时通常将其等效为图1(b)所示的垂直长方形剖面,其剖面惯性矩为:此等效方法没有完全计入阴影区域三角形对剖面惯性矩的贡献。设三角形自身惯性矩为i0,面积为A,三角形形心距斜边高度为Δh,几何参数如图1(c)所示。该等效方法的惯性矩损失为:
由几何关系,三角形面积为:
三角形形心高度为:
将式(8)和式(7)带入式(6)得:
图1 倾斜板材剖面等效方法示意图Fig.1 Equivalent method for section of inclined plate
故该倾斜板单元自身惯性矩为:
船用钢材主要有扁钢、球扁钢、角钢和T 型材,在Patran 模型中球扁钢通常等效为角钢。
倾斜扁钢自身惯性矩的计算方法与倾斜板材相同。倾斜T 型材如图2所示。设其腹板自身惯性矩为Iv1和Ih1;定义同上节Iv和Ih;T 型材面板自身惯性矩为Iv2和Ih2;腹板和面板剖面积分别为A1和A2;腹板和面板形心距T 型材形心的距离分别为v1和v2,腹板与水平方向的夹角为θ。应用倾斜板单元自身惯性矩公式,可推导得倾斜T 型材自身惯性矩公式:
式中:Iv为T 型材腹板剖面垂直于水平方向时的自身惯性矩;Ih为T 型材腹板剖面沿水平方向时的自身惯性矩。
倾斜T 型材自身惯性矩计算公式在形式上与倾斜板材相同。
图2 倾斜T 型材剖面Fig.2 Section of inclined T-profile
倾斜角钢如图3所示,同理可推导得:
式中:Iv为角钢腹板剖面垂直于水平方向时的自身惯性矩;Ih为角钢腹板剖面沿水平方向时的自身惯性矩。
由于角钢剖面不具有对称性,自身惯性矩计算公式比扁钢和T 型材多出惯性积项。
3 程序实现
3.1 程序计算流程
程序计算流程如图4所示。
3.2 单元信息读取
程序需用户选取剖面处的所有节点和剖面一侧单元,根据选取的单元和节点编号从Patran 模型数据库中读取相应单元几何尺寸和坐标,需使用以下PCL 函数[2-6]:
图3 倾斜角钢剖面Fig.3 Section of inclined angle
图4 计算流程Fig.4 Calculation flow
db_ get_ nodes 获取节点坐标;
db_ get_ elem_ etop 获取单元拓扑类型;
db_ get_ elem_ topology_ data 获取拓扑数据;
db_ get_ nodes_ for_ elems 获取节点编号;
db_ get_ region_ for_ elements 获取属性域;
db_ get_ prop_ value 获取单元属性;
db_ get_ beam_ section 获取梁单元剖面类型;
bl_ get_ std_ beam_ section_ data 获取梁单元剖面尺寸。
3.3 智能识别纵向单元
横向单元不应计入剖面特性,但选取剖面单元时认为去除横向单元非常麻烦,且容易失误。因此程序开发了纵向单元的智能识别功能,根据单元节点与用户选取的剖面节点的相对关系,筛选出应计入剖面特性的纵向单元,具体方法如下:
对于选中的板单元(包括三角形和四边形单元),若恰有2 个单元节点属于用户选取的剖面节点组,则该板单元为纵向单元,应计入剖面特性。其余情况均不计入,如图5 中1 ~3 号单元。
对于各梁单元,若恰有一个单元节点属于用户选取的横剖面节点组,则该梁单元为纵向单元,应计入剖面特性,否则不应计入。
图5 局部有限元结构剖面示意图Fig.5 Section of local FEM model
对筛选后的板单元和梁单元,根据剖面节点坐标、板厚、梁剖面尺寸,梁偏移方向及偏移量,按第2 节原理计算剖面特性。
3.4 用户界面
程序用户界面如图6所示,界面包括一个开关按钮选择是否考虑梁偏移、2 个选择文本框输入剖面单元和节点、1 个文本框输出剖面计算结果,以及2 个按钮控制程序运行和退出。创建控件需使用以下PCL 函数:
ui_ form_ create 建立窗体;
ui_ text_ create 建立文本框;
ui_ toggle_ create 建立开关按钮;
ui_ selectframe_ create 建立选择框;
ui_ selectdatabox_ create 建立选择文本框;
ui_ button_ create 建立控制按钮。
4 程序计算实例
选取某中半横剖面(见图7)和某首部横剖面(见图8),采用本程序、Mars2000和CCS 的CSR-DSA插件计算剖面特性值,结果分别见表1和表2,可以得到:
1)对剖面面积,本程序计算结果与Mars2000 一致;
2)对中和轴高度,在中横剖面处三者计算结果相差很小,在首部剖面处本程序计算结果和Mars2000 高度吻合,而CSR-DSA 计算结果与二者相比有一定偏差;
3)对剖面惯性矩,本程序计算结果与Mars2000 高度吻合。
图6 程序界面Fig.6 The program interface
图8 某首部横剖面Fig.8 The bow section
表1 中横剖面计算结果对比Tab.1 Comparison of results of the midship section
表2 首部横剖面计算结果对比Tab.2 Comparison of results of the bow section
5 结 语
本文推导了倾斜板和骨材剖面自身惯性矩计算公式,并基于PCL 语言编写了直接从Patran 模型数据库读取剖面节点、单元信息,计算剖面面积、中和轴高度、惯性矩的程序。程序计及梁单元的偏心,实现了智能识别纵向单元的功能,对剖面特性变化大的部位也能够精确地计算出剖面特性值,计算结果与Mars2000 高度吻合。程序为船体有限元分析提供便利,同样适用于其他有限元结构的剖面特性计算,有一定的实用价值。
[1]唐旭东.利用PCL 语言查看船体剖面特性[J].船舶结构,2011,22(3):27-29.
[2]Patran PCL and customization[M].MSC,2010.
[3]Patran PCL reference manual[M].MSC,2010.
[4]唐友宏,陈宾康.用MSC.Patran 的PCL 二次开发用户界面[J].船海工程,2002(3):20-22.
[5]张军彦,李昌华,李晓辉.基于MSC.Patran 界面的PCL二次开发[J].现代电子技术,2010(16):17-22.
[6]刘斌,韩庆,钟小平.基于MSC.PCL 的飞机结构稳定性系统开发[J].科学技术与工程,2010,10(28):7082-7088.