張青山, 任???陳昆鵬, 杜云龍
(上海船舶運(yùn)輸科學(xué)研究所有限公司 a.航運(yùn)技術(shù)與安全國家重點(diǎn)實(shí)驗(yàn)室;b.航運(yùn)技術(shù)交通行業(yè)重點(diǎn)實(shí)驗(yàn)室, 上海 200135)
近年來,隨著計(jì)算機(jī)性能的不斷提升和數(shù)值算法的快速發(fā)展,計(jì)算流體力學(xué)(Computational Fluid Dynamics,CFD)方法在船舶領(lǐng)域得到了廣泛應(yīng)用,已實(shí)現(xiàn)對各種復(fù)雜流場的模擬,計(jì)算用時(shí)大幅縮短。同時(shí),國際拖曳水池會(huì)議(International Towing Tank Conference,ITTC)針對CFD方法的不確定度分析方法的規(guī)程給出了數(shù)值計(jì)算方面的合理有效建議。目前,CFD方法已在船舶快速性評估中得到廣泛應(yīng)用,特別是在船型優(yōu)化方面,CFD方法能快速、準(zhǔn)確地評估船舶的性能,有效克服傳統(tǒng)水池試驗(yàn)周期長、成本高的缺點(diǎn)。
對于船舶快速性評估而言,由于不同的研究人員對流動(dòng)現(xiàn)象的理解不同,使得模擬結(jié)果存在差異。為獲取相對準(zhǔn)確的數(shù)值模擬結(jié)果,研究人員需深刻認(rèn)識流動(dòng)現(xiàn)象,同時(shí)能結(jié)合控制方程和相關(guān)算法對CFD數(shù)值模擬進(jìn)行有效設(shè)定,這對于船舶設(shè)計(jì)人員來說需耗費(fèi)大量的時(shí)間和精力。另外,數(shù)值計(jì)算需消耗大量計(jì)算資源,同時(shí)會(huì)產(chǎn)生大量數(shù)據(jù),這會(huì)引發(fā)集群管理和數(shù)據(jù)存儲(chǔ)等問題。如何使船舶設(shè)計(jì)人員將更多精力投入到船舶優(yōu)化中,而不必過多地考慮CFD數(shù)值模擬涉及的算法和參數(shù)設(shè)置,是提升船舶優(yōu)化效率需解決的關(guān)鍵問題。
本文基于B/S(Browser/Server)架構(gòu)設(shè)計(jì)船舶快速性計(jì)算平臺(tái),貼合船舶設(shè)計(jì)人員的應(yīng)用場景,盡量減少設(shè)計(jì)人員的輸入量,簡化操作流程。設(shè)計(jì)10個(gè)功能模塊,以滿足船舶設(shè)計(jì)人員的應(yīng)用場景需求;設(shè)置外部接口調(diào)用外部應(yīng)用程序,實(shí)現(xiàn)自動(dòng)進(jìn)行數(shù)值評估的過程。為保證船舶快速性計(jì)算的精度,開展船舶快速性計(jì)算策略研究,并利用數(shù)值水池大子樣數(shù)據(jù)庫中的試驗(yàn)數(shù)據(jù)對該策略的有效性進(jìn)行驗(yàn)證,最終通過國際標(biāo)模KCS船展示船舶快速性計(jì)算平臺(tái)的特點(diǎn)。
為提升船舶優(yōu)化效率,需設(shè)計(jì)船舶快速性計(jì)算平臺(tái):首先,對計(jì)算平臺(tái)的使用需求進(jìn)行調(diào)研和分析,充分了解船舶設(shè)計(jì)人員的業(yè)務(wù)需求;然后,設(shè)計(jì)能滿足多任務(wù)、多用戶、高效計(jì)算需求的計(jì)算平臺(tái)架構(gòu)和相應(yīng)的功能模塊,滿足數(shù)值計(jì)算的工況需求。
在設(shè)計(jì)計(jì)算平臺(tái)時(shí),需綜合考慮船舶工程的應(yīng)用場景和船舶設(shè)計(jì)人員的工作流程,保證不同用戶之間計(jì)算任務(wù)的獨(dú)立性,從而滿足不同客戶的船型保密性要求。同時(shí),需考慮簡化用戶的操作,只需提供船型基本參數(shù)、船舶幾何文件和計(jì)算工況即可進(jìn)行計(jì)算。為滿足上述需求,需為計(jì)算平臺(tái)設(shè)計(jì)相應(yīng)的功能模塊并制定相應(yīng)的規(guī)則,以保證自動(dòng)運(yùn)行計(jì)算任務(wù),自動(dòng)存儲(chǔ)相關(guān)數(shù)據(jù),自動(dòng)進(jìn)行數(shù)值評估,最終給出計(jì)算結(jié)果。另外,為保證數(shù)值評估的精度,需封裝船舶快速性計(jì)算策略。
船舶快速性計(jì)算平臺(tái)是用于對船舶快速性數(shù)值計(jì)算任務(wù)進(jìn)行調(diào)度和管理的平臺(tái)。此類數(shù)值計(jì)算需消耗大量的計(jì)算資源,通常在集群或超算中心執(zhí)行。考慮到使用的便捷性,基于B/S架構(gòu)設(shè)計(jì)計(jì)算平臺(tái)(見圖1),最終部署在集群中。將計(jì)算平臺(tái)設(shè)置為3層,其中:第一層為交互層,主要為瀏覽器展示的頁面,為用戶提供交互和查詢等操作;第二層為功能層,主要是針對用戶應(yīng)用場景設(shè)計(jì)的相關(guān)功能,共10個(gè)功能模塊;第三層為數(shù)據(jù)層,整個(gè)平臺(tái)運(yùn)行時(shí)所需數(shù)據(jù)和產(chǎn)生的數(shù)據(jù)的增、刪、改、查等操作都在該層進(jìn)行,為平臺(tái)的運(yùn)行提供數(shù)據(jù)支撐。同時(shí),設(shè)置針對外部程序的結(jié)構(gòu),可將平臺(tái)上計(jì)算任務(wù)所需數(shù)據(jù)傳遞到調(diào)用引擎中,從而調(diào)用外部應(yīng)用程序進(jìn)行數(shù)值計(jì)算。
圖1 船舶快速性計(jì)算平臺(tái)架構(gòu)
為保證計(jì)算平臺(tái)能供用戶便捷地使用,滿足用戶的交互需求,為計(jì)算平臺(tái)設(shè)計(jì)10個(gè)功能模塊,可分為平臺(tái)管理和平臺(tái)界面設(shè)計(jì)2類。
1.3.1 平臺(tái)管理類功能模塊
平臺(tái)管理類功能模塊是對平臺(tái)上的信息和數(shù)據(jù)進(jìn)行管理的功能模塊,便于管理員對平臺(tái)上的信息和數(shù)據(jù)進(jìn)行管理。
1) 日志管理。該功能模塊用于記錄自啟動(dòng)平臺(tái)以來平臺(tái)上的所有操作,包括用戶操作日志和節(jié)點(diǎn)狀態(tài)日志,保證平臺(tái)調(diào)用的所有操作都能溯源。另外,日志信息只支持查詢操作,禁止包括管理員在內(nèi)的所有用戶進(jìn)行修改和刪除操作。
2) 用戶管理。該功能模塊主要實(shí)現(xiàn)對平臺(tái)用戶的管理,管理員可對用戶進(jìn)行增、刪、改、查等操作,并為其設(shè)置賬號、密碼等信息。另外,管理員可對用戶進(jìn)行角色和部門分配,同時(shí)為其設(shè)定相應(yīng)的權(quán)限,以便同一工程用戶能查詢該工程的進(jìn)展情況。
3) 工程管理。對于單一船舶改型優(yōu)化項(xiàng)目而言,該功能模塊主要用于管理所有工程。項(xiàng)目負(fù)責(zé)人對擁有權(quán)限的工程進(jìn)行增、刪、改、查等操作。此外,該功能模塊設(shè)有工程審核功能,部門領(lǐng)導(dǎo)有權(quán)對其進(jìn)行審核并準(zhǔn)予通過。需注意的是,不同工程之間是相互獨(dú)立的,每個(gè)工程對應(yīng)的阻力、螺旋槳敞水和自航計(jì)算任務(wù)都應(yīng)隸屬于該工程,包括該改型后的相關(guān)計(jì)算任務(wù)。
4) 任務(wù)管理。該模塊用于管理平臺(tái)中的所有計(jì)算任務(wù),包括排隊(duì)中、運(yùn)行中和已完成的計(jì)算任務(wù)。對于排隊(duì)中的計(jì)算任務(wù),管理員可對其進(jìn)行排序、移除、暫停提交、放行和列表導(dǎo)出等操作;對于運(yùn)行中的計(jì)算任務(wù),管理員可將其終止;對于已完成的計(jì)算任務(wù),管理員可查看其列表和詳情。
5) 硬件資源管理。該功能模塊用于調(diào)度集群中的計(jì)算資源,以滿足計(jì)算任務(wù)的需求。當(dāng)計(jì)算任務(wù)爆發(fā)時(shí),管理員可增加計(jì)算節(jié)點(diǎn)投入;當(dāng)計(jì)算任務(wù)減少時(shí),管理員可適當(dāng)減少計(jì)算節(jié)點(diǎn)投入,從而將更多的計(jì)算資源投入到研發(fā)任務(wù)中。另外,管理員可配置每項(xiàng)計(jì)算任務(wù)占用的計(jì)算節(jié)點(diǎn)數(shù),計(jì)算平臺(tái)在自動(dòng)調(diào)度計(jì)算任務(wù)時(shí),可根據(jù)該設(shè)定自動(dòng)分配集群中的計(jì)算節(jié)點(diǎn)。
1.3.2 平臺(tái)界面設(shè)計(jì)類功能模塊
平臺(tái)界面設(shè)計(jì)類功能模塊主要用于輔助完成網(wǎng)頁界面設(shè)計(jì),方便管理員貼合船舶設(shè)計(jì)人員的計(jì)算需求設(shè)計(jì)網(wǎng)頁界面,方便進(jìn)一步擴(kuò)展計(jì)算平臺(tái)的功能,如耐波性和操縱性計(jì)算等。
1) 變量管理。該功能模塊主要針對數(shù)值評估所需變量,主要分為輸入變量和輸出變量2類。對于輸入變量,管理員需指定其名稱、類型、單位、錄入形式、是否必填、隸屬參數(shù)模塊、范圍和符號表示等關(guān)鍵字段,以便該變量能被準(zhǔn)確調(diào)用;對于輸出變量,管理員需指定其名稱、精度、單位、變量符號表示和計(jì)算表達(dá)式等關(guān)鍵字段。
2) 規(guī)則管理。該功能模塊主要針對平臺(tái)中的3類規(guī)則進(jìn)行設(shè)定和管理。
(1) 計(jì)費(fèi)規(guī)則,用于設(shè)定每項(xiàng)計(jì)算任務(wù)的計(jì)費(fèi)規(guī)則;
(2) 文件下載規(guī)則,用于設(shè)定允許用戶下載的文件類型,如以png、sce等為后綴的文件,方便用戶將其下載到本地計(jì)算機(jī)中;
(3) 幾何模型接受規(guī)則,用于限定每項(xiàng)計(jì)算任務(wù)所需幾何模型的格式,保證平臺(tái)內(nèi)部幾何文件的數(shù)據(jù)格式的一致性。
3) 模板管理。該功能模塊主要用于集成船舶快速性計(jì)算策略,保證平臺(tái)在阻力、敞水和自航計(jì)算方面的精度滿足要求。每種計(jì)算類型(阻力、敞水、自航)對應(yīng)普通計(jì)算模板、續(xù)算模板和后處理模板等3類模板。不同模板所需變量不盡相同,需更新迭代模板中的變量和宏文件進(jìn)行關(guān)聯(lián)。隨著船舶快速性計(jì)算策略的更新迭代,管理員可對現(xiàn)有模板進(jìn)行升級,進(jìn)一步提高計(jì)算精度。另外,在船舶改型優(yōu)化過程中,通常需對大量改型船舶的阻力進(jìn)行評估,需耗費(fèi)較多的時(shí)間。為此,單獨(dú)開發(fā)改型計(jì)算模板,對于船舶改型幅度不大的評估計(jì)算,采用改型計(jì)算模板可降低60%的時(shí)間成本。
4) 參數(shù)模塊管理。該功能模塊用于設(shè)計(jì)不同計(jì)算任務(wù)的網(wǎng)頁界面內(nèi)容,管理員可根據(jù)計(jì)算類型設(shè)定相應(yīng)的參數(shù)模塊,并將同類變量歸并到1個(gè)參數(shù)模塊下。同時(shí),可根據(jù)不同計(jì)算任務(wù)的需求對其在網(wǎng)頁界面上的位置進(jìn)行布置,并改變該參數(shù)模塊與計(jì)算任務(wù)之間的隸屬關(guān)系,以便更好地展示每個(gè)參數(shù)模塊。
5) 數(shù)據(jù)管理。該功能模塊主要用于統(tǒng)計(jì)整個(gè)計(jì)算平臺(tái)中不同類型計(jì)算任務(wù)的數(shù)據(jù),并以工程列表的形式展示。該功能模塊還可作為船舶快速性計(jì)算策略更新迭代的依據(jù),結(jié)合拖曳水池試驗(yàn)數(shù)據(jù)對計(jì)算策略進(jìn)行更新迭代。
需注意的是,以上功能主要是為管理員設(shè)定的,通過管理員層面的設(shè)定滿足普通用戶對便捷操作的需求。對于普通用戶而言,計(jì)算平臺(tái)只開放工程管理功能模塊,用戶只需根據(jù)界面提示,調(diào)用相應(yīng)的計(jì)算模板即可完成數(shù)值評估,并獲取相應(yīng)的計(jì)算結(jié)果。
精確地進(jìn)行數(shù)值評估有利于船舶設(shè)計(jì)人員更好地完成船舶改型優(yōu)化和航速評估。因此,準(zhǔn)確評估船模靜水阻力、螺旋槳敞水特性和船模自航特性至關(guān)重要。
船模靜水阻力計(jì)算策略研究分為網(wǎng)格劃分策略和求解器相關(guān)參數(shù)策略2部分,見圖2。針對網(wǎng)格劃分策略,開發(fā)包含全局網(wǎng)格尺寸、船體邊界層參數(shù)、計(jì)算尺寸、艏艉加密區(qū)域尺寸及網(wǎng)格尺寸、船體附近加密區(qū)域及網(wǎng)格尺寸、自由液面加密區(qū)域及網(wǎng)格尺寸等眾多參數(shù)的策略;針對求解器相關(guān)參數(shù)策略,開發(fā)包含時(shí)間步長、邊界條件、湍流模型和離散格式等眾多參數(shù)的策略。詳細(xì)內(nèi)容見船舶靜水阻力計(jì)算策略研究報(bào)告。
對于螺旋槳敞水計(jì)算策略,通過參考相關(guān)文獻(xiàn)和總結(jié)計(jì)算經(jīng)驗(yàn),從幾何部件尺寸策略、網(wǎng)格劃分策略和求解器相關(guān)參數(shù)策略等3個(gè)方面進(jìn)行開發(fā),見圖3。
1) 幾何部件尺寸策略主要研究螺旋槳布置形式、計(jì)算區(qū)域尺寸、轉(zhuǎn)子區(qū)域尺寸和加密區(qū)域尺寸對計(jì)算精度的影響;
2) 網(wǎng)格劃分策略主要研究全局網(wǎng)格尺寸、螺旋槳槳葉表面網(wǎng)格尺寸、邊界層網(wǎng)格尺寸和加密區(qū)域網(wǎng)格尺寸對計(jì)算精度的影響;
3) 求解器相關(guān)參數(shù)策略主要研究時(shí)間步長、離散格式、邊界條件和湍流模型對計(jì)算精度的影響。
這部分的詳細(xì)內(nèi)容見螺旋槳敞水計(jì)算策略研究報(bào)告。
船模自航計(jì)算策略開發(fā)需綜合考慮船模靜水阻力計(jì)算策略和螺旋槳敞水計(jì)算策略,在進(jìn)行自航數(shù)值評估時(shí)需模擬船、槳、舵干擾下的流體流動(dòng)情況,船模自航數(shù)值評估的準(zhǔn)確性直接關(guān)系到自航點(diǎn)的獲取,對航速評估有重要影響。為此,結(jié)合船模靜水阻力和螺旋槳敞水部分的網(wǎng)格策略,針對求解器進(jìn)行計(jì)算策略開發(fā),對時(shí)間步長、時(shí)間項(xiàng)的離散格式、邊界條件和湍流模型進(jìn)行研究,詳細(xì)內(nèi)容見船模自航計(jì)算策略研究報(bào)告。
計(jì)算平臺(tái)中數(shù)值評估精度的可信度是用戶最關(guān)切的核心問題。為此,采用大量常規(guī)模型試驗(yàn)數(shù)據(jù)對船舶快速性計(jì)算策略的有效性進(jìn)行驗(yàn)證。
針對船模靜水阻力策略的有效性驗(yàn)證,從數(shù)值水池大子樣數(shù)據(jù)庫中隨機(jī)抽取19艘常規(guī)主力船型得到52個(gè)計(jì)算樣本,其中,散貨船的比例為42.1%,油船的比例為26.3%,集裝箱船的比例為31.6%。這些船型的垂線間長、方形系數(shù)和弗勞德數(shù)的分布情況見圖4。
圖4 船舶Lpp、Cb和Fr的分布情況
表1為船模靜水阻力計(jì)算策略的總體誤差分布情況,其中:誤差介于-3%~<-2%的占3.8%;誤差介于-2%~<-1%的占17.4%;誤差介于-1%~<1%的占51.9%;誤差介于1%~<2%的占11.5%;誤差介于2%~3%的占15.4%。
表1 船模靜水阻力計(jì)算策略的總體誤差分布情況
對于螺旋槳敞水計(jì)算策略有效性驗(yàn)證,同樣從數(shù)值水池大子樣數(shù)據(jù)庫中隨機(jī)抽取20個(gè)螺旋槳。圖5為螺旋槳槳葉數(shù)、直徑和螺距比的分布情況,其中:四葉槳占80%,五葉槳占15%,六葉槳占5%;螺旋槳直徑小于0.18 m的占25%,螺旋槳直徑介于0.18~<0.20 m的占10%,螺旋槳直徑介于0.20~<0.22 m的占20%,螺旋槳直徑介于0.22~<0.24 m的占35%,螺旋槳直徑大于等于0.24 m的占10%;<0.7的占15%,介于0.7~<0.8的占35%,介于0.8~<0.9的占35%,介于0.9~<1.1的占10%,≥1.1的占5%。
圖5 螺旋槳槳葉數(shù)、D和P/D的分布情況
表2為螺旋槳敞水計(jì)算策略的總體誤差分布情況。在螺旋槳推力精度方面,誤差介于-3%~<-2%的占15.8%,誤差介于-2%~<-1%的占10.5%,誤差介于-1%~<1%的占47.4%,誤差介于1%~<2%的占15.8%,誤差介于2%~3%的占10.5%;在螺旋槳扭矩精度方面,誤差介于-3%~<-2%的占10.5%,誤差介于-2%~<-1%的占5.3%,誤差介于-1%~<1%的占31.6%,誤差介于1%~<2%的占31.6%,誤差介于2%~3%的占21.1%。
表2 螺旋槳敞水計(jì)算策略的總體誤差分布情況
對于船模自航計(jì)算策略有效性驗(yàn)證,考慮到船模自航需消耗大量的計(jì)算成本,特別是在獲取單一航速下的自航點(diǎn)時(shí),需通過2個(gè)或2個(gè)以上螺旋槳轉(zhuǎn)速進(jìn)行插值獲取,從數(shù)值水池大子樣數(shù)據(jù)庫中隨機(jī)抽取6艘船舶驗(yàn)證船模自航計(jì)算策略的有效性,其中,油船2艘,集裝箱船2艘,散貨船2艘。圖6為這6艘船舶的、和的分布情況。
圖6 船模自航計(jì)算策略船舶Lpp、Cb和Fr分布情況
表3為船模自航計(jì)算策略的總體誤差分布情況。在螺旋槳推力精度方面,誤差介于-3%~<0%的有4艘,誤差介于0%~<3%的有2艘;在螺旋槳扭矩精度方面,誤差介于-5%~-<3%的有1艘,誤差介于-3%~<0%的有1艘,誤差介于0%~<3%的有4艘。
表3 船模自航計(jì)算策略的總體誤差分布情況
基于大子樣數(shù)據(jù)庫的船模試驗(yàn)結(jié)果表明,提出的船舶快速性計(jì)算策略能滿足工程應(yīng)用的精度要求,利用計(jì)算平臺(tái)的模板功能模塊將該策略集成到計(jì)算平臺(tái)中,方便普通用戶調(diào)用。
下面以國際標(biāo)模KCS船為例,展示該計(jì)算平臺(tái)的特點(diǎn)。用戶登錄計(jì)算平臺(tái)并創(chuàng)建工程之后,只需上傳船舶幾何文件、填寫船型基本信息(見圖7),并點(diǎn)擊運(yùn)行計(jì)算即可,計(jì)算平臺(tái)會(huì)基于船舶快速性計(jì)算策略模板,自動(dòng)實(shí)現(xiàn)計(jì)算域設(shè)定、網(wǎng)格劃分和求解計(jì)算。
圖7 計(jì)算參數(shù)配置
待計(jì)算完成之后,用戶可選擇進(jìn)行后處理操作。計(jì)算平臺(tái)集成有通用版后處理模板,提供有豐富的后處理結(jié)果,包括船行波、船體表面壓力分布、船身貼體流線、槳盤面伴流、槳盤面矢量圖、船身伴流和縱切波等,見圖8和圖9。
圖8 船行波、船體表面壓力分布和船身貼體流線后處理結(jié)果
d) 縱切波
若計(jì)算平臺(tái)生成的后處理結(jié)果不滿足用戶的需求,用戶還可根據(jù)平臺(tái)的用戶自定義功能,自行定義后處理結(jié)果中的相關(guān)變量(見圖10),重新生成后處理結(jié)果。
圖10 后處理結(jié)果自定義(船行波)
本文基于B/S架構(gòu)搭建了船舶快速性計(jì)算平臺(tái),同時(shí)設(shè)置了10個(gè)功能模塊滿足船舶設(shè)計(jì)人員的應(yīng)用需求。為保證船舶快速性計(jì)算的精度,開展了船舶快速性計(jì)算策略研究,并通過數(shù)值水池大子樣數(shù)據(jù)庫中的試驗(yàn)數(shù)據(jù)對該策略的有效性進(jìn)行了驗(yàn)證,最終通過國際標(biāo)模KCS船展示了該船舶快速性計(jì)算平臺(tái)的特點(diǎn),主要得到以下結(jié)論:
1) 計(jì)算平臺(tái)設(shè)計(jì)充分考慮了船舶設(shè)計(jì)人員的應(yīng)用場景,最大程度貼合用戶需求,簡化用戶操作;
2) 船舶快速性計(jì)算平臺(tái)操作便捷,基于導(dǎo)入的船型參數(shù)和幾何文件,一鍵式自動(dòng)劃分網(wǎng)格,設(shè)置求解器相關(guān)參數(shù)并完成計(jì)算;
3) 開發(fā)的船舶快速性計(jì)算策略能覆蓋三大主力船型,經(jīng)過大子樣數(shù)據(jù)庫中的試驗(yàn)數(shù)據(jù)驗(yàn)證,大部分計(jì)算結(jié)果都能滿足工程精度的需求;
4) 計(jì)算平臺(tái)提供了豐富的后處理功能,如網(wǎng)格、船行波、船體表面壓力分布、船身貼體流線、槳盤面伴流、槳盤面矢量圖、船身伴流和縱切波等,能滿足船舶設(shè)計(jì)人員日常工作中對各種數(shù)據(jù)后處理的需求;
5) 在設(shè)計(jì)計(jì)算平臺(tái)初期就充分考慮了擴(kuò)展性,在計(jì)算機(jī)硬件和計(jì)算策略允許的情況下,可進(jìn)一步擴(kuò)展計(jì)算平臺(tái)的功能,如耐波性和操縱性等。
本文提出的船舶快速性計(jì)算平臺(tái)能極大地簡化船舶設(shè)計(jì)人員的操作,使其能將更多精力放在船型優(yōu)化上,但從計(jì)算策略驗(yàn)證過程來看,船模靜水阻力和螺旋槳敞水的精度為±3%,而船模自航的精度為±5%,仍有一定的提升空間。后續(xù)將基于該計(jì)算平臺(tái),結(jié)合船模試驗(yàn)數(shù)據(jù)進(jìn)一步更新迭代船舶快速性計(jì)算策略,為船舶設(shè)計(jì)人員提供更精確的數(shù)值評估結(jié)果。