在之前的文章中,我們討論了使用基於場的方法(水平集和相場)為自由液麪建模。動網格是另一種可選方法,它能夠處理沒有發生拓撲變化的自由液麪。本文中我們將展示如何使用動網格方法為自由液麪建模,並將結果與基於場的方法進行對比。

自由液麪問題

為了演示動網格功能,我們繼續以介紹相場和水平集方法的博客中的問題為例。實心桿模型一半浸沒到小型管道內的水中。值得注意的是,實際上在水平集與相場方法中,動網格功能還可用於指定小矩形桿在液麪上來回移動,在動網格方法中亦是如此。

示例問題的幾何結構和定義。

自由液麪的動網格方法限定了矩形桿的位移並追蹤液麪的位移。我們通過在動量方程中添加一個源來考慮模型內的重力。為了將動網格方法得到的結果與相場和水平集方法得到的進行對比,我們對壁使用了 Navier 滑移邊界條件。滑移長度等於單元長度。

使用動網格為自由液麪建模

在 COMSOL Multiphysics? 軟體中,對於相同的問題,動網格自由液麪建模功能與上一節討論的水平集與相場法屬於完全不同的方法。利用動網格方法,自由液麪被建模為分隔兩個域的幾何面。表面張力及其他表面力被直接施加在自由表面,作為邊界條件。

利用自由表面特徵,我們可以計算出任意時間點上的液麪流體速度,將之作為自由液麪的位移速度。動網格方程的解可以平滑地取代流體域中的網格節點。我們隨即計算了移動坐標系中的納維-斯托克斯方程,並同時求解動網格方程,從而獲得移動量。

通過該方法,我們完成了液體的建模,與此同時,我們以表面張力和壓力效應的形式對自由液麪上方的氣體域內的流場進行了處理。因此,我們不能使用當前方程獲得氣相流場(當然,你可以通過手動添加第二個流體流動介面,或者通過使用「微流體模塊」的兩相流,動網格介面中的流體-流體界面特徵改變這種情況)。此外,COMSOL Multiphysics 中的動網格方程無法處理自由液麪的拓撲變化,比如破碎波。

在某種程度上,相比於水平集和相場法,利用動網格方法為自由液麪建模顯得更加簡單幹脆,因為如前文所述,我們可以直接將表面張力及其他表面力用作邊界條件。不求解自由液麪上方空氣域內的流體流動有利於大大提高計算速度,因為納維-斯托克斯系統的自由度數量幾乎減少到基於場的方法的一半。在這種情況下,我們之所以忽略空氣域的影響,是因為水和空氣的密度與動力粘度比值很大。所造成的差異將在下一節中詳述。

比較動網格與相場法的結果

下圖比較了分別使用動網格與相場法計算的自由液麪。我們可以看到兩種方法的結果非常一致,自由液麪的形狀和速度場的流線都很相似。

不過模型並非完全相同。在相場法的案例中,自由液麪上方的空氣域在液麪上產生了微小的阻尼效應,而動網格案例中不存在空氣域,並且液麪只「看見」流體表面上氣壓恆定不變。換句話說,動網格案例中的自由液麪不必移動空氣,並且可以利用這種能量使水波更高,表面波動更大。

使用兩相流動網格介面(左圖)和相場方法(右圖)計算得到的不同時間下的自由液麪形狀和速度場。

下方動畫展示了利用動網格方法求得的動態自由液麪,我們可以將它與上一篇中只用相場法生成的動畫作比較。可以清晰地看到,與相場動畫相比,自由液麪的波動幅度更大,反應也更快。這可能是因為動網格中沒有空氣域,而水平集和相場方法中的空氣域會阻礙自由液麪運動。

視頻封面

00:20利用動網格方法獲得的自由液麪動

我們還可以將默認的自由液麪動網格功能與兩相流動網格 介面進行比較,後者能夠分析液相和氣相的流場。可以看到,不管是包含兩相的動網格,還是相場法,流場和速度矢量的大小都非常相似。對於三種情況(動網格、相場及包含兩相的動網格),自由液麪的形狀均相似,但是在此例中,兩個動網格案例所對應的形狀更加相似。根據模擬結果,結論是空氣域對流體的速度場具有一定的阻尼效應。此外,動網格和相場法在處理相邊界的壁面上的差異似乎是造成自由表面形狀不同(儘管差異很小)的原因。

使用 兩相流動網格 介面得到的結果。

自動重新劃分網格與自由液麪

針對相場、水平集和動網格方法,我們還考慮到使用自動劃分網格功能,以防單元質量太差而不能滿足質量要求。質量與單元的最大角有關,還與最大和最小邊的關係有關。如果角度很大,或單元被壓縮得很厲害,就意味著單元質量很差,若勾選了自動重新劃分網格功能,便會觸發軟體重新劃分網格。下圖顯示了對示例問題應用自動重新劃分網格的效果。0.35 秒後單元質量太差,從而觸發了軟體重新劃分網格,這將大幅改善網格的質量。

自動重新劃分網格之前(左圖)及之後(右圖)的網格。我們可以看到小矩形桿右側的單元在重新劃分網格前被拉長了,但在重新劃分網格後變得更加各向同性。

流-固耦合與自由液麪

在示例問題中,我們規定了矩形桿在液麪上的位移。我們可以在矩形桿上施加作用力,並計算矩形桿在流體的反作用力下產生的位移,從而直接地對問題進行擴展。這就得到了所謂的流-固耦合(FSI)問題。

COMSOL Multiphysics 軟體 5.3a 版本引入了新的流-固耦合介面,方便用戶定義包含流-固耦合的自由液麪問題(或兩相流問題)。下圖展示了經典的流體壁塌陷問題,但是現在一個小小的障礙物擋在流動路徑上。我們將表面張力的影響、液體界面的位置及流動與被流體衝擊的晶須的結構位移、應力和應變完全耦合。

視頻封面

00:10

動畫演示了被水流波動衝擊的晶須的兩相流 FSI 問題。深度為 5 mm。

根據示例問題得到的一些結論

我們在本系列博客的第一篇中得出結論:當對受表面張力影響的系統的自由液麪建模時,相場法在性能與精確度平衡方面優於水平集方法。示例問題的解表明採用自由表面特徵的動網格方法在性能與精確度平衡方面甚至更出色。不過,它也存在兩個缺點:

  • 不能處理拓撲變化。
  • 未默認分析自由液麪上方的空氣(或其他氣體)。

我們可以得出結論:如果沒有預見拓撲變化,動網格方法是自由液麪建模的首選。如果存在表面張力和拓撲變化,那麼相場方法是最優選擇。或許在之後的博客文章中,我們可以選擇表面張力可忽略不計,且有或無拓撲變化的問題,全面比較這三種方法。

更多資源

閱讀上一篇關於水平集和相場法的博客文章。

本文的所有示例均可在「案例下載」中找到。如有興趣,你可以嘗試重現結果並驗證結果的有效性!歡迎研究分析本系列博客所提到的模型,並閱讀更多關於自由表面建模的文章:

  1. 使用水平集、相場和動網格的自由表面建模:比較
  2. 上升氣泡
  3. 噴墨印表機噴嘴

經授權轉載自cn.comsol.com/blogs,原作者Ed Fontes


推薦閱讀:
相關文章