欢迎来到天天文库
浏览记录
ID:23536730
大小:52.50 KB
页数:6页
时间:2018-11-08
《patran中球扁钢截面的创建》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Patran中球扁钢截面的创建撰文/中船重工(武汉)船舶与海洋工程装备设计有限公司何勇通过分析在Patran中创建任意形状截面的原理,提出了通过二次开发编写专用函数,快速创建球扁钢截面的方法。对编程思路作了详细阐述,并介绍了编程难点及其解决措施,对比了本文方法及CSR中的等效截面法的模拟精度。本文所述方法对提高球扁钢截面的模拟精度及创建速度具有积极的参考价值。一、引言作为一款通用的有限元前处理软件,Patran提供了丰富的型材截面库,可方便地创建造船工程中常用的扁钢、角钢、T型材和槽钢等标准形状的型材截面。但球扁钢作为造船工程专用的型材,并没有被Patran纳入标准截面库。作为替换手段,在实
2、际建模中很多人按《散货船结构共同规范》第3章第6节4.1.1中提供的公式将球扁钢截面转换为“等效的”角钢截面进行模拟。分析表明,这种转换方法精度不够高,离工程实际应用要求的精度尚有一定的距离,因此有必要研究能更精确地模拟球扁钢截面的方法。二、Patran中创建任意形状截面的原理事实上,Patran提供了创建非标准形状型材截面的方法,即BeamLibrary面板中的CreateArbitraryShapeBoundaryLoops方法。这种方法通过截面轮廓上的点来定义截面,轮廓点的坐标可以直接在面板中输入,或者通过拾取数据库中已存在的面,由软件自动计算并填写,还可以通过外部文件导入。利用已
3、知轮廓点的坐标,Patran调用内部函数arbitrary_section_create便可完成截面的创建。所生成的截面轮廓由若干直线段组成,各直线段由各轮廓点两两依次连接得到。三、球扁钢截面分析图1所示为球扁钢的截面形状及尺寸参数,图中h为球端高度,b为腹板宽度,t为腹板厚度,r1为球端圆角半径。分析图1不难看出,在忽略腹板端部圆角的情况下(事实上,忽略此圆角对球扁钢的截面属性影响极小,以HP200×10为例,此圆角的半径r≤3),球扁钢截面的轮廓由5根直线段AB、BC、CD、EF、GA及两段圆弧线DE、FG组成,圆弧线DE和FG所对应的圆心角分别为60°和150°。根据前面所述Patra
4、n创建任意形状截面的原理,对于直线段AB、BC、CD、EF、GA,只需提供点A到点G的坐标,程序便可自动依次连接各点生成。而对于圆弧线DE和FG,若只提供D、E和F、G的坐标,生成的将是直线段而非圆弧线。利用圆内接正N边形当N→+∞时即为其外接圆的原理,不妨用若干条正多边形的边来近似圆弧线DE和FG。从上述分析可以看出,直接在BeamLibrary面板中逐个输入轮廓点的坐标创建球扁钢截面是不可取的,因此有必要借助Patran的二次开发语言PCL编写专门的函数,实现快速创建。四、编程思路、难点及解决措施为了快速方便地创建球扁钢截面,编写了db_create_bfs_section函数。为减少用
5、户输入,此函数只有两个输入参数,第一个为球扁钢规格,为形如“HP200×10”的字符串,第二个为用于指定是采用新标准(GB/T9945-2001热轧球扁钢)还是旧标准(GB9945-88造船用球扁钢)的整数,0为新标准,1为旧标准。之所以需要指定标准的版本,是因为球扁钢新标准规定了两种不同的系列,即新标准表和旧标准表。当腹板宽度b和厚度t相同时,两种系列的球端高度h不同,如HP160×8的h新标准表为30,而旧标准表为36。编写函数体时,首先需得到要创建的球扁钢截面的腹板宽度和厚度。利用PCL提供的str_substr和str_index等字符串函数,不难从第一个输入参数中获得这两个尺寸。接
6、下来需要得到球扁钢截面的球端高度h和圆角半径r1,这是编写此函数的难点。研究新标准表不难发现,尽管对于同一腹板宽度b的球扁钢,其h和b、t之间存在一致的关系,但不同b之间的球扁钢的规律却并不相同,如HP120×6~HP120×8(h为23~25)的h和b、t之间存在h=0.15b+t-1的关系,但HP180×8~HP180×11(h为33~36)和HP200×9~HP200×12(h为37~40)却分别是h=0.15b+t+1和h=0.15b+t-2的关系。因此这种通过b和t算得h和r1的方法将非常麻烦。本文提供一种根据b和t查询得到h和r1的方法。此方法先将球扁钢截面库定义为一个二维数组,
7、每一行对应新标准表或旧标准表中的一种腹板宽度,各行的列元素依次为“b、r1、t1、h1、t2、h2……”。根据这种排列原则,新标准表所列系列对应一个17×12的数组,旧标准表所列系列对应一个15×6的数组。查询时,先判断球扁钢所在行,提取该行第2列的元素作为球端圆角半径r1,再判断腹板厚度t所在列,提取该列后面的第一个元素作为球端高度h。球端高度和圆角半径另外编写函数get_bulb_size获取。值得注意的
此文档下载收益归作者所有