徐乙人, 孫楠楠, 曹恒超, 趙炬穎, 李永健
(1.清華大學 摩擦學國家重點實驗室,北京 100084;2.濰柴動力股份有限公司,山東 濰坊 261061)
迷宮密封是一種非接觸式密封,其在轉子和靜子之間設置依次排列環形密封齒,因此產生節流和減漏效果。[1]迷宮密封具有結構簡單、工作穩定、成本低、壽命長等優點,不僅在透平機械的流路密封中大量應用,而且常用被用作滑油腔的軸端密封。[2]在迷宮密封設計中,泄漏量計算和流場分析非常重要,早期設計人員一般基于經驗公式計算迷宮密封的泄漏量。隨著商用計算流體力學(computational fluid dynamics, CFD)軟件的發展,越來越多的商用CFD軟件可對迷宮密封開展仿真計算,例如:肖芳等[3]基于FLUENT開展迷宮密封的結構優化研究;金秋穎等[4]使用FLOW-3D軟件研究液體靜壓支撐系統中迷宮密封對系統承載能力的影響;IVANOV等[5]使用CFX軟件分析渦輪泵迷宮密封的槽形參數對渦流形狀、大小和數量的影響。雖然基于通用商業CFD軟件能夠進行迷宮密封分析計算,但存在建模計算過程費時、結果正確性依賴建模過程等問題,而開發專用的迷宮密封參數化分析計算軟件能顯著提升仿真計算效率。
迷宮密封的流體域為軸對稱回轉結構,因此可采用二維軸對稱幾何模型對迷宮密封流體域進行幾何建模。根據實際需要,迷宮密封參數化軟件應具備對直通型、交錯型[6]和端面交錯型等3類常用迷宮密封進行分析計算的能力。這3種迷宮密封的流體域二維軸對稱幾何模型見圖1,圖中各符號的具體含義見表1。

(a)直通型

表 1 3類典型迷宮結構幾何參數具體含義
流體力學仿真分析一般包含前處理、求解計算和后處理等3個方面的工作。建立幾何模型是前處理中的一項重要工作,要求能夠由用戶自主地設置流體域的幾何參數,以快速生成所需的流體域幾何模型。在成功生成流體域幾何模型的基礎上,軟件還應具備識別邊界條件類型、劃分網格、設置入口出口壓力、設置流體介質物性參數等前處理功能。在進行幾何建模和網格劃分時,用戶應能夠方便地觀察幾何建模結果和網格劃分結果,以便于修改完善模型。流體物性參數包括密度、溫度和黏度等,空氣應設為可選介質類型,并且默認的空氣物性須滿足理想氣體狀態方程,從而保證流體域壓力顯著高于標準大氣壓時仿真計算結果仍然正確。完成上述前處理工作后,軟件應能方便地提交計算并獲得迷宮密封的泄漏量、壓力場和速度場等計算結果。計算結果應進行可視化處理,以便于用戶觀察壓力云圖、速度矢量圖和速度大小云圖等。
此外,迷宮密封幾何參數的優化篩選也是迷宮密封設計工作的常見問題。賈文聰等[7]利用Design-Expert和FLUENT軟件開展高速齒輪箱迷宮密封的參數優化。軟件的參數優化篩選功能要求能夠自動對多組幾何參數進行計算分析,并能自動篩選最優的一組參數,從而快速確定設計參數。
根據功能要求,軟件須具備流體域網格劃分和流場求解計算功能。流體域網格劃分涉及復雜算法,而流場計算涉及求解大型方程組,因此從底層開發網格劃分和流場求解程序的難度極高、工作量極大,有必要借助成熟的流體力學仿真平臺開發迷宮密封分析軟件。常見的流體力學仿真平臺有FLUENT、CFX、FLOW-3D和COMSOL等,這些仿真軟件均能實現迷宮密封流場仿真分析。COMSOL是多物理場仿真計算平臺[8-9],該平臺基于有限元法進行流場求解計算,提供便捷的軟件開發環境,使用戶能夠在仿真模型的基礎上快速開發仿真軟件,如唐麗媛等[10]利用COMSOL開發主動式聲誘餌仿真系統。
作為仿真計算平臺,COMSOL包含幾何建模、網格劃分、邊界條件設置、求解計算、可視化顯示等一系列功能完備的流場仿真工具,并且集成軟件開發功能,提供界面制作和代碼編寫環境。基于COMSOL進行軟件開發時,不需要依賴通用的軟件開發平臺,可避免多個軟件平臺之間的程序交互調用和數據傳遞等工作,因此基于COMSOL進行迷宮密封分析軟件開發可顯著節約時間。
若迷宮密封流體域幾何模型的特征要素保持不變,僅幾何尺寸、出入口壓力等參數改變,則可基于COMSOL仿真分析平臺快速生成計算軟件。迷宮密封分析軟件涉及3種不同類型的迷宮密封,且迷宮密封的齒數不固定,導致流體域幾何模型的特征要素復雜多變,邊界條件難以與幾何要素保持協調一致。此外,在進行幾何建模、邊界條件設置和網格劃分時,應允許用戶分步完成,以便確認模型的正確性。基于上述需求,設計參數化求解計算步驟,見圖2。關鍵步驟被封裝在一系列方法中,當操作者點擊按鈕時,軟件調用一個或多個方法完成相應的建模或計算工作。

