楊 駿,王 堯,張紅偉,王 杰,朱明華
(江南造船(集團(tuán))有限責(zé)任公司,上海 201913)
當(dāng)前,隨著造船業(yè)信息化發(fā)展的不斷深入,船舶科研院所、總裝廠等開發(fā)或引進(jìn)了各式各樣的CAX軟件系統(tǒng),包括CATIA和TRIBON等CAD建模軟件,PATRAN/NASTRAN和ABAQUS等CAE分析軟件,以及NX、DELMIA和EXNEST 等CAM 軟件。通過使用此類軟件系統(tǒng),使得我國在數(shù)字化造船領(lǐng)域取得了長足進(jìn)步。
在船舶設(shè)計(jì)建造過程中,企業(yè)往往根據(jù)不同生產(chǎn)階段的要求選擇不同的軟件,由于生產(chǎn)廠商不同,各軟件是相互獨(dú)立的系統(tǒng),經(jīng)常需進(jìn)行重復(fù)性的建模工作,會(huì)浪費(fèi)大量的人力資源。針對(duì)該問題,軟件廠商根據(jù)市面上主流的軟件開放了大量通用數(shù)據(jù)接口,可通過此類接口進(jìn)行不同軟件之間的模型傳遞,有效提升船舶設(shè)計(jì)建造效率。
三維模型作為船舶設(shè)計(jì)建造過程的數(shù)字源頭,在整個(gè)設(shè)計(jì)建造環(huán)節(jié)起著至關(guān)重要的作用。傳統(tǒng)的船舶建模CAD軟件主要是基于TRIBON軟件開發(fā)的,TRIBON 作為一款“二維半”的CAD 軟件,與行業(yè)軟件的交互性較差,若以此為建模工具,則后續(xù)的分析和模擬等都需重新開展建模工作,效率非常低?;诖耍瑖鴥?nèi)船舶企業(yè)開展了基于達(dá)索系統(tǒng)全新一代三維體驗(yàn)平臺(tái)(3D Experience Platform,3DEXP)的船舶設(shè)計(jì)建造流程研究,以單一數(shù)據(jù)源三維模型貫穿始終,通過其強(qiáng)大的三維建模功能和友好的數(shù)據(jù)接口實(shí)現(xiàn)三維模型設(shè)計(jì)制造的全流程應(yīng)用。
為更好地實(shí)現(xiàn)基于單一數(shù)據(jù)源的船舶設(shè)計(jì)、分析和建造一體化,固化模型數(shù)據(jù)傳遞方法,減少人員手動(dòng)操作的工作量,實(shí)現(xiàn)對(duì)船舶設(shè)計(jì)軟件的高效統(tǒng)一集中管理和使用,本文以3DEXP為依托,通過將船舶設(shè)計(jì)建造過程中常用的幾款CAE分析軟件集成于該平臺(tái)中,以通用中間格式文件為媒介,通過3DEXP CAA(Component Application Architecture)二次開發(fā)模塊,結(jié)合CAE 分析軟件的二次開發(fā)功能,實(shí)現(xiàn)船舶三維模型一鍵快速導(dǎo)出和導(dǎo)入CAE分析軟件,簡化設(shè)計(jì)人員操作流程,提升設(shè)計(jì)效率。
對(duì)常用的CAE軟件進(jìn)行調(diào)研,其快速導(dǎo)入模型的方式主要有3 種:
1)修改軟件啟動(dòng)文件;
2)腳本命令,并通過Windows指令直接調(diào)用;
3)錄制宏命令,在軟件內(nèi)部一鍵調(diào)用。
綜合上述CAE軟件的特性,選擇3 款典型的CAE軟件作為此次研究的集成軟件對(duì)象。
1)MSC.PATRAN:集成的并行框架式有限元前后處理系統(tǒng),主要功能包括幾何模型創(chuàng)建、網(wǎng)格劃分、載荷及邊界條件施加和結(jié)果后處理等。
2)ABAQUS:功能強(qiáng)大的工程模擬有限元求解軟件,可解決簡單的線性分析和復(fù)雜的非線性分析問題,可用于分析船舶及其輔機(jī)的振動(dòng)、抗沖擊特性和材料成型工藝等。原則上來說,3DEXP 深度內(nèi)嵌了SIMULIA-ABAQUS模塊,但該模塊與原版ABAQUS 相比在功能上有一定的欠缺,因此本文選擇原版ABAQUS軟件。
3)FLOEFD:高度工程化的通用流體流動(dòng)與傳熱分析軟件,具有豐富的流體流動(dòng)和傳熱模型,可用于解決船舶艙室(機(jī)艙、住艙和工作艙)內(nèi)部的流場和溫度場問題。
CAE分析軟件可接收三維幾何模型,在此基礎(chǔ)上通過網(wǎng)格劃分生成計(jì)算模型。3DEXP支持導(dǎo)出目前市面上主流的大部分幾何通用中間格式文件,如IGES、STEP 和STL 等,根據(jù)CAE 軟件的要求自行選擇即可。此外,CAE分析軟件還可直接接收通用有限元求解文件,該文件包含有計(jì)算模型信息,如網(wǎng)格信息和載荷信息等,此時(shí)可不用再進(jìn)行網(wǎng)格劃分,而是直接對(duì)網(wǎng)格進(jìn)行一定的修改之后提交計(jì)算,目前3DEXP支持導(dǎo)出的求解文件格式為BDF格式和INP格式。
通過對(duì)所選3 款CAE軟件進(jìn)行研究可知,PATRAN和ABAQUS可通過讀取有限元求解文件導(dǎo)入計(jì)算模型,其中:PATRAN采用BDF格式文件導(dǎo)入,這是有限元文件導(dǎo)入PATRAN 的標(biāo)準(zhǔn)格式;ABAQUS 通過INP格式文件導(dǎo)入,這是模型導(dǎo)入ABAQUS的標(biāo)準(zhǔn)格式。
FLOEFD的網(wǎng)格劃分模式比較特殊,無法接收求解文件,因此采用讀取幾何文件的方式實(shí)現(xiàn)模型導(dǎo)入。由于FLOEFD在求解時(shí)需以三維實(shí)體模型為依托,而常用的IGES和STL等均為面片模型,因此選擇STEP格式的幾何格式文件實(shí)現(xiàn)模型導(dǎo)入。各軟件所需模型文件格式匯總見表1。
表1 各軟件所需模型文件格式匯總
從開發(fā)的角度看,首先需進(jìn)行架構(gòu)設(shè)計(jì)。集成平臺(tái)總體部署為界面展示層、數(shù)據(jù)接口層和業(yè)務(wù)處理層等3 層。
1)界面展示層為人機(jī)操作界面,該界面集成于3DEXP內(nèi)部,可在基本界面下調(diào)用啟動(dòng),主要包括待轉(zhuǎn)換模型選擇和輸出軟件選擇等;
2)數(shù)據(jù)接口層通過CAA開發(fā)直接調(diào)用3DEXP內(nèi)部的API轉(zhuǎn)換函數(shù),將已選模型轉(zhuǎn)化為對(duì)應(yīng)設(shè)計(jì)軟件指定的中間格式并導(dǎo)出;
3)業(yè)務(wù)處理層基于對(duì)應(yīng)設(shè)計(jì)軟件本身的二次開發(fā)功能,實(shí)現(xiàn)模型快速導(dǎo)入。
整個(gè)平臺(tái)系統(tǒng)的架構(gòu)見圖1。
圖1 平臺(tái)系統(tǒng)架構(gòu)
此次船舶設(shè)計(jì)軟件集成基于3DEXP進(jìn)行二次開發(fā)。3DEXP 是法國達(dá)索公司開發(fā)的新一代業(yè)務(wù)體驗(yàn)平臺(tái),該平臺(tái)基于協(xié)作、交互環(huán)境下的3D設(shè)計(jì)軟件開發(fā),擁有統(tǒng)一且易于使用的界面,可供設(shè)計(jì)人員開展多專業(yè)并行設(shè)計(jì),其單一數(shù)據(jù)源模型可用于設(shè)計(jì)后續(xù)的計(jì)算分析工作。CAA是3DEXP的一整套C ++函數(shù)庫,用戶可通過RADE(Rapid Application Development Environment)模塊,在VS環(huán)境下開展編程工作,并實(shí)時(shí)與3DEXP進(jìn)行交互調(diào)試,實(shí)現(xiàn)二次開發(fā)。相比VBA 和EKL,CAA的功能更強(qiáng)大,可滿足更加復(fù)雜的開發(fā)需求,因此本文基于CAA開展開發(fā)工作。
在使用該集成平臺(tái)時(shí),設(shè)計(jì)人員主要關(guān)注需輸出的三維模型和對(duì)應(yīng)的接收軟件,系統(tǒng)會(huì)根據(jù)選擇的軟件給出數(shù)據(jù)模型格式的可選擇列表,圖2 為該集成平臺(tái)的人機(jī)交互界面,設(shè)計(jì)人員選擇模型節(jié)點(diǎn)和對(duì)應(yīng)軟件之后,后臺(tái)會(huì)自動(dòng)轉(zhuǎn)化和輸出模型的中間格式、打開對(duì)應(yīng)設(shè)計(jì)軟件并輸入模型,設(shè)計(jì)人員無需進(jìn)行復(fù)雜的導(dǎo)入和導(dǎo)出操作,能有效節(jié)省工作時(shí)間,提升工作效率。
圖2 平臺(tái)的人機(jī)交互界面
3DEXP提供了模型手動(dòng)轉(zhuǎn)換和輸出功能,設(shè)計(jì)人員可進(jìn)行相關(guān)模型的導(dǎo)出操作,但操作相對(duì)比較繁瑣。該集成平臺(tái)通過調(diào)用后臺(tái)API函數(shù),可實(shí)現(xiàn)模型自動(dòng)轉(zhuǎn)換和輸出,具體的實(shí)現(xiàn)流程見圖3。
圖3 模型轉(zhuǎn)換和輸出實(shí)現(xiàn)流程
模型轉(zhuǎn)換完成之后,模型文件將自動(dòng)存入指定的路徑中,后續(xù)設(shè)計(jì)軟件通過相同的路徑讀取該模型文件。
完成模型數(shù)據(jù)轉(zhuǎn)換和輸出之后,需將該模型導(dǎo)入指定的軟件中。此次研究針對(duì)3 種軟件各自的特點(diǎn),采取不同的導(dǎo)入策略,實(shí)現(xiàn)模型導(dǎo)入方案定制化開發(fā)。
軟件的啟動(dòng)模式可分為應(yīng)用程序直接啟動(dòng)和Windows腳本命令(.bat)啟動(dòng)2 種,其中后者可實(shí)現(xiàn)軟件在啟動(dòng)時(shí)自動(dòng)加載相關(guān)預(yù)定義腳本。3DEXP提供的ExecuteShell函數(shù)可實(shí)現(xiàn)軟件應(yīng)用程序和Windows腳本命令自動(dòng)啟動(dòng),同時(shí)可使用C ++的標(biāo)準(zhǔn)函數(shù)WinExec實(shí)現(xiàn)該功能。
4.3.1 PATRAN模型導(dǎo)入
PATRAN在其安裝目錄下存在一個(gè)配置文件p3patran.pcl,每次啟動(dòng)時(shí)PATRAN都會(huì)加載該文件內(nèi)的代碼,這也是每次打開PATRAN時(shí)自動(dòng)加載二次開發(fā)功能的方法。
PATRAN從啟動(dòng)到導(dǎo)入模型需進(jìn)行3 步操作,即:
1)創(chuàng)建新數(shù)據(jù)庫文件;
2)指定路徑;
3)導(dǎo)入模型文件。
這些步驟均有對(duì)應(yīng)的pcl函數(shù)代碼實(shí)現(xiàn),通過手動(dòng)操作打開PATRAN的日志文件可獲取相應(yīng)代碼,并對(duì)其進(jìn)行適當(dāng)?shù)男薷?,將其中的可變參?shù)(如文件名稱、路徑地址等)固化。
集成平臺(tái)在啟動(dòng)PATRAN之前,可通過文件寫入功能實(shí)現(xiàn)自動(dòng)修改配置文件,啟動(dòng)軟件時(shí)會(huì)加載配置文件內(nèi)的代碼,從而實(shí)現(xiàn)模型文件的自動(dòng)導(dǎo)入。模型導(dǎo)入完成之后,需將配置文件恢復(fù)成原始狀態(tài),以免影響后續(xù)軟件的使用。PATRAN模型自動(dòng)導(dǎo)入流程見圖4。
圖4 PATRAN 模型自動(dòng)導(dǎo)入流程
4.3.2 ABAQUS模型導(dǎo)入
ABAQUS內(nèi)置有Python解釋器,其前后處理的所有操作指令(包括幾何模型建立和導(dǎo)入、單元屬性建立、網(wǎng)格劃分、加載和結(jié)果后處理等)都可用Python代碼實(shí)現(xiàn),因此只需獲取其中關(guān)于模型導(dǎo)入的腳本代碼,并將其編寫成一個(gè)Python腳本文件,同時(shí)令A(yù)BAQUS啟動(dòng)時(shí)自動(dòng)加載該P(yáng)ython腳本文件即可。腳本代碼的獲取方式同PATRAN 一樣,通過查找ABAQUS 的日志文件即可獲得,在此基礎(chǔ)上進(jìn)行適當(dāng)?shù)男薷模袒勺儏?shù)。此外,通過編寫Windows批處理文件(.bat),可實(shí)現(xiàn)ABAQUS自動(dòng)啟動(dòng)并加載腳本文件的功能。具體的ABAQUS模型自動(dòng)導(dǎo)入流程見圖5。
圖5 ABAQUS模型自動(dòng)導(dǎo)入流程
4.3.3 FLOEFD模型導(dǎo)入
FLOEFD軟件基于SOLIDWORKS 引擎開發(fā),因此其二次開發(fā)語言為SOLIDWORKS VBA,類似于PATRAN 和ABAQUS,通過錄制宏命令可獲得FLOEFD關(guān)于模型導(dǎo)入的VBA代碼,進(jìn)行適當(dāng)?shù)男薷闹蠹纯蓪?shí)現(xiàn)模型的快速導(dǎo)入。本文通過創(chuàng)建快捷工具實(shí)現(xiàn)STP格式模型快速導(dǎo)入FLOEFD。具體的FLOEFD模型自動(dòng)導(dǎo)入流程見圖6。
圖6 FLOEFD模型自動(dòng)導(dǎo)入流程
以某液化石油氣(Liquefied Petroleum Gas,LPG)船平行中體部分左舷結(jié)構(gòu)為例,在3DEXP中建立結(jié)構(gòu)模型并進(jìn)行網(wǎng)格劃分,結(jié)果見圖7。
圖7 3DEXP船體結(jié)構(gòu)有限元模型
將該模型輸出至有限元軟件PATRAN 中進(jìn)行加載和計(jì)算,得到應(yīng)力云圖見圖8,其運(yùn)算結(jié)果與在PATRAN中創(chuàng)建的模型的計(jì)算結(jié)果基本一致。軟件應(yīng)用結(jié)果表明,通過此種方式得到的計(jì)算模型能滿足相關(guān)的求解需求,模型在自動(dòng)導(dǎo)出過程中不會(huì)出現(xiàn)信息丟失等現(xiàn)象。
圖8 導(dǎo)入PATRAN/NASTRAN有限元計(jì)算結(jié)果
本文針對(duì)當(dāng)前船舶設(shè)計(jì)軟件種類較多、缺乏有效集成的特點(diǎn),結(jié)合常用的CAE分析軟件,對(duì)基于3DEXP的船舶設(shè)計(jì)軟件接口集成技術(shù)進(jìn)行了研究。借助3DEXP 二次開發(fā)模塊CAA,以及PATRAN PCL、Python、DOS和VBA等二次開發(fā)語言,實(shí)現(xiàn)了PATRAN、ABAQUS和FLOEFD等3 款常用CAE設(shè)計(jì)軟件與3DEXP的接口集成,研究結(jié)果表明:
1)集成平臺(tái)將多種船舶設(shè)計(jì)軟件接口與3DEXP結(jié)合在一體,充分利用了3DEXP的單一數(shù)據(jù)源模型,避免了設(shè)計(jì)人員針對(duì)不同分析對(duì)象進(jìn)行多次重復(fù)建模,提升了設(shè)計(jì)效率。
2)實(shí)現(xiàn)了對(duì)不同類型船舶設(shè)計(jì)軟件的統(tǒng)一化管理,固化了模型數(shù)據(jù)轉(zhuǎn)化流程,充分運(yùn)用了計(jì)算機(jī)輔助設(shè)計(jì)功能,實(shí)現(xiàn)了模型的轉(zhuǎn)化、導(dǎo)出和導(dǎo)入等操作一鍵式完成,簡化了操作流程,使設(shè)計(jì)人員更專注于設(shè)計(jì),提升了公司的核心競爭力,同時(shí)實(shí)現(xiàn)了對(duì)各類船舶設(shè)計(jì)軟件的高效統(tǒng)一集中管理和使用。
3)通過某船體結(jié)構(gòu)有限元分析實(shí)例可知,通過本文所得模型傳遞方式得到的計(jì)算模型能滿足相關(guān)求解需求,該模型在導(dǎo)出過程中不會(huì)出現(xiàn)信息丟失等現(xiàn)象。