999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

變量和表格在NAPA宏程序中的應(yīng)用

2018-11-13 10:00:16祝文倩
廣東造船 2018年5期
關(guān)鍵詞:利用

顏 萍,祝文倩

(1.廣東中遠(yuǎn)海運重工有限公司,東莞 523146;2.廣州船舶及海洋工程設(shè)計研究院,廣州 510250)

1 前言

NAPA軟件是由芬蘭NAPA公司開發(fā)的一款船舶設(shè)計軟件,在船舶的初步設(shè)計及詳細(xì)設(shè)計階段有著廣泛的運用。其中,總體計算模塊是NAPA軟件的核心部分,主要由船舶建模、靜水力、艙容、裝載工況、完整穩(wěn)性和破損穩(wěn)性等部分組成。我們可以根據(jù)設(shè)計的需求調(diào)用相關(guān)的模塊進(jìn)行計算,能有效的提高計算效率。

NAPA軟件為設(shè)計者提供了強(qiáng)大的開發(fā)能力,其中宏的運用是NAPA最有效的工作方式,宏就是將一系列命令組成在一起作為單獨的命令完成一個特定任務(wù)。宏既可以是簡單命令的集合,也可以是包括了輸入、輸出、條件、計算等功能的復(fù)雜程序。此外,還可以利用宏作為一個子程序嵌套在其他的宏中,形成一個多層的宏程序。設(shè)計者如能充分掌握NAPA的宏程序編寫,可以達(dá)到對于NAPA軟件的創(chuàng)造性的使用。

宏可以在NAPA中的TEXT文檔中運行,以NAPA自帶的BASCI作為二次開發(fā)語言來實現(xiàn)各種功能的定制。其中,主要的BASCI邏輯語言有循環(huán)語句@For...@Next、假設(shè)語句@If...@Endif等。宏的運行主要依靠變量和表格兩種表現(xiàn)形式來實現(xiàn),以下我們就這兩者在宏程序中的應(yīng)用做一個簡要的介紹。

2 變量在宏程序中的應(yīng)用

變量在NAPA中有三種基本的形式:整數(shù)型變量,如@X=5;實數(shù)型變量,比如@X=5.0;字符串變量,如@X=’LOAD3’。

變量的種類分為自定義變量及NAPA自帶變量兩種:(1)自定義變量,如@I=20或@I=RSIZE(A) 等;(2)NAPA自 帶 變 量,如 在 裝 載 工 況 中 的 LD.QNT(‘quantity’)或LD.SQNT(‘quantity’)等; 在 穩(wěn) 性 衡 準(zhǔn) 中 的CR.VALUE(‘quantity’) 或 CR.ASSIGN(‘quantity’)等;在破損穩(wěn)性中的中的DA.ASSIGN(‘quantity’)或DA.CROSSTIME(‘quantity’)等;在艙容計算中的CP.GAUGE(‘quantity’)或 CP.GEMO(‘quantity’)等。NAPA自帶變量的形式及種類繁多,具體的各種變量解釋和運行方式可以參見NAPA MANUAL中每章的Service Function。

2.1 變量在牲口船滿足AMSA衡準(zhǔn)中的運用

澳大利亞海事安全局(AMSA)對牲口船有特殊的衡準(zhǔn)要求,其中大部分衡準(zhǔn)與IS CODE的基本穩(wěn)性衡準(zhǔn)要求類似,只要簡單的修改NAPA中衡準(zhǔn)語句便可以套用。但是,其中有一條面積衡準(zhǔn)(見圖1),要求A的面積不小于(0.2*(A+B)的面積+1.03m*degree),沒有類似的衡準(zhǔn)可以套用,要求我們必須自己編寫宏來生成衡準(zhǔn)。

圖1 牲口船滿足AMSA穩(wěn)性衡準(zhǔn)中的面積衡準(zhǔn)

利用變量,我們可以較方便的生成衡準(zhǔn)所需要的面積值以及衡準(zhǔn)要求值,部分核心代碼如下:

從以上代碼,利用NAPA自帶變量CR.VAUE(‘quantity’)可以:由cr.value('mom')得到力矩變量組;由cr.value('ephi')得到動穩(wěn)性力臂變量組;由cr.value('gz')得到靜穩(wěn)性力臂變量組;由cr.value('ang')得到橫傾角變量組。

利用自定義變量:由interp(hphi ang 0)得到動穩(wěn)性力臂為0時的角度ang2;由interp (ang mom1 ang2)得到橫傾角為ang2時的力矩;同樣也可以得到ang3時的力矩。

通過areaAB和req兩個變量的計算,可以得到A+B的面積以及要求的面積衡準(zhǔn)值。

將以上的變量生成的宏程序命名為AMSA.AREA,我們可以利用宏程序生成穩(wěn)性衡準(zhǔn)如下:

2.2 變量在傾斜試驗中的運用