圖 2 參數化求解計算步驟
按圖2流程實現迷宮密封參數化流場仿真計算是軟件開發中的關鍵工作,此外還需完成界面設計、交互設計和數據結果顯示等。
幾何建模由calculateGeo( )、checkGeo( )和refreshGeo( )等3個方法實現,其中calculateGeo( )方法能夠基于用戶設置的幾何參數計算流體域截面輪廓的頂點坐標。在迷宮密封齒數變化時,流體域幾何頂點和線段的數量會相應變化,但更新幾何模型時不宜改變頂點和線段的數量,以避免模型邊界條件與幾何要素的對應關系出現錯誤。針對該問題,將流體域幾何輪廓的頂點給定為較大數值,當齒數較少時,將多余的頂點移動至同一線段上,這時僅有部分頂點直接體現在幾何模型中,另一部分頂點被隱藏,從而可在保持線段數量不變的前提下改變齒數。
在本文軟件開發過程中,將流體域截面的頂點總數設置為88,對應直通型迷宮密封的最大迷宮齒數為21。當用戶設定的迷宮密封齒數為3時,可將其中4×(21-3)=72個頂點放置在同一線段上,最終流體域幾何輪廓中僅會出現3個迷宮齒。采用這種方法,迷宮密封流體域幾何模型中入口和出口邊界對應頂點的序號保持不變,便于設置邊界條件。
當直通型迷宮密封齒數為3和5時,幾何模型的頂點位置和頂點序號見圖3。入口邊線對應的頂點均為A0和A1,出口邊線對應的頂點均為A86和A87。交錯型迷宮密封的幾何建模問題按類似方法處理。

