周清華,肖蕾,耿厚才
(江南造船(集團)有限責任公司,上海 201913)
VB.NET和NASTRAN混合編程在船體梁振動計算中的應用
周清華,肖蕾,耿厚才
(江南造船(集團)有限責任公司,上海 201913)
以Visual Studio.NET為開發平臺,基于VB.NET和NASTRAN采用混合編程的方法開發適用于方案設計階段的船體梁振動計算軟件。通過圖形化用戶界面控制參數的選擇和輸入實現船體梁垂向振動經驗估算、附連水質量計算、一維梁有限元模型的參數化建模、后臺調用NASTRAN計算船體梁垂向和水平振動,以及固有頻率和模態振型自動提取等功能。以35 000 m3液化乙烯運輸船為例,對比軟件計算值與經驗估算值和整船三維有限元分析值,結果表明,該軟件對于低階船體梁振動計算具有良好的可靠性和實用性。
VB.NET;NASTRAN;一維梁;模態分析;垂向振動
船體振動水平直接影響到人員的舒適性、設備的可靠性以及結構的安全性,船舶振動預報與減振降噪已成為船東、船廠和船級社亟待解決的難題。方案設計階段作為船體總振動控制的最佳階段,在確定船舶尺度、裝載和推進方案時需考慮避開主船體的低階共振。如何準確地獲得船體梁自由振動特性,對于采取合理的設計方案和減振措施,避免船體梁與主要激勵源發生共振是至關重要的。
目前船體梁的振動計算方法主要有經驗估算法和數值解法。經驗估算法基于實測數據統計分析,適用于剖面慣性矩、質量分布等重要參數尚未確定的合同設計階段,可為方案設計提供參考[1];在數值解法中,計及流固耦合的三維有限元方法主要用于詳細設計階段的強迫振動響應評估,計算精度較高,但數據大,耗時多,難以在一般工程設計中應用[2]。船舶是由板梁組合而成的空心薄壁箱型結構,工程上常將船體簡化為梁模型,運用遷移矩陣法或一維梁有限元法計算船體梁低階振動的固有頻率,不同計算方法的計算結果是非常接近的[3]。其中,一維梁有限元法將船體梁有限元離散化為多自由度振動方程,采用有限元分析程序進行模態分析。該方法簡單實用,但要求技術人員具備相關的力學知識和操作技能。為了減少在模型創建、參數定義和分析設置等前處理階段花費過多的時間和精力,提高船舶振動性能評估的自動化程度,筆者基于一維梁有限元法,將NASTRAN強大的模態分析功能和Visual Basic.NET(簡稱VB.NET)在圖形化用戶界面設計的優勢相互結合,開發一款操作簡單、實用性強的船體梁振動計算軟件(HGVAS)。
本軟件主要分為3個功能模塊:船體梁垂向振動經驗估算、附連水質量計算和一維梁有限元分析,計算工作流程見圖1。
1.1 船體梁垂向振動固有頻率經驗估算
基于均直梁的彎曲理論,采用經驗公式估算首階垂向振動固有頻率,主要經驗公式如下。
(1)
(2)
(3)
(4)
式中:fv為首階垂向振動頻率,Hz;Iv為船舯剖面慣性矩,m4;Δ為排水量,t;L為船長,m;C為統計系數;B為型寬,m;D為型深,m;ΔV為包括附連水質量的船舶總質量,t;α,β為船型修正系數;f0為母型船的船體固有頻率;I0、Δ0和L0為母型船的舯剖面慣性矩、包括附連水質量在內的船體總質量與船長。
二階及以上垂向振動固有頻率為
(5)
式中:一般貨船k=0.845,散貨船k=1.0,油船k=1.02;i為船體梁振動階數。
1.2 附連水質量計算
船體梁的質量由船舶的有效質量與附連水質量兩部分構成。船舶的有效質量包括船體結構的凈質量與船上貨物、油水及設備等質量。附連水質量采用劉易斯圖譜法計算。在軟件中,采用等效密度的形式將船體梁的質量平攤至各段船體梁。
前5階總振動各個剖面處單位長度上的附連水質量分別為[4]
垂向振動mav=0.5πavCvKiρb2
(6)
水平振動mah=0.5πahChKiρd2
(7)
式中:av為淺水修正系數;ah為狹航道修正系數;Cv、Ch為垂向、水平振動時的附連水質量修正系數;Ki為三維流動修正系數;ρ為海水密度,t/m3;b、d為計算剖面處的水線半寬和吃水,m。
1.3 一維梁有限元法
一維梁有限元法把船體梁離散為若干個通過節點連接的梁單元,對第n段梁建立平衡方程式[5]
(8)
將梁單元的質量等效到兩端節點,形成節點質量矩陣mi、mj,利用達朗貝爾原理考慮慣性力;將外力等效至兩端節點,形成節點外載荷Pi、Pj。第j個節點的平衡方程式為
(9)
組合所有節點的平衡方程式,代入式(8)可得船體梁一維梁有限元分析的振動控制方程
(10)
式中:M、K為船體梁總質量矩陣、總剛度矩陣。
解式(10)可求得船體梁的圓頻率ω和振型。
NASTRAN提供了兩種質量矩陣形式,即集中質量矩陣和耦合質量矩陣。相比于集中質量矩陣,采用耦合質量矩陣的梁單元既有平動分量,又有轉動分量,計算結果更加精確。NASTRAN默認的質量矩陣為集中質量,在模型文件中寫入PARAM,COUPMASS,1即可選擇耦合質量矩陣。
2.1 VB.NET參數化建模
采用參數化建模方式創建一維梁有限元模型,由于計算考慮了前3階垂向和水平振動,需創建1個干模態和6個濕模態計算模型,濕模態模型文件可以基于附連水質量計算的結果自動生成。VB.NET文件的輸入或輸出是通過流來實現,System.IO名稱空間提供了用于文件和流操作的各種類型[6]。在軟件中主要利用Directory類、File類和StreamWriter類,實現目錄建立、文件建立和字符寫入等操作,主要方法如下。
2.1.1 創建模型文件
1)利用Directory.CreateDirectory方法在程序當前路徑下建立目錄,用于存放模型文件,以便數據管理。
代碼如下:
Directory.CreateDirectory(Application.StartupPath & "vib_model")
2)創建一個文件流sw,該對象在上述目錄下利用File.CreateText方法創建模型文件。
代碼如下:
Dim sw As StreamWriter=File.CreateText(path_dryM)
2.1.2 寫入模型數據
利用StreamWrite.WriteLine方法向文本流中寫入模型數據,包括分析控制參數、單元類型和屬性、材料屬性和單元節點位置信息。
部分代碼如下。
Using (sw)
sw.WriteLine("SOL 103")
……
sw.WriteLine("ENDDATA")
2.2 VB.NET調用NASTRAN
1)調用NASTRAN求解。VB.NET中有豐富的函數調用功能,允許用戶不但可以調用內部函數,還可與基于Windows的應用程序無縫集成,利用Shell函數實現后臺調用NASTRAN求解。其中,path_nastran為NASTRAN執行文件的安裝路徑,AppWinStyle.NormalFocus為指定NASTRAN后臺運行時的窗口樣式。
代碼如下:
Shell("path_nastran&" "&path_dryM", AppWinStyle.NormalFocus)
2)判斷NASTRAN計算是否結束。通過判斷是否存在臨時文件.aeso,檢查NASTRAN是否運行完畢,部分代碼如下。
Do
If (Not File.Exists(drym.aeso)) Then
File.Delete(Application.StartupPath & "drym.DBALL)
End If
Loop Until File.Exists(Application.StartupPath & "drym.DBALL)=False
2.3 VB.NET后處理
1)提取固有頻率。使用StreamReader類的ReadLine方法逐行讀取結果文件,并將相關數據存入相應變量中。
部分代碼如下:
Dim sr_drym As StreamReader=New StreamReader(Application.StartupPath& "drym.f06")
row0_drym=sr_drym.ReadLine()
2)圖形繪制模態振型。模態振型的繪制分為兩步:
①創建Graphics對象,即建立一塊畫布。
部分代碼如下:
Form1.PictureBox1.Image=Nothing
Dim bm1 As New Bitmap(wid1, hgt1)
Dim g1 As Graphics=Graphics.FromImage(bm1)
②使用Graphics對象提供的DrawLine、DrawString、DrawCurve等方法繪制直線、曲線、標注文字等。
部分代碼如下:
g1.DrawLine(pen,30,100,290,100)
g1.DrawString("z",f,Brushes.Black,0,90)
g1.DrawCurve(pen,Points_v1)
部分窗口界面見圖2和圖3。
選取江南造船(集團)有限責任公司自主研發設計和建造的35 000 m3液化乙烯運輸船為應用對象,實船主要參數如下:垂線間長176 m;船寬29.6 m;型深19.4 m;結構吃水11.0 m;設計航速16 kn,以滿載出港為計算工況。在進行比較分析時,選取了較為精確的整船三維有限元法,其計算模型和典型垂向振動振型見圖4和圖5。表1為考慮了附連水質量的垂向振動計算結果。
對于本例中的垂向振動,經驗估算法的計算結果離散度較大,這是由目標船型的特點而造成的,剛度和重量分布與經驗公式的統計船型有所不同,因而導致結果存在差別。以均值為比較對象,HGVAS計算的前3階頻率與之偏差分別為2.46%、3.91%和6.78%。計算結果表明,一階頻率的計算結果最為接近,隨著振動階數的增加,偏差逐漸增大。這是由于高階振動時節點的間距逐漸減小,已接近或小于船寬,梁橫截面發生翹曲,此時不僅要考慮彎曲變形,還應考慮剪切滯后效應的影響。剪切滯后效應導致構件有效寬度減小,船體梁彎曲剛度下降,并且隨著振動階數的上升而明顯增加[7]。由于HGVAS未考慮剪切滯后效應的影響,致使其一階以上固有頻率的計算值均略高于均值和三維有限元分析值。