目前大部分的傾斜試驗是利用各單位自己編制的Excel表格來進(jìn)行計算的,其中需要手動輸入各種液態(tài)艙室在傾斜試驗狀態(tài)下的艙容、艙內(nèi)液體的重心位置及自由液面數(shù)據(jù),這些數(shù)據(jù)大多是利用手動測深表通過各種插值得到的,其消耗時間較多也容易出現(xiàn)計算錯誤。而利用變量在宏中的運用,可以準(zhǔn)確快捷的得到各類艙室的傾斜試驗數(shù)據(jù),其部分核心代碼如下:

其中,我們可以自己定義艙室名變量@TANK及測深高度值變量@SND。因此,我們僅需輸入要查詢的艙室名以及傾斜試驗量取的測深高度值,利用循環(huán)語句可以方便得到所有需查詢的艙室的傾斜試驗數(shù)據(jù)。

3 表格在宏中的應(yīng)用

表格在宏中的應(yīng)用居于非常核心的地位。通過Tab的導(dǎo)出、存儲、導(dǎo)入、運算等功能,可以方便的實現(xiàn)各種數(shù)據(jù)的運算。除了NAPA默認(rèn)的Tab*table格式外,我們還有多種NAPA特殊的表格形式,如表示布置的表格形式ARR*、重量分布單元的表格形式ELE*等。

通過Tab中的各種命令,可以使用NEW& COL命令產(chǎn)生新的表格,并定義表格的數(shù)據(jù)形式,例如整數(shù)、實數(shù)還是字符串形式等;利用TP.VALUE()及TP.COLUMN()等命令,可以將原有表格的數(shù)據(jù)導(dǎo)出;利用ASG、CAL等命令,可以將導(dǎo)出的數(shù)據(jù)按照一定的數(shù)學(xué)關(guān)系選擇性的分配給新的表格;最后可以利用DIAG命令,將新生成的表格中數(shù)據(jù)用圖形形象的表現(xiàn)出來。

3.1 利用Tab生成數(shù)據(jù)總結(jié)表

在穩(wěn)性計算中,我們需要列出各種總結(jié)表、各個工況的信息(如彎矩和剪力總結(jié)表)、浮態(tài)及穩(wěn)性衡準(zhǔn)的總結(jié)表等。利用Tab的特點,可以方便的得到各種數(shù)據(jù)總結(jié)表。

下面將以某PSV船為例,演示生成新的表格、導(dǎo)出舊表格數(shù)據(jù)、將舊表格數(shù)據(jù)選擇性賦予新的表格、最終生成該船的Stability Margin的總結(jié)表。部分核心代碼如下所示:

第一步,生成新的總結(jié)表格:

通過生成的新的總結(jié)表格,可以任意選擇總結(jié)表需要輸出的表列數(shù)據(jù),同時在生成新表格的同時也將每列表格的數(shù)據(jù)形式定義好。其中C表示此列表格為字符串形式,R表示此列表格為實數(shù)形式。

第二步,導(dǎo)出各工況下以及各種衡準(zhǔn)下的最小GM值的表格數(shù)據(jù)作為變量組以便后面使用:

利用TP.VALUE()將工況的最小GM值、衡準(zhǔn)的要求值、以及GM值與要求值的余量值等表格數(shù)據(jù)導(dǎo)出。

第三步,利用ASG或CAL命令將導(dǎo)出的表格數(shù)據(jù)選擇性的分配到新的表格中去:

最終,生成了Stability Margin的總結(jié)表如表1所示。

表1 Stability Margin總結(jié)表

3.2 利用Tab生成表格數(shù)據(jù)圖

利用Tab中的DIAG命令,可以將數(shù)據(jù)用數(shù)據(jù)圖的形式表現(xiàn)出來,使數(shù)據(jù)更加直觀。以下以一艘牲口船的極限GM總結(jié)表(表2)為例,生成總結(jié)表的數(shù)據(jù)圖。此處的極限GM值總結(jié)表,按不同的吃水分成滿足IMO 衡準(zhǔn)的極限GM數(shù)值滿足AMSA衡準(zhǔn)的極限GM值以及滿足破損穩(wěn)性的極限GM值。以下列出宏程序的部分語句作為例子,說明如何將表格數(shù)據(jù)轉(zhuǎn)換為圖表。

表2 極限GM總結(jié)表

從以上宏程序可知,首先需要進(jìn)入到圖表的源數(shù)據(jù)表格GMLIM@TR(M)中得到此表格中的數(shù)據(jù);利用表格的畫圖命令DIAG,可以將源數(shù)據(jù)表格中的MAXGM和T的數(shù)據(jù)以平滑的曲線形式畫出來,得到以上源數(shù)據(jù)表格MAXGM列對應(yīng)于吃水T的曲線;按照同樣的方式,也可以得到IMOLIM和AMSALIM以及DLIM對應(yīng)于吃水T列曲線,并用不同的顏色標(biāo)示出來;最終,我們可以得到多列極限GM數(shù)據(jù)對于吃水T的數(shù)據(jù)圖。

4 運用變量與表格需要注意的地方

雖然變量與表格的運用能夠較好的提高工作效率,但同時也是宏程序中的一個難點。在宏程序的運用中,需要注意以下幾點以保證宏程序運行的準(zhǔn)確性:

(1)首先要保證邏輯語言的閉環(huán),保證多種變量和表格能夠在一個嵌套的邏輯語言中運行,否則容易造成程序出現(xiàn)錯誤循環(huán)而不能進(jìn)行計算;

(2)在NAPA的宏程序中出現(xiàn)的字符串變量盡量使用大寫字母來表示,在部分宏程序中存在小寫字母的字符串變量報錯的情況;

(3)因為系統(tǒng)自帶的變量可以避免間接求解變量,因此靈活運用系統(tǒng)自帶的變量往往能起到事半功倍的效果;

(4)表格分配數(shù)據(jù)的時候,需要注意數(shù)據(jù)導(dǎo)入是否在正確行與列,保證數(shù)據(jù)的準(zhǔn)確性;

(5)NAPA默認(rèn)的表格名字為table,如果沒有給數(shù)據(jù)輸出表格重新命名,那么NAPA輸出的數(shù)據(jù)一般存儲在默認(rèn)的table表格中。

5 結(jié)語

變量和表格是NAPA宏程序中的主要運用形式,本文通過實例分別說明了其在宏程序中的運行方式,并介紹了運用變量和表格容易出錯或容易忽略的地方。固然,在一個較為復(fù)雜的宏程序中,變量和表格是綜合運用在一起,而不是簡單的運用單個某種形式。通過本文的研究,我們對變量和表格在NAPA宏程序中的運用有了一定的了解,對復(fù)雜宏程序的編寫將起到一定的指導(dǎo)作用。同時,本文內(nèi)容對宏程序在NAPA中二次開發(fā)和優(yōu)化設(shè)計流程也具有一定的參考借鑒作用。

猜你喜歡
利用
利用min{a,b}的積分表示解決一類絕對值不等式
利用倒推破難點
如何利用基本不等式比較大小
利用一半進(jìn)行移多補(bǔ)少
利用口訣算除法
利用數(shù)的分解來思考
Roommate is necessary when far away from home
利用
回收木再利用——Piet Hein Eek
低丘緩坡未利用地的開發(fā)利用探討
河北遙感(2015年4期)2015-07-18 11:05:06
主站蜘蛛池模板: 欧美亚洲国产一区| 黄色在线不卡| 免费看久久精品99| 成年人国产视频| 久久久精品国产SM调教网站| 精品久久综合1区2区3区激情| 国产一级毛片高清完整视频版| 91精品国产自产91精品资源| 99久久精品免费视频| 中文纯内无码H| 精品一区二区三区波多野结衣 | 99久久国产综合精品女同| 亚洲综合色婷婷中文字幕| 日本欧美中文字幕精品亚洲| 久久一级电影| 福利片91| 午夜一级做a爰片久久毛片| 狠狠色香婷婷久久亚洲精品| 99偷拍视频精品一区二区| 婷婷综合色| 国产无码高清视频不卡| 久久精品一卡日本电影| 97在线观看视频免费| 欧美色亚洲| 婷婷在线网站| 日韩 欧美 小说 综合网 另类 | 国产h视频免费观看| 国内精品自在欧美一区| 久久一日本道色综合久久| 色天天综合| 久久久久青草线综合超碰| 久久精品国产亚洲麻豆| 久久精品无码一区二区日韩免费| AV熟女乱| 午夜福利视频一区| 国产乱肥老妇精品视频| 二级特黄绝大片免费视频大片| 91亚洲精品国产自在现线| 国产欧美日韩在线在线不卡视频| 伊人久久婷婷| 亚洲天堂视频在线观看| 国产极品美女在线| 美女视频黄频a免费高清不卡| 国产精品网曝门免费视频| 六月婷婷激情综合| 全免费a级毛片免费看不卡| 伊人色在线视频| 久久一色本道亚洲| 天堂久久久久久中文字幕| 久久99国产精品成人欧美| 日韩人妻精品一区| 一区二区三区国产| 成人免费一级片| 无码人中文字幕| 草逼视频国产| 97视频免费在线观看| 亚洲第一成人在线| 亚洲三级电影在线播放| 欧美第一页在线| 中文一区二区视频| 91免费在线看| 成人免费视频一区| 午夜不卡视频| 国产精品99久久久久久董美香| 亚洲va欧美ⅴa国产va影院| 69av在线| 国产迷奸在线看| 韩日午夜在线资源一区二区| 九九这里只有精品视频| 国产三级视频网站| 欧美视频在线播放观看免费福利资源| 亚洲黄色激情网站| 成年免费在线观看| 一区二区三区四区日韩| 久久精品丝袜高跟鞋| 国产成人精品18| 欧美自慰一级看片免费| 色综合天天综合中文网| 久草国产在线观看| 不卡视频国产| 免费大黄网站在线观看| 国产欧美日韩在线一区|