(a)3個迷宮齒
在完成頂點坐標計算的基礎上,將坐標點依次連接即可獲得流體域的輪廓線,通過COMSOL幾何建模功能中的“創建多邊形”命令創建幾何輪廓。創建多邊形等關鍵命令可通過COMSOL中的“代碼錄制”功能獲取,該建模過程通過APP開發器編寫在refreshGeo( )方法中,對應的Java代碼如下。
model.component("comp1").geom("geom1").create("pol1","Polygon");
with(model.component("comp1").geom("geom1").
feature("pol1"));
set("source", "table");
for (int i = 0; i <= N; i++) {
setIndex("table", Ax[i], i, 0);
setIndex("table", Ay[i], i, 1);}
set("type", "closed");
set("type", "solid");
endwith();
checkGeo( )方法用于檢查流體域幾何數據的協調性,例如當計算得到的迷宮槽底寬度值小于0時程序將自動報錯。
使用COMSOL中的“網格劃分”命令實現網格自動劃分,通過“代碼錄制”功能獲取的網格劃分命令代碼如下。
model.component("comp1").mesh("mesh1").autoMeshSize(meshSize);//網格尺寸因子設置為meshSize
model.component("comp1").mesh("mesh1").automatic(true);
model.component("comp1").mesh("mesh1").run();//執行劃分網格
useGraphics(model.component("comp1").mesh("mesh1"), "");
message("——劃分網格完成。");
在軟件代碼中,迷宮密封網格劃分對應的函數名為refreshMesh( ),雖然該方法僅包含5行Java代碼,但可實現按用戶給定的尺寸要求完成自動網格劃分的功能。“meshSize”為網格尺寸設置,其數值越大,則劃分的網格越粗大,其數值越小,則網格越細密。
平臺默認的邊界條件為“壁”邊界,模型中除入口和出口之外的邊界均為“壁”邊界條件,因此僅對入口和出口邊界條件進行設置即可。程序應識別入口和出口邊界對應的線段,并按用戶設定的數值定義流場入口和出口的壓力或流速。在模型編輯器環境中,可由用戶手動選取入口和出口對應的邊界線段,但在分析軟件中須通過程序代碼自動識別入口和出口對應的線段。流體域外輪廓線為封閉的多個線段,COMSOL自動為每個線段賦予整數序號,并且按線段頂點坐標值的大小進行編號。因此,編寫線段頂點坐標比較程序,自動獲取入口和出口邊界線段的序號,實現入口和出口邊界條件自動設置。設置邊界條件的關鍵程序代碼如下。
if (onBCsPressure == true) //定義入口和出口壓力
{
model.component("comp1").physics("spf").feature("inl1"). set("BoundaryCondition", "Pressure");
model.component("comp1").physics("spf").feature("inl1").set("p0", PressureInlet); //入口壓力
model.component("comp1").physics("spf").feature("out1").set("p0", PressureOutlet); //出口壓力
}
model.component("comp1").physics("spf").feature("inl1").selection().set(inletIndex); //選擇入口對應的邊
model.component("comp1").physics("spf").feature("out1").selection().set(outletIndex); //選擇出口對應的邊
message("——邊界條件加載完成。");
迷宮密封分析軟件僅需計算穩態條件下的流場,因此在求解計算時采用穩態控制方程。選擇常用的k-ε湍流模型,同時在計算穩定性選項中勾選“流線擴散”和“迎風擴散”選項,在求解器設置中選擇分離式穩態求解器。經驗證,按上述條件設置模型和求解器后,出現計算不收斂的概率很低。上述代碼位于analysis( )方法中,運行該方法后模型自動完成前述設置并提交計算。
根據仿真分析工作中的實際需求,軟件須具備對多組迷宮密封參數自動尋優的功能。解決方案如下:首先,將用戶給出的多組參數存儲在二維數組中;然后,依次計算各組參數對應的泄漏量;最后,通過泄漏量數據自動對比,篩選出泄漏量最小的一組參數。在尋優計算完成后,軟件自動選定最優的一組參數完成計算,然后將篩選得到的最優參數及相應結果呈現給用戶。
COMSOL的APP開發器不僅提供窗體、按鈕、輸入框、復選框、標簽、下拉框等常見的軟件開發控件,還提供可直接賦值各種數據的顯示組件。這些顯示組件不僅可對模型的幾何、網格、壓力云圖、速度矢量圖進行顯示,還能實時顯示求解器計算過程信息和自定義提示信息,可為軟件界面設計和云圖顯示功能開發提供極大便利。軟件的主界面見圖4,主界面的左側為參數輸入區,中間位置為可視化顯示區,右側為信息輸出區。

圖 4 軟件的主界面
某試驗用迷宮密封結構參數見圖5,該迷宮密封為直通型,包含3個迷宮齒槽和2個完整的迷宮齒,迷宮齒槽兩側的泄漏間隙與齒頂處間隙相同。在常溫下通過試驗測量該迷宮密封結構的空氣泄漏量,通過調節閥將迷宮密封上游側壓力設置為3 kPa,迷宮密封下游側的壓力為標準大氣壓,利用渦街空氣流量計測量該迷宮密封的空氣泄漏量,試驗測得的空氣體積流量為52.4 m3/h。

圖 5 試驗用迷宮密封結構參數,mm
按圖5所示的幾何參數在開發的軟件中設置迷宮密封參數,見圖6。需要說明的是,迷宮密封的進口段和出口段寬度與密封間隙均為0.75 mm,使得兩端的迷宮齒僅體現為斜面,因此雖然圖5中僅呈現2個完整的迷宮齒,但須在軟件中將齒數設置為4,同時將入口寬度和出口寬度設置為“對齊齒頂”即可。采用多個網格因子進行網格自動劃分并對結果進行比較,網格因子設置為8最合適。

圖 6 密封參數設置
在完成參數設置后,點擊“一鍵運行”按鈕提交計算,計算完成后體積流量和質量流量會自動顯示在信息窗口中。該算例計算得到的體積流量值為48.2 m3/h,與試驗測量值相差8%,低于一般精度要求(15%)。計算獲得的迷宮密封流體域壓力云圖、速度云圖和速度矢量圖見圖7。這些可視化的計算結果可將迷宮密封的流場特征清晰、直觀地呈現給使用者。

(a)壓力云圖,103 Pa
從迷宮密封分析軟件的功能要求出發,制定基于COMSOL的軟件開發方案,針對軟件開發過程中的幾何模型定義、網格劃分、計算收斂性和自動參數尋優等問題,給出有效解決方法,充分利用COMSOL平臺提供的建模工具、求解器和軟件開發環境,高效完成軟件開發工作。測試驗證結果表明,該軟件使用方便、計算結果準確,能夠滿足迷宮密封分析計算工作的需要。