陳曉飛
摘? ? 要:NAPA軟件宏命令具有強(qiáng)大的功能,應(yīng)用宏命令得出計(jì)算報(bào)告或計(jì)算數(shù)據(jù)特別方便快捷。本文主要闡述了通過(guò)編寫(xiě)NAPA宏文件解決工程實(shí)際中的幾個(gè)問(wèn)題,包括船舶航行盲區(qū)的計(jì)算、帶有縱傾橫傾的液艙測(cè)深表計(jì)算、特殊要求下的谷物穩(wěn)性校核等。
關(guān)鍵詞:NAPA;測(cè)深表;谷物穩(wěn)性
中圖分類號(hào):U662.9? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
Application of NAPA Macros in Ship General Design
CHEN Xiaofei
( Guangzhou Marine Engineering Corporation, Guangzhou 510250 )
Abstract: NAPA software macro command has powerful functions, and by using it the calculation report or data can be generated conveniently and easily. This paper mainly describes how to solve some practical problems by compiling macro file, including the calculation of ship navigation blind area, the calculation of tank sounding table across the required range of trim and heel angles, grain stability check under special requirements.
Key words: NAPA; Sounding table; Grain stability
1? ? 前言
NAPA軟件是一款船舶設(shè)計(jì)綜合性軟件,能夠解決船舶設(shè)計(jì)中的多種技術(shù)問(wèn)題,如計(jì)算各種靜水力參數(shù)、分艙及裝載計(jì)算(包括完整穩(wěn)性、破艙穩(wěn)性、谷物穩(wěn)性、集裝箱裝載手冊(cè)等)、阻力及操縱性計(jì)算、結(jié)構(gòu)設(shè)計(jì)等。同時(shí),該軟件提供眾多與其他軟件的接口,便于跨平臺(tái)工作的有序銜接。由于其進(jìn)行靜水力及穩(wěn)性計(jì)算具有高精度、計(jì)算快、生成報(bào)告快、報(bào)告格式整潔美觀等優(yōu)勢(shì),是應(yīng)用較廣的船舶設(shè)計(jì)商用軟件。
NAPA具有非常靈活的二次開(kāi)發(fā)功能,能夠得到許多其它軟件較難獲取的數(shù)據(jù),可以輸出特定格式的報(bào)告以及得到特定的數(shù)據(jù),這是其他類似軟件較難實(shí)現(xiàn)的。
NAPA的二次開(kāi)發(fā)是通過(guò)宏命令實(shí)現(xiàn)。事實(shí)上,軟件本身的計(jì)算是建立在大量宏文件之上的,這些宏文件保存在BD7數(shù)據(jù)庫(kù)中,只能調(diào)用而不能修改;軟件使用者也可以編輯一些宏文件,保存在DB1數(shù)據(jù)庫(kù)中,這個(gè)數(shù)據(jù)庫(kù)中的宏文件既能調(diào)用也能編輯,用于生成各種計(jì)算報(bào)告。
許多軟件使用者及船級(jí)社編寫(xiě)了一些標(biāo)準(zhǔn)的宏文件,其他使用者只需對(duì)這些標(biāo)準(zhǔn)宏文件進(jìn)行調(diào)用即可。在生成一些計(jì)算數(shù)據(jù)或報(bào)告時(shí),很多時(shí)候需要對(duì)一些前人編寫(xiě)的宏文件進(jìn)行修改,以滿足正在開(kāi)展的工作需要。
2? ? ?船舶航行盲區(qū)的計(jì)算
現(xiàn)結(jié)合一艘12 500 DWT散貨船設(shè)計(jì)中碰到的問(wèn)題,對(duì)通過(guò)編寫(xiě)與修改宏文件解決的幾個(gè)實(shí)際問(wèn)題進(jìn)行闡述。
本船主要參數(shù)如下:
根據(jù)《國(guó)內(nèi)航行海船法定檢驗(yàn)技術(shù)規(guī)則》要求,對(duì)于船長(zhǎng)55 m以上海船,需要滿足自船首前方至任何一舷10°范圍內(nèi)均不應(yīng)有超過(guò)兩倍船長(zhǎng)或500 m(取其小者)的遮擋。因此所有海船需要校核航行不同工況的盲區(qū),繪制盲區(qū)圖。在繪制盲區(qū)圖時(shí),一般需要列出不同吃水、不同縱傾的盲區(qū)表,如表1所示。
表1可以通過(guò)在Cad中作圖測(cè)量距離得到。表1中共有10種吃水狀態(tài)和5種縱傾狀態(tài),意味著需要重復(fù)該項(xiàng)工作50次,費(fèi)時(shí)費(fèi)力。通過(guò)宏文件可以快速的得到以上數(shù)據(jù),且可以避免作圖過(guò)程中出現(xiàn)的誤差。
編寫(xiě)的宏命令如下:(因篇幅所限,僅列出部分命令顯示)。
在上述宏命令中,將不同的吃水與縱傾分別存儲(chǔ)在數(shù)組@T與@TR中,這兩個(gè)數(shù)組中的數(shù)據(jù)交叉搭配組成數(shù)組矩陣,然后對(duì)矩陣中的每個(gè)數(shù)組進(jìn)行盲區(qū)數(shù)值的計(jì)算;@DIS=aa*c/(b-aa)這一句命令得到盲區(qū)的數(shù)值,計(jì)算結(jié)果首先存儲(chǔ)在DIS這個(gè)變量中,然后被賦予給數(shù)組ATT;計(jì)算結(jié)果由!cal命令返回到軟件界面,得到所有吃水與縱傾組合情況下的盲區(qū)數(shù)值。
需要注意的是NAPA程序中縱傾值是以水線相對(duì)于船底線的斜率表示的,而不是首尾吃水差這一數(shù)值;如果是尾傾則斜率以負(fù)數(shù)表示,所以當(dāng)縱傾為-1時(shí),通過(guò)@TR(2)=-1/142.4(142.4為垂線間長(zhǎng))將縱傾值賦予給TR(2),其它縱傾情況類似處理。
在進(jìn)行每個(gè)裝載工況的計(jì)算時(shí),都需要校核盲區(qū)是否滿足要求,校核所用宏文件類似于上述命令。不同的地方在于通過(guò)以下語(yǔ)句將單個(gè)裝載工況的吃水與縱傾賦予給T與TR這兩個(gè)變量后進(jìn)行校核:
@T=CR.VALUE('T0')
@TR=CR.VALUE('TR0')
總之,NAPA中對(duì)盲區(qū)的計(jì)算,都是通過(guò)獲取吃水與縱傾的數(shù)值,然后通過(guò)代數(shù)運(yùn)算得到的。通過(guò)合理設(shè)置數(shù)組值,獲得盲區(qū)的計(jì)算值,解決了盲區(qū)數(shù)值計(jì)算費(fèi)時(shí)費(fèi)力的問(wèn)題。
3? ? 縱傾、橫傾狀態(tài)下測(cè)深表計(jì)算
在進(jìn)行船舶傾斜試驗(yàn)時(shí),有時(shí)采用對(duì)沿船中對(duì)稱布置的壓載艙抽排壓載水代替移動(dòng)壓鐵的辦法進(jìn)行。當(dāng)從一舷壓載艙向另外一舷壓載艙抽排壓載水時(shí),需要精確獲取調(diào)配的壓載水重量以及該縱橫傾狀態(tài)下液艙自由液面慣性矩,以獲得橫傾力矩的大小。通過(guò)試驗(yàn)現(xiàn)場(chǎng)測(cè)深尺讀數(shù),可以實(shí)時(shí)讀取到該對(duì)稱液艙壓載水液面位置。下面介紹如何獲取在不同縱傾、橫傾條件下液艙的測(cè)深表。
由于用測(cè)深尺進(jìn)行艙室液面測(cè)量時(shí),測(cè)得的并不是液艙的液面高度,而是測(cè)深尺沿著測(cè)深管到達(dá)艙底復(fù)板所行走的總長(zhǎng)度,需要在NAPA中對(duì)該艙室測(cè)深管進(jìn)行定義,具體定義方法本文不再贅述。需要注意在定義的時(shí)候,最低點(diǎn)的位置不是艙底,而要扣除測(cè)深管下端復(fù)板的厚度。
本宏文件首先設(shè)置固定的縱傾數(shù)據(jù)及橫傾變化的步長(zhǎng),得到不同的縱傾與橫傾數(shù)據(jù)組合,然后對(duì)測(cè)深表設(shè)置包含艙室信息的表頭;運(yùn)行本宏文件后可以得到測(cè)深表文件,供傾斜試驗(yàn)實(shí)時(shí)查取。
由于橫傾值有正負(fù)之分,對(duì)于正的橫傾需要從正數(shù)逐步變?yōu)?,對(duì)于負(fù)的橫傾則反之。為了實(shí)現(xiàn)這個(gè)功能,本宏文件作了2個(gè)gosub跳轉(zhuǎn)段落,以實(shí)現(xiàn)一個(gè)從負(fù)值逐步增加到0,另一個(gè)從正值逐步減小到0。
編寫(xiě)的宏文件如下:(因篇幅所限,僅列出部分命令顯示)。
下面內(nèi)容為生成的測(cè)深表表頭,在cp命令環(huán)境下,很明顯艙室的名字被賦予到了comp這個(gè)變量名中,如果引用comp這個(gè)變量名(前面加@表示對(duì)這個(gè)變量名的引用),返回的是當(dāng)前艙室的名字;@smccode、@smdes等引用與之類似。
以下測(cè)深表表頭命令語(yǔ)句是從NAPA DB7數(shù)據(jù)庫(kù)LISTCP.TANK與LISTCP.TANKHEADER宏文件摘取的,將之加入到上述宏命令的后面,用于生成測(cè)深表報(bào)告的表頭信息(包括艙室名字、艙室代碼、艙室描述等信息),以下為生成測(cè)深表表頭的部分命令:(因篇幅所限,僅列出部分命令顯示)。
該表頭的定義方式是先從數(shù)據(jù)庫(kù)中獲取全局變量,賦予給本宏文件的變量,然后通過(guò)TYPE命令將之輸出到結(jié)果文件。
通過(guò)合理設(shè)置數(shù)組值,獲得了不同縱傾及橫傾條件下液艙的測(cè)深表,解決了NAPA自帶的宏無(wú)法得到此種測(cè)深表的問(wèn)題。此種測(cè)深表既可以用于傾斜試驗(yàn),也可作為隨船文件供船長(zhǎng)查閱。
4? ? 谷物穩(wěn)性校核應(yīng)用
谷物裝載穩(wěn)性校核相對(duì)于一般散貨裝載穩(wěn)性計(jì)算,需要額外滿足以下3個(gè)要求[3]:
(1)由于谷物移動(dòng)使船舶產(chǎn)生的橫傾角不大于12°;
(2)在靜穩(wěn)性曲線上,到達(dá)傾側(cè)力臂曲線與復(fù)原力臂曲線的縱坐標(biāo)最大差值的橫傾角或40°或進(jìn)水角,取其中較小者;該兩曲線之間的剩余面積A,在所有裝載情況下應(yīng)不小于0.075 m*rad;
(3)經(jīng)對(duì)各液體艙內(nèi)自由液面的影響修正后,初穩(wěn)性高度應(yīng)不小于0.3 m。
《國(guó)內(nèi)航行海船法定檢驗(yàn)技術(shù)規(guī)則》規(guī)定:①對(duì)未經(jīng)平艙的滿載艙和部分裝載艙的傾側(cè)體積矩乘以0.46;②對(duì)經(jīng)平艙后的滿載艙的體積矩乘以0.8。由此可知,本規(guī)則不同于SOLAS的要求,對(duì)于第①種裝載情形,本規(guī)則相當(dāng)于在SOLAS要求基礎(chǔ)上降低了要求,打了0.46的折扣,對(duì)于第②種裝載情形,則打了0.8的折扣。
NAPA自帶的衡準(zhǔn)是針對(duì)SOLAS而編寫(xiě)的,故必須對(duì)NAPA原有的衡準(zhǔn)進(jìn)行修訂。先用NAPA計(jì)算得到每個(gè)艙不同谷物裝載情況下的谷物傾側(cè)力矩,然后根據(jù)實(shí)際裝載情況分別乘以0.46或0.8;對(duì)于任一裝載工況,將所有裝載艙經(jīng)過(guò)修正的傾側(cè)力矩相加,得到該工況下的實(shí)際需要校核的傾側(cè)力矩。如@KKXX(1)=7265這個(gè)命令,用于將7 256 t*m這一經(jīng)過(guò)修正的谷物傾側(cè)力矩賦予給工況1;
LIS GSCH GRM=@KKXX(I),則是用修正的傾側(cè)力矩進(jìn)行穩(wěn)性的衡準(zhǔn),獲得衡準(zhǔn)結(jié)論。
本方法操作簡(jiǎn)便,很好的解決了由于規(guī)范之間的差異導(dǎo)致調(diào)用標(biāo)準(zhǔn)的宏文件滿足不了實(shí)際計(jì)算需要之間的矛盾。
編寫(xiě)的宏命令如下:
如果本船4個(gè)貨艙中有2個(gè)貨艙為半艙裝載,則能夠降低船舶航行過(guò)程中的極限剪應(yīng)力與彎矩。經(jīng)過(guò)計(jì)算,本船2個(gè)貨艙半艙裝載時(shí)穩(wěn)性是滿足要求的,見(jiàn)表2所列。
表2? 谷物穩(wěn)性校核總結(jié)表
表2中的谷物傾側(cè)力矩是乘以折減系數(shù)后的數(shù)值,該數(shù)值與許用傾側(cè)力矩進(jìn)行比較即可獲得校核結(jié)果。同理,GM值、谷物傾側(cè)力矩引起的橫傾值、剩余面積A的校核,均是基于折減后的谷物傾側(cè)力矩進(jìn)行的。
由于軟件繪制的校核圖引用的是DB7數(shù)據(jù)庫(kù)的宏文件,無(wú)法修改,故采用!send命令將生成的圖保存為CAD文件,然后用Autocad進(jìn)行二次編輯。但這種方法不是特別方便,由于沒(méi)有辦法改變NAPA數(shù)據(jù)庫(kù)中igc.heel,igc.area這兩個(gè)衡準(zhǔn)里面所引用的IGC.GRAINSHIFT這個(gè)傾側(cè)力矩的定義是無(wú)權(quán)限打開(kāi)的,因此只能這樣折中處理。本方法操作起來(lái)仍然比較費(fèi)時(shí),可能會(huì)有更好的解決辦法,留待以后研究。相關(guān)宏命令如下:
上述通過(guò)將谷物傾側(cè)力矩直接賦予給變量,代替NAPA自動(dòng)計(jì)算的不適用數(shù)值,完成谷物穩(wěn)性的校核,解決了NAPA自帶的宏不適用于特定法規(guī)的問(wèn)題。
5? ? 結(jié)束語(yǔ)
以上3個(gè)例子中對(duì)NAPA宏文件的編寫(xiě),采用的方法主要是定義數(shù)據(jù)型數(shù)組或字母型數(shù)組,然后對(duì)數(shù)組中的元素賦予不同的數(shù)值或字母組合。
本文通過(guò)編寫(xiě)宏文件解決了工程實(shí)際中的3個(gè)問(wèn)題,是此款軟件強(qiáng)大功能的一個(gè)體現(xiàn),本軟件的二次開(kāi)發(fā)有利于設(shè)計(jì)工作的順利進(jìn)行。但是對(duì)谷物穩(wěn)性校核的宏開(kāi)發(fā),對(duì)有些問(wèn)題的解決并不是特別完美,需要留待以后研究。
參考文獻(xiàn)
[1] NAPA Ltd. NAPA Manuals 2015.
[2] 國(guó)內(nèi)航行海船法定檢驗(yàn)技術(shù)規(guī)則2011[M].北京:人民交通出版社,2011.
[3] 散裝谷物船舶的穩(wěn)性[M].上海:上海交通大學(xué)出版社,2014.