亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2018-11-13 10:00:16祝文倩
        廣東造船 2018年5期
        關(guān)鍵詞:宏程序穩(wěn)性命令

        顏 萍,祝文倩

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

        1 前言

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

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

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

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

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

        變量的種類分為自定義變量及NAPA自帶變量?jī)煞N:(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’)等;在艙容計(jì)算中的CP.GAUGE(‘quantity’)或 CP.GEMO(‘quantity’)等。NAPA自帶變量的形式及種類繁多,具體的各種變量解釋和運(yùn)行方式可以參見NAPA MANUAL中每章的Service Function。

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

        澳大利亞海事安全局(AMSA)對(duì)牲口船有特殊的衡準(zhǔn)要求,其中大部分衡準(zhǔn)與IS CODE的基本穩(wěn)性衡準(zhǔn)要求類似,只要簡(jiǎ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')得到動(dòng)穩(wěn)性力臂變量組;由cr.value('gz')得到靜穩(wěn)性力臂變量組;由cr.value('ang')得到橫傾角變量組。

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

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

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

        2.2 變量在傾斜試驗(yàn)中的運(yùn)用

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

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

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

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

        通過Tab中的各種命令,可以使用NEW& COL命令產(chǎn)生新的表格,并定義表格的數(shù)據(jù)形式,例如整數(shù)、實(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)性計(jì)算中,我們需要列出各種總結(jié)表、各個(gè)工況的信息(如彎矩和剪力總結(jié)表)、浮態(tài)及穩(wěn)性衡準(zhǔn)的總結(jié)表等。利用Tab的特點(diǎn),可以方便的得到各種數(shù)據(jù)總結(jié)表。

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

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

        通過生成的新的總結(jié)表格,可以任意選擇總結(jié)表需要輸出的表列數(shù)據(jù),同時(shí)在生成新表格的同時(shí)也將每列表格的數(shù)據(jù)形式定義好。其中C表示此列表格為字符串形式,R表示此列表格為實(shí)數(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列對(duì)應(yīng)于吃水T的曲線;按照同樣的方式,也可以得到IMOLIM和AMSALIM以及DLIM對(duì)應(yīng)于吃水T列曲線,并用不同的顏色標(biāo)示出來;最終,我們可以得到多列極限GM數(shù)據(jù)對(duì)于吃水T的數(shù)據(jù)圖。

        4 運(yùn)用變量與表格需要注意的地方

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

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

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

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

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

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

        5 結(jié)語

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

        猜你喜歡
        宏程序穩(wěn)性命令
        船舶穩(wěn)性控制系統(tǒng)研究
        只聽主人的命令
        橢球槽宏程序編制及其Vericut仿真
        智能制造(2021年4期)2021-11-04 08:54:44
        移防命令下達(dá)后
        這是人民的命令
        基于Vericut的四軸數(shù)控加工宏程序仿真研究
        G代碼B類宏程序在數(shù)控切割參數(shù)化圖形庫(kù)中的應(yīng)用
        焊接(2015年9期)2015-07-18 11:03:53
        絞吸式挖泥船的穩(wěn)性計(jì)算
        廣東造船(2015年6期)2015-02-27 10:52:45
        宏程序編程的幾種應(yīng)用
        藍(lán)色命令
        日本一区二区在线播放| 老司机在线精品视频网站| 午夜AV地址发布| 日韩精品中文字幕 一区| 人妻精品久久一区二区三区| 国内精品久久久久国产盗摄| 2019最新国产不卡a| 99久久99久久精品免观看| 国产自拍成人在线免费视频| 妺妺窝人体色www在线| 图片区小说区激情区偷拍区| 成年女人A级毛片免| 国产精品一区又黄又粗又猛又爽| 久久天堂一区二区三区av| 高清破外女出血av毛片| 日韩欧美国产自由二区| 国产在线播放免费人成视频播放| 午夜视频在线瓜伦| 内射无码专区久久亚洲| 岛国精品一区二区三区| 在线观看一区二区三区国产| 国产免码va在线观看免费| 真实国产乱啪福利露脸| 无码专区无码专区视频网址 | 日韩欧美亚洲中字幕在线播放| 国产精品亚洲精品专区| 无码一区二区三区| 久久精品国产亚洲精品| 丝袜人妻无码中文字幕综合网| 国产一区二区黄色网页| 亚洲日韩一区二区一无码| 亚洲第一看片| 日韩精品成人一区二区三区| 无码a级毛片免费视频内谢5j| 亚洲人成无码www久久久| 国产亚洲女人久久久久久| 人妻精品人妻一区二区三区四区 | 精品欧洲AV无码一区二区免费| 日韩精品一区二区三区人妻在线| 亚洲av片在线观看| 国产成人拍精品免费视频|