离心泵CAE_3_FLUENT数值模拟
針對本科畢設中所涉及到的離心泵數值分析和性能計算,將用最簡單粗暴的方法,講解如何基于CFturbo、ICEM、FLUENT來開展離心泵水力設計和性能分析的計算機輔助(CAE)實現。離心泵的水力設計由CFturbo軟件實現;網格剖分由ICEM軟件實現;CFD數值計算由FLUENT軟件實現;并驗證設計值是否達到。
這里是第三部分,FLUENT軟件實現泵內流動的數值模擬,并對模擬結果進行分析,驗證設計值是否達到參數要求。
1 讀入網格
先新建個文件夾作為FLUENT的工作目錄,并把之前畫好的三個網格文件fluent_in.msh、fluent_imp.msh、fluent_vol.msh全部拷進去。
打開FLUENT軟件,在Fluent Launcher中設置Dimensions維數選3D三維,因為咱們是三維網格;
Options勾選Double Precision雙精度,現在也沒誰拿單精度Real算了,畢竟單精度計算誤差太大了;
Processiong Options處理器選項,可選Serial單核串行和Parallel多核并行,我這破機子,也只能Serial單核計算了;
在Working Directory工作目錄中指定到剛才新建的文件夾,即可確定FLUENT的工作目錄跟它相關了。
再次確認設置參數后,OK確定打開FLUENT。
讀入網格,File->Read->Mesh,在打開的工作目錄中,可發現有三個剛才放進去的網格文件,先打開fluent_imp.msh葉輪流道網格文件。
讀入完畢后,點左上方Display查看下網格是否正確。
在Mesh Display窗口,可選擇Surfaces中的面來逐個查看是否有錯誤,注意別選int_body_imp,這是內部區域的網格面,選上的話數量非常大,顯示起來極有可能把機子卡死,當然你機子好的話,就當我沒說。
再把進口延長段的網格讀進來,只是這次不能再用read mesh了,要用Setting Up Domain中的Zones中的Append下的Append Case File…,即再附加上另一個區域的方式來讀入新的網格。
選擇fluent_in.msh文件,OK讀入。
同樣的方式,把fluent_vol.msh也添加進來,Display一下看看,確定各個面都是正確的。
2 縮放網格
ICEM輸出的網格長度單位是毫米mm,FLUENT讀入網格的長度單位是m,兩者差了1000倍,所以要進行縮放的操作,不然的話,雷諾數就差了1000倍,結果完全不靠譜了。
Setting Up Domain -> Mesh -> Transform -> Scale…,打開網格縮放窗口。
在Scale Mesh窗口中,選擇Mesh Was Created In網格是用mm毫米創建的,然后點擊Scale來縮放,可看到左上方的區域范圍的值都變小了1000倍,縮放成功,Close關閉Scale Mesh窗口即可。
Setting Up Domain -> Mesh -> Info -> Size,查看網格信息,大概50萬節點不到,個人機還是可以跑跑的。
Mesh SizeLevel Cells Faces Nodes Partitions0 2655266 5375651 476076 13 cell zones, 21 face zones.Setting Up Domain -> Mesh -> Check,檢查網格,沒有負體積,計算域范圍也縮放正確了,OK。
Domain Extents:x-coordinate: min (m) = -1.900081e-01, max (m) = 7.313037e-01y-coordinate: min (m) = -1.773689e-01, max (m) = 2.250622e-01z-coordinate: min (m) = -2.579141e-01, max (m) = 1.051617e-01Volume statistics:minimum volume (m3): 3.716923e-11maximum volume (m3): 3.629198e-08total volume (m3): 1.217895e-02Face area statistics:minimum face area (m2): 4.020561e-08maximum face area (m2): 3.415682e-05Checking mesh......................... Done.Setting Up Domain -> Mesh -> Quality,檢查網格質量,質量確實不咋滴,都逼近下限了,咱也就大概算算,不深究了。
Mesh Quality:Minimum Orthogonal Quality = 1.05554e-02 (Orthogonal Quality ranges from 0 to 1, where values close to 0 correspond to low quality.)Maximum Ortho Skew = 9.87453e-01 (Ortho Skew ranges from 0 to 1, where values close to 1 correspond to low quality.)Maximum Aspect Ratio = 3.68410e+02接下來,基本上照著左側的樹形菜單挨個整下來,就順序地完成了設置、計算和分析工作。
3 一般設置
左欄設置樹,Tree -> Setup -> General,一般設置,保持默認的Pressure-Based壓力基求解器(適用于不可壓縮流動問題,Density-Based密度基求解器則適用于可壓縮問題),Time中保持默認的Steady定常問題(非定常計算會非常消耗資源,這里就是大概算算),Gravity重立項也不予考慮。
左欄設置樹,Tree -> Setup -> Models -> Viscous,打開粘性模型設置,把默認的Laminar層流模型改成k-epsilon(2 eqn) k??k-\epsilonk??兩方程湍流模型,該湍流模型的設置保持默認即可,OK。
左欄設置樹,Tree -> Steup -> Materials,設置介質,點開Fluid下面的air,再從Create/Edit Materials中打開Fluent Database…,從Fluent Database Materials中選擇water-liquid (h2o<l>),Copy到當前介質中,Close關閉Fluent Database Materials窗口,檢查Create/Edit Materials窗口中是否改成了water水,注意水的密度是998.2 kg/m3,單擊Change/Create確認更改,Close關閉Crete/Edit Materials窗口,看到Materials中Fluid下多了個water-liquid。
4 區域設置
該算例一共有三個區域,進口延伸段、葉輪流道、蝸殼流道,咱們要把進口延伸段和蝸殼流道定義成靜止區域,而把葉輪流道定義成旋轉區域,在區域設置中完成,同時還要指定區域中的流體介質。
左欄設置樹,Tree -> Setup -> Cell Zone Conditions,設置區域條件,雙擊body_in設置進口延伸區域,把Material Name從默認的air空氣改成wate-liquid液態水,其余默認不做任何勾選和修改,OK,表明該區域是靜止區域,且內部介質是液態水。
同樣設置body_vol蝸殼流道區域,其設置和body_in區域一樣。
重頭戲來了,設置葉輪區域,雙擊body_imp,打開設置窗口,Material Name同樣把air改成water-liquid,勾選Frame Motion運動參考系,Rotation-Axis Origin旋轉軸心為坐標原點默認不動,Rotation-Axis Direction旋轉軸方向默認z軸也不更改,Rotational Velocity旋轉速度改為-2900rpm,負號表示它是繞z軸順時針旋轉的,(旋轉單位默認是rad/s,可以在最上端的Setting Up Domain -> Mesh -> Units中將angular-velocity的單位Units從rad/s改為rpm),Translational Velocity平動速度保持默認的0就好,咱們這只有轉動,沒有平動。檢查無誤后OK確認。
5 邊界設置
上一步設置的是區域條件,接下來設置邊界的條件。
左欄設置樹,Tree -> Setup -> Boundary Conditions,設置邊界條件。
5.1 旋轉壁面邊界
雙擊imp_blade_leading,設置葉片前緣面的邊界條件。
將Wall Motion壁面運動類型從Stationary Wall靜止壁面改為Moving Wall運動壁面;
Motion運動類型保持默認的Relative to Adjacent Cell Zone相對于鄰近的單元區域,即給定的是其相對于其所屬的區域的運動(相對運動),它的Adjacent Cell Zone鄰近區域在最上面第2行已經給你標出來了是body_imp葉輪流道區域,運動類型把默認的Translational平動改成Rotational旋轉運動,轉速Speed中保持默認的0,轉軸中心和轉軸依舊分別是原點和z軸。
Shear Conditions剪切條件默認的No Slip無滑移壁面。
OK確定設置。
經過這么一番折騰,就使得葉片的前緣面相對于葉輪流道區域做轉速是0的相對旋轉運動,換句話說,葉片此時和葉輪流道一樣做的是-2900rpm的絕對旋轉運動。
如果不做這個設置,那么葉輪前緣是固定不動的壁面,這和實際情況是不符的。
同樣的,葉輪流道區域的葉片其他面、前后蓋板也要設置成這種相對轉速是0的運動壁面,如果一個個設置就太麻煩了,好在可以直接Copy的。
看到下面那個Copy…了么,點開來,在Copy Conditions窗口中,左邊選剛才設好的imp_blade_leading邊界,右邊選擇imp_blade_pressure、imp_blade_suction、imp_blade_tip、imp_blade_hub、imp_blade_shroud邊界,然后點最下面Copy完成復制邊界條件的操作。
如果不放心,再點開來看看它們設好了沒有吧。
5.2 無滑移壁面設置
還記得畫網格的時候講的葉輪流道前后蓋板延伸的環面,以及蝸殼進口部分的側向延伸環面和徑向環面么?它們應該如何設置呢?
實際上,它們也屬于壁面,即限制流體不能穿透,但是它們又不能給流體施加任何的切向力,所以,把它們設置成剪切力是零的滑移壁面就可以了,當然,葉輪流道前后蓋板的延伸面可以定義成是旋轉面,也可以定義成是靜止面,沒有影響,因為它們壓根就不會產生剪切應力,也就不會對流體施加切向載荷的影響了。
只需要把Shear Condition剪切條件從No Slip無滑移改成Specified Shear指定剪切,同時保持Shear Stress剪切力為0,就可以了。
imp_ext_hub和imp_ext_shroud葉輪前后蓋板延伸環面的設置如下。
vol_ext和vol_side蝸殼流道進口周向延伸面和徑向延伸面的設置:
5.3 靜止壁面
進口延伸段的外壁面,蝸殼的壁面都是靜止壁面,保持默認的靜止壁面和無滑移條件設置就好。
in_walls和vol_wall的設置。
5.4 動靜交界面設置和匹配
進口延伸段的出口面,與,葉輪進口面,前者靜止,后者運動,屬于內部的動靜交界面。
葉輪出口面,與,蝸殼進口面,前者運動,后者靜止,屬于內部的動靜交界面。
先指定這四個面的類型為交界面。
先選中in_outlet進口延伸段的出口面,然后從Type類型中下來選擇interface交界面并單擊確認,它會讓你重命名,保持默認名字就好,OK確認,就把in_outlet面的類型從wall壁面修改成了interface交界面。
同樣的方法,把vol_inlet蝸殼進口面、imp_inlet葉輪進口面、imp_outlet葉輪出口面也設置成interface交界面類型。
雖然設好了它們是交界面,但是并沒有將它們匹配起來啊,好辦。
是不是設置樹,Tree中Setup中多了一個Mesh Interfaces網格界面的選項啊,沒錯,就是它了,單擊Create/Edit…打開交界面匹配創建窗口。
在Create/Edit Mesh Interface窗口中,Mesh Interface中輸入名字“in_2_imp”表示進口段到葉輪段的交界面,在Interface Zone Side 1中選擇第一個交界面in_outlet,在Interface Zone Side 2中選擇第二個交界面imp_inlet,單擊最下面Create創建,這樣便將進口段出口和葉輪段進口匹配為了一對交界面。
同樣創建另一個名為"imp_2_vol"葉輪到蝸殼的交界面,把imp_outlet和vol_inlet配對即可。
設置好后,Close關閉Create/Edit Mesh Interface窗口。
5.5 進出口邊界條件設置
只剩下兩個邊界面,in_inlet進口段的進口面和vol_outlet蝸殼流道的出口面了,這兩個面也對應著整個計算域的進口邊界和出口邊界。
通常是把進口指定總壓,出口指定流量。進口總壓比較好理解,比如接個大氣管道什么的,那就是大氣壓了對吧,出口流量有點費解,其實出口一般接了一堆亂七八糟的管道,那么會有阻力什么的,而做實驗的時候呢,會用個節流閥什么的去調節出口流量,也就是說,出口流量實際上是由使用場所或者人為來調節的,所以是可以直接指定的(當然了,如果指定一個非常高的不切實際的流量,那么算出來的結果也是不符合物理意義的),我們指定了這個流量,再去看能否達到所需要的揚程就可以了,就跟自來水龍頭,可以調節流量是一樣的道理了。
將in_inlet的類型從wall改成pressure-inlet壓力進口,設置其Guage Total Pressure總壓為0(這個是相對表壓),Supersonic/Initial Gauge Pressure初始靜壓為0(只是初始值而已,一旦計算過程中,這個面上有了速度,那么會把速度的動壓減去來計算靜壓值,最終是保證動壓和靜壓加起來的總壓值是0就OK了,所以算起來之后靜壓會成負值的,表明是進口存在負壓差)。
Turbulence湍流模型的設置中,將設置方式改為Intensity and Hydraulic Diameter湍流強度和水力直徑,湍流強度給成5%(湍流度中等),水力直徑給成0.1259m,即進口管道的直徑即可。
OK確定。
將vol_outlet的類型從wall改成velocity-inlet速度進口(沒辦法,這里沒有流量出口,也沒有速度出口,就用速度進口,把速度指定成負值來給流量算了,效果是一樣的)。
先得算下速度值是多少,出口圓截面的直徑為102.46mm,面積是πd2/4=0.00824515m2\pi d^2/4=0.00824515m^2πd2/4=0.00824515m2,泵的設計流量是200m3/h=0.0555556m3/s200m^3/h=0.0555556m^3/s200m3/h=0.0555556m3/s,出口速度應該是0.0555556/0.00824515=6.737967m/s0.0555556/0.00824515=6.737967m/s0.0555556/0.00824515=6.737967m/s,別忘了加負號。
即把Velocity Magnitude速度幅值設為-6.737967m/s,初始背壓設為0Pa,這個初始背壓同樣只是初始值,會在計算過程中自動做調整的。
湍流度同樣用強度和水力直徑給定,湍流強度指定為10%(出口一般湍流會更強烈一些的,10%依舊是中等湍流度并不是特別大),水力直徑為0.10246m為管道直徑。
OK確定。
至此,設置樹的Setup部分就設置完了。
6 求解設置和迭代求解
設置樹,Tree -> Solution -> Solution Methods,保持默認求解方法即可。
設置樹,Tree -> Solution -> Solution Controls,保持默認松弛因子即可。
設置樹,Tree -> Solution -> Monitors監視器,Edit…打開設置。
把所有項的絕對殘差都從0.001改為0.00001(我其實也沒指望它能收斂到這么高的水平,只是改著玩玩罷了),OK確認。
設置樹,Tree -> Solution -> Solution Initialization初始化。
選擇Standard Initialization,Compute from選擇in_inlet,用進口值來做初始化,單擊Initialize完成初始化。
計算前,先保存下設置文件,File -> Write -> Case…,命名,保存。
設置樹,Tree -> Solution -> Run Calculation開始計算。
在Number of Iterations中輸入迭代步3000步,先跑3000步看看效果,如果收斂得不理想,再來幾千步看看。
單擊Calculate開始迭代計算。
拼機子的時刻到了……漫長的等待過程……
7 后處理
先看下殘差曲線,基本上殘差已經水平,不會再往下降了,姑且認為計算結束了吧,實際上,除非網格畫的非常精巧,設置得非常正確,問題非常簡單,才有可能讓殘差收斂到非常小的狀態……而咱們用這么渣渣的網格和模型,能收斂成這樣已經是謝天謝地了。
計算完成后,可以做切面或者在已有面上查看各種壓力、速度云圖,可以查看流線……
但是咱們最關心的是泵的性能如何,即,如何獲取其揚程、功率、效率等外特性。
7.1 揚程計算
泵的揚程 = (出口總壓 - 進口總壓) / (介質密度 * 重力加速度值) + 進出口高度差,數學表達式為:
H=pout?pinρg+ΔzH = \frac{p_{out}-p_{in}}{\rho g} + \Delta z H=ρgpout??pin??+Δz
左欄設置樹,Tree -> Results -> Reports -> Surface Integrals,打開Surface Integrals邊界面的相關量輸出設置窗口。
在Surface Integrals窗口中,選擇Report Type報告類型為Area-Weighted Average即面加權平均型,Field Variable場變量選擇Pressure壓力和Total Pressure總壓,Surfaces面則選擇in_inlet和vol_outlet,即整體計算域的進口面和出口面,來計算這兩個面上的平均總壓值。單擊下方的Compute讓其計算。
在窗口中有如下輸出信息
Area-Weighted AverageTotal Pressure (pascal) -------------------------------- --------------------vol_outlet 877535.16in_inlet 0---------------- --------------------Net 350022.7跟設置的和預想中的一樣,進口的總壓值是0Pa0Pa0Pa,出口的總壓值是877535.16Pa877535.16Pa877535.16Pa,進出口的高度差Δz=0.7313m\Delta z=0.7313mΔz=0.7313m,這個跟泵相關。考慮到水的密度為ρ=998.2kg/m3\rho=998.2kg/m^3ρ=998.2kg/m3,重力加速度為g=9.8kg/m2g=9.8kg/m^2g=9.8kg/m2,按揚程計算公式可得
H=pout?pinρg+Δz=877535.16?0998.2×9.8+0.7313=90.44m\begin{aligned} H &= \frac{p_{out}-p_{in}}{\rho g} + \Delta z \\ &= \frac{877535.16-0}{998.2\times9.8} + 0.7313\\ &= 90.44 m \end{aligned} H?=ρgpout??pin??+Δz=998.2×9.8877535.16?0?+0.7313=90.44m?
設計值是84m,算出來居然高達90.44m,我自己都不相信,顯然,這么粗糙的計算未必靠譜,好在兩者量級還是比較接近的。
7.2 功率和水力效率計算
泵的輸入功率,應該等于葉片所有壁面的扭矩與轉動角速度的乘積,即
P=TωP = T \omega P=Tω
ω\omegaω根據轉速2900rpm2900rpm2900rpm很容易就能算出來,扭矩是要讓FLUENT也來report一下的。
左欄設置樹,Tree -> Results -> Reports -> Forces,打開Forces Reports力的相關量輸出設置窗口。
在Force Reports窗口中,Options選項設置為Moments力矩,Moment Center力矩中心設為原點(0,0,0)(0,0,0)(0,0,0),Moment Axis力矩轉軸設為zzz軸,Wall Zones壁面區域中選擇葉輪的所有壁面,即imp_blade_leading、imp_blade_pressure、imp_blade_suction、imp_blad_tip、imp_hub、imp_shroud,單擊下方Print輸出。
窗口中有如下輸出信息。
整體的轉矩為T=181.33732NmT=181.33732NmT=181.33732Nm,算得其輸入功率為
P=Tω=Tnπ/30=181.33732×2900×π/30=55069.839w=55.070kwP=T \omega=Tn\pi/30=181.33732\times2900\times\pi/30=55069.839w=55.070kw P=Tω=Tnπ/30=181.33732×2900×π/30=55069.839w=55.070kw
泵的有效功率為
Pe=ρgQH=998.2×9.8×(200/3600)×90.44=49150.924w=49.151kwP_e=\rho g Q H=998.2\times9.8\times(200/3600)\times90.44=49150.924w=49.151kw Pe?=ρgQH=998.2×9.8×(200/3600)×90.44=49150.924w=49.151kw
那么泵的水力效率為
η=Pe/P=49.151/55.070=89.25%\eta=P_e/P=49.151/55.070=89.25\% η=Pe?/P=49.151/55.070=89.25%
當然,也可以繼續設置不同的出口流速(出口流量QQQ),從而算得泵在不同流量下的揚程、功率、效率,繪制出泵的性能曲線來。
8 后話
至此,基于商業軟件的離心泵的水力設計、網格劃分、數值計算、性能分析就講完了,這里只是簡單粗暴地走了一遍,并沒有對結果的可靠性做任何驗證工作。
網格劃分部分用的是最簡單最粗糙的非結構均勻網格,數值模擬部分用的也是最常規最普通的湍流模型,結果未必準確,僅供參考。
網格若想劃分的漂亮,可能要用到邊界層+非結構網格,或者分塊結構化網格,或者嵌套網格等方法,需要耗費較大的精力去折騰;而流場若想算得準確,可能要用到大渦模擬湍流模型,非定常數值計算,這已經遠遠超出了個人機的承受范圍……還有,實話實說,這么高端的操作我是不會的,哈哈。
總結
以上是生活随笔為你收集整理的离心泵CAE_3_FLUENT数值模拟的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java保留小数点后两位_JAVA中小数
- 下一篇: ssm基于android的个人健康打卡系