表1 垂向振動計算結果比較
利用VB.NET和NASTRAN混合編程,設計開發了一套界面友好、操作簡單、計算快速、結果直觀的船體梁振動計算軟件,實現了計算參數的交互輸入和分析結果的可視化輸出,技術人員無需專業的有限元知識即可運用該軟件完成低階船體梁總振動計算,且前三階固有頻率的計算誤差在7%以內,可以滿足工程應用的要求,并有效地提高船體梁振動分析的自動化程度。
[1] 趙耕賢.船舶與海洋結構物設計中的關鍵技術之一:—船舶振動[J].船舶,2001,10(5):34-42.
[2] 翁長儉.我國船舶振動沖擊與噪聲研究近年進展[J].中國造船,2001,42(3):68-84.
[3] 王慧彩,趙德有.用有限元法計算船體總振動時剛度陣奇異處理分析[J].中國海洋平臺,2003,18(2):5-8.
[4] 中國船級社.船上振動控制指南[K].北京:人民交通出版社,2000.
[5] 陳志堅.艦艇振動學[M].北京:國防工業出版社,2010.
[6] DEITEL H M, DEITEL P J, NIETO T R. Visual Basic.NET高級程序員指南[M].周靖,譯.北京:清華大學出版社,2003.
[7] 李志強,趙德有,居樺樺.考慮剪切滯后影響的平面Timoshenko梁振動特性研究[J].中國海洋平臺,2007,22(5):19-21.
Development and Application of Hull Girder Vibration Calculation Software Based on VB.net and NASTRAN
ZHOU Qing-hua, XIAO Lei, GENG Hou-cai
(Jiangnan Shipyard (Group) Co., Ltd., Shanghai 201913, China)
A hull girder vibration calculation software applied to the initial design stage was developed by VB.NET and NASTRAN mixed programming approach based on Visual Studio.NET platform. It’s convenient for user to input and select the relevant control parameters in the graphical user interface. The functions include hull girder vertical vibration empirical formula estimate, added mass calculation, one-dimensional beam finite element model parameter modeling, hull girder vertical and horizontal vibration calculation using NASTRAN, natural frequency and modal shape automatically extract. A 35 000 m3LEG carrier was taken as the research object, the calculated values using the software were compared with the ones of empirical formula method and global finite element analysis method, indicating that the software is reliable and applicable for the low order hull girder vibration analysis.
VB.NET; NASTRAN; one-dimensional beam; modal analysis; vertical vibration
10.3963/j.issn.1671-7953.2017.02.016
2016-08-08
周清華(1984—),男,工學碩士,工程師
U661.44
A
1671-7953(2017)02-0069-04
修回日期:2016-09-08
研究方向:艦船環境載荷和結構安全性評估