管官,杨小乐,王琦
1. 大连理工大学 船舶 CAD 工程中心,辽宁 大连 116024 2. 大连理工大学 工业装备结构分析国家重点实验室,辽宁 大连 116024
船舶一般会有20~50个设计工况,每个工况有近10个项目需要检查,包括最小艏部吃水、螺旋桨浸没率、纵倾值、稳性和货舱装货量等。需要检查的项目分散在图纸中的不同位置且只有实际值,没有要求值,需要校对者结合相关法规要求来判断各项目是否满足要求。对于货舱装货量,实际值也无法用NAPA输出,需要人工计算各货舱和相邻2个货舱的中部吃水以及货舱装货量,再对比货舱装货量曲线来进行判断。船舶工况检查工作一般是在制作好电子版装载手册后进行的。由于需要检查的项目较多,很容易出现重新配载后其他项目不满足要求的情况,这时设计者需要反复进行工况配载、输出图纸、工况检查这3项工作。船舶工况的检查工作需要耗费大量时间的同时,还很容易出现错误。
在处理复杂、重复工作方面,NAPA常规的使用方式是通过敲击命令获取所需的结果,此时的NAPA可以简单理解为一个计算器,功能就是输入和输出。NAPA MANAGER是一个可以执行程序的可视化工具,它可以将多个宏程序汇总执行。NAPA MANAGER相对上述使用方式,就如同电脑的操作系统从DOS到WINDOWS 的跨越,用户只需点击鼠标就可代替键盘的敲击,最重要的是数据的输入更加灵活多样,还可以按照用户的意愿进行各种形式的输出。国内外学者对NAPA软件的应用及开发进行过如下工作:金攀峰[1]对于NAPA宏语言的二次开发进行了基础介绍;罗振泉等[2]利用NAPA宏语言快速地完成了一些NAPA STEEL船体结构建模工作;张华[3]结合散货船油船共同结构规范,编写了基于HCSR的剪力修正宏程序;马超等[4]通过NAPA软件快速制作了压载水管理计划手册,用于指导合理的进行压载水的管理操作;周煜等[5−6]编写了NAPA宏程序,使概率破舱稳性计算结果直接以报告形式输出,实现了船舶完整稳性的校核;杨博等[7]基于CSR开发了NAPA MANAGER,实现了散货船载货量曲线的自动绘制;Takano Hirofumi[8]对NAPA的基本功能进行二次开发,对压载水处理系统改装进行可行性分析。本文研发了船舶工况自动检查的 NAPA MANAGER 程序。NAPA MANAGER能够对装载工况检查输出结果报告,在船舶装载过程中,工况检查工作就可以快速完成,不需要先输出图纸,一个工况检查工作的耗时从原先十几分钟降低到几秒内完成,极大地提高了工作效率。
要通过程序实现船舶装载工况的自动检查,首先要了解需要检查项目的具体要求。《国际海上人命安全公约》(SOLAS)[9]、《散货船和油船共同结构规范》(HCSR)[10]、《2008年国际完整稳性规则》(IS CODE)[11]、《载重线公约》[12]等对于船舶装载工况给出了具体要求。对于船舶装载工况,需要检查的项目如下:艏部吃水检查;螺旋桨浸没率检查;纵倾值检查;最大吃水检查;盲区检查;净空高检查;剪力、弯矩检查;稳性检查;货舱装货量检查。
HCSR第4章附录1中给出了有无被授予{No MP}标识的船舶货舱装货量要求。即单个货舱的最大允许装货量和最小要求的装货量与货舱中部吃水的关系,以及每2个相邻货舱的最大允许装货量和最小要求的装货量与这2个相邻货舱中点处吃水的函数关系。以未授予{No MP}标识的BC−A船舶的单个货舱为例,具体应用公式如下:
航行状态下隔舱装载工况的载货舱:
港内状态下隔舱装载工况的载货舱:
航行状态下隔舱装载工况的空舱:
港内状态下隔舱装载工况的空舱:
为实现船舶装载工况自动检查功能,最主要的工作就是程序的编写。由于需要检查的项目较多,而且涉及到的法规也在不停更新。为使程序便于修改和升级,并具有更好的可读性,本文采用模块化方法对程序进行编写。
对于法规的每一项要求用NAPA BASIC 编写成子程序。最小艏部吃水检查子程序;螺旋桨浸没率检查子程序;纵倾值检查子程序;最大吃水检查子程序;盲区检查子程序;净空高检查子程序;剪力、弯矩检查子程序;稳性检查子程序都可以根据相关法规和计算公式利用NAPA BASIC 编写成子程序。将需要作为结果进行输出的值记录下来,汇总后统一进行结果输出。将结果输出也单独做成一个子程序,主程序控制各子程序的执行步骤,编程的界面如图1所示。
图1 变量定义表格
对于货舱装货量检查子程序,由于NAPA不能直接计算实际的货舱装货量和要求值,所以此处需要利用表格进行计算。程序编写按照以下步骤进行:
1)定义数据记录表格
定义CARGOMASS_CHECK 表格,用于记录数据和输出结果,表格形式如图2所示。
图2 CHECK_CARGOMASS 表格
图中各列定义如下:HOLD:船舶货舱名称;CARGO:货舱中货物质量,t;BTMWB:货舱对应的双层底中压载水质量,t;T_HOLD:货舱中部吃水,m;WMIN:货舱最小装货量要求,t;MASS:货舱及对应的双层底中压载水质量总和,t;WMAX:货舱最大装货量要求,t;STAT:判断结果。
2)计算货舱实际装货量
货舱实际装货量包括货舱中货物质量和货舱下方双层底中压载水质量。首先创建LM.HWTANK表格,用来关联货舱和压载水舱及双层底。表格形式如图3所示。
图3 LM.HWTANK 表格
再利用循环语句计算出各货舱装货量。由NAPA 公式得到货舱中货物质量、压载舱及双层底中液体密度、压载舱中液位高度。通过压载舱中液位高度可以推测出双层底中液位高度,从而得到双层底中液体体积,结合双层底中液体密度计算出双层底中液体质量。将货舱中货物质量与双层底中液体质量加和得到货舱装货量。其他货舱装货量计算方法与之相同。
3)计算货舱装货量要求值
图4为单个货舱的货舱载货量曲线,给出了货舱的最大允许装货量和最小要求的装货量与货舱中部吃水的关系。
图4 载货量曲线
当前船舶工况某一货舱中部吃水可以由NAPA公式得到。将货舱装货量曲线做成NAPA表格,即可通过插值方法得到当前船舶装载工况该货舱装货量的要求值。将所有单个货舱和相邻2个货舱的装货量曲线做成表格,通过程序循环计算即可得到某一船舶工况所有单个货舱和相邻2个货舱的装货量要求值。程序中表格名为LM.CMCHOLD,表格形式如图5所示。
图5 LM.CMCHOLD 表格
表格中各列意义如下:
ID:单个货舱及2个相邻货舱名称;
TMAXSEA、WMAXSEA:载货量曲线中航行状态下,最大载货量曲线的货舱中部吃水和最大允许装货量,对应图4中的航行状态下最大允许装货量曲线;
TMINSEA、WMINSEA:载货量曲线中航行状态下,最小载货量曲线的货舱中部吃水和最小要求装货量,对应图4中的航行状态下最小要求装货量曲线;
TMAXHAR、WMAXHAR:载货量曲线中在港状态下,最大载货量曲线的货舱中部吃水和最大允许装货量,对应图4中的在港状态下最大允许装货量曲线;
TMINHAR、WMINHAR:载货量曲线中在港状态下,最小载货量曲线的货舱中部吃水和最小要求装货量,对应图4中的在港状态下最小要求装货量曲线。
4)结果判断
当货舱实际装货量大于等于对应货舱中部吃水的最小要求装货量,并且小于等于最大允许装货量,判断结果为合格,否则不合格。程序通过循环的形式对所有单个货舱和相邻2个货舱的装货量进行结果判断,并将结果输入到CHECK_CARGOMASS表格中。
在使用界面的参数面板部分输入工况检查所需的参数,如图6所示。
图6 参数输入
图中各项意义为:Minimum fore draught(ext.):最小艏部吃水要求(包括龙骨板厚);Propeller Immersion:螺旋桨浸没率要求;Minimum trim:最小纵倾值要求;Maximum trim:最大纵倾值要求;air draught:最大净空高要求(最高点到对应水线距离);Maximum Draught(mld.):最大吃水要求(不包括龙骨板厚)。
运行MANAGER后,结果会显示在使用界面的结果显示窗口里。效果如图7所示。
图7 结果输出
输出结果分为3部分:第1部分包括最小艏部吃水、螺旋桨浸没率、纵倾值、最大吃水、盲区、净空高和剪力弯矩检查的要求值、实际值及判断结果;第2部分为船舶稳性相关的要求值、实际值和判断结果;第3部分为货舱装货量检查,包括单个货舱和相邻2个货舱的货物质量,相应的双层底中压载水质量、货舱中部吃水、货舱装货量要求值、实际值和判断结果。
使用时只需在目录部分选择要检查的船舶工况,点击执行即可得到各工况的实际状态和检查结果。
以某散货船为例,对船舶进行压载水交换过程中的一个工况进行工况检查。
本实例船的船舶主尺度如表1所示。
表1 实例船主尺度
本实例船货舱有5个,编号从船艏到船艉为1~5。压载水舱除货舱部位对应的5组外还包含艏尖舱、6号左、右压载水舱和艉尖舱。油水舱方面包含3组燃油舱、2个柴油舱、2个淡水舱,如图8所示。
图8 舱室分布
该工况的装载情况如图9所示。
图9 装载情况
该工况货舱是空的,压载水舱中艏尖舱、2号左侧压载水舱、2号右侧压载水舱、3号左侧压载水舱、3号右侧压载水舱、4号左侧压载水舱、4号右侧压载水舱中有压载水。
将货舱、压载水舱、双层底压载水舱之间的关系输入到LM.HWTANK表格,如图10所示。
图10 LM.HWTANK 表格
该船的1号货舱装货量曲线如图4所示,将船舶各单个货舱和相邻两个货舱的装货量曲线图中的数值输入到LM.CMCHOLD表格中,如图11所示。以1号货舱装货量曲线为例,由于只需检查航行中的工况,所以选取航行状态下最大允许装货量中的 4 个点(0,9 568),(11.68,19 102),(13,19 102),(20,19 102)和航行状态下最小要求装货量中的 4个点(0,0),(10.79,0),(13,1 804),(20,7 518)输入到表格中,其他货舱装货量曲线数值的输入与之类似,相应点坐标值可在图11中查询。
图11 LM.CMCHOLD 表格
在参数面板处输入工况检查的要求值:最小艏部吃水为3.226 m;螺旋桨浸没率为50%;最小纵倾值为−0.985 m;最大纵倾值为 2.955 m;净空高为 60 m;最大吃水深为 13 m。
执行程序后,工况检查结果如图12所示。
图12 结果输出
从输出结果可以看出:
1)最小艏部吃水要求值为3.226 m,该工况的实际艏部吃水为3.282 m,满足要求;
2)螺旋桨浸没率要求最小为50%,实际的螺旋桨浸没率为50.671%,满足要求;
3)纵倾值要求在−1.0~3.0 m,实际纵倾值为3.125 m,不满足要求;
4)最大吃水为 13 m,实际值为 4.745 m,满足要求;盲区要求不大于 399.8 m,实际盲区为449.657 m,不满足要求;
5)净空高要求不超过60 m,实际净空高为40.69 m,满足要求;
6)剪力与许用值最大百分比为85.232%,满足要求;
7)弯矩与许用值最大百分比为53.313%,满足要求;
8)复原力臂曲线下的面积,在横倾角ϕ=30°或以下时,应不小于 0.055 m·rad,实际值为1.249 m·rad,满足要求;
9)复原力臂曲线下的面积,在横倾角为ϕ=40°或以下或者进水角为 ϕf=40°或以下时,应不小于 0.09 m·rad,实际值为 1.951 m·rad,满足要求;
10)当横倾角在 30°~40°或在 30°~ϕf,而 ϕf小于40°时,复原力臂曲线下的面积应不小于0.03 m·rad,实际值为 0.702 m·rad,满足要求;
11)在横倾角大于或等于30°时,复原力臂至少为 0.2 m,实际值为 4.034 m,满足要求;
12)最大复原力臂应出现在不小于25°的横倾角时,实际值为36.009°,满足要求;
13)初始稳心高度 GM0应不小于 0.15 m,实际值为9.703 m,满足要求;
14)按 IS CODE 的 2.2.8.2要求,b区域应等于或大于a区域,实际b与a的比值为2.231,满足要求;
15)按 IS CODE 的 2.2.8.2要求,稳定风的作用所造成的横倾角(ϕ0)不应超过16°或甲板缘淹没角的80%,取小者,实际值0.549°,满足要求。
16)如图9的装载工况下,1号货舱的货舱中部吃水为 3.71 m,货舱装货量要求在 0~12 598 t,实际值为 0 t,满足要求;
17)2号货舱的货舱中部吃水为4.22 m,货舱装货量要求在 0~12 573 t,实际值为 1 381 t,满足要求;
18)3号货舱的货舱中部吃水为4.73 m,货舱装货量要求在 0~17 363 t,实际值为 1 378 t,满足要求;
19)4号货舱的货舱中部吃水为5.24 m,货舱装货量要求在 0~13 550 t,实际值为 1 381 t,满足要求;
20)5号货舱的货舱中部吃水为5.73 m,货舱装货量要求在 0~14 168 t,实际值为 0 t,满足要求;
21)1号货舱与2号货舱中部吃水为3.96 m,货舱装货量要求在 0~22 700 t,实际值为 1 381 t,满足要求;
22)2号货舱与3号货舱中部吃水为4.49 m,货舱装货量要求在 0~24 758 t,实际值为 2 760 t,满足要求;
23)3号货舱与4号货舱中部吃水为4.98 m,货舱装货量要求在 0~25 670 t,实际值为 2 760 t,满足要求;
24)4号货舱与5号货舱中部吃水为5.50 m,货舱装货量要求在 0~25 347 t,实际值为 1 381 t,满足要求。
本文基于工作经验,结合相关的法规和规范提出了以NAPA MANAGER方式来检查船舶装载工况,研发了船舶工况自动检查的NAPA MANAGER。1)通过对实例中程序运行的结果分析,可以看出此程序的可行性;2)该程序将船舶工况需要检查项目的实际值、要求值汇总到一起显示,并进行结果判断,使船舶工况的实际情况一目了然,避免了对各检查项目顾此失彼的被动局面;3)节省了工况检查工作的时间,提高了工况检查工作的便捷性,为工况检查工作提供了有效的参考依据。