2011-01-22 63 views
5

full編輯:流體流動,傳熱和Python

我會給一些關於整個問題的更多信息。該項目處於早期階段,我的問題實際上只涉及狹義部分。

最終目標:
我目前正試圖模擬圍繞Python中一個剛性障礙的熱空氣流動。我有穩定的空氣流入,大量的流動是短暫的和動盪的。整個演習的目的是瞭解-the氣流如何
行爲
-the障礙加熱
-the空氣冷卻和空氣壓力下降

迄今所做的:
不多,事情處於早期階段。我有一個2D矩形域和一個圓形障礙物。網格在批量和障礙物之間的邊界越來越精細,因爲這是有趣的事情發生的地方。目前我只考慮氣流,不對流或傳熱。我使用FEniCS軟件集合來求解Navier-Stokes方程。 Fenics附帶了一個使用Chorin投影方法的N-S解算器的例子,我將這個例子適用於我的設置。我將剛體建模爲無滑動邊界條件的區域(即,我將空氣流速設置爲零)。求解器仍然解決該區域的N-S方程,特別是障礙物內部的壓力隨時間變化。可能避免這種情況並將N-S解算器限制爲批量是一個更好的主意。但目前我不認爲這會影響速度。

問題:
事情運行得很慢。我不介意最後的模擬是否需要幾天,但目前只有2d流體流過障礙物,網格並不像我想要的那樣好。我希望這個速度更快,因爲當熱量進入時它會變得更加複雜。

我的問題:
它歸結爲一個問題:

什麼是快速算法或方法來解決在Python的Navier-Stokes方程?

我完全可以從頭開始編寫求解器,但是這引發了同樣的問題。今天早上它發現投影方法可能不是最糟糕的想法,因爲它解耦了壓力和速度升級,我可以嘗試將它分配給不同的CPU內核。

+1

您也可以嘗試http://physics.stackexchange.com/。 – 2011-01-22 13:28:20

回答

6

如果你是從頭開始編寫Python,Python實際上是一個不錯的選擇。但是你需要很多背景才能從頭開始。

耦合解決方案是一個難題。

有人指出你正在使用一個包裝 - FEniCS(謝謝你,斯文)。我的原始答案需要修改。我將從關於物理學的幾個問題開始,然後轉向包裝。

如果空氣在該溫度下的馬赫數小於0.1,則不可壓縮的納維爾斯托克斯適用於像空氣一樣的氣體。這是你的問題嗎?這可能是真的,但我想我會問。

納維爾斯托克斯不適用於你的固體障礙。如果你用一個網格模擬整個事物,你如何描述這個實體?它是高粘度流體嗎?這可能會使方程組病態並且很難解決。如果您使用顯式集成,它也會影響穩定的時間步長。

它是一個穩定的流動還是一個瞬態? (穩定更容易)流層流還是紊流? (層流更容易)

它是固態障礙物中的傳導傳熱和流體中的傳導/對流。流體將沿着網格必須解決的表面的固體障礙物具有動量和熱邊界層。這就是固體和流體之間重要的熱傳遞發生的地方。這些將需要固體表面局部的細網格來解決從邊界條件到遠場速度和溫度的過渡。你有沒有考慮到你的網格?

在我看來,FEniCS正在使用有限元素,但是我沒有在文檔中看到任何告訴我如何將動量和能量方程耦合在一起的文檔。

你必須告訴更多,以獲得體面的建議。物理Stackoverflow中有數字方法嗎?你需要它。

+1

OP聲稱他正在使用[FEniCS](http://www.fenicsproject.org/),所以他沒有從頭開始編碼所有東西。你可能想看看FEniCS,如果你不熟悉它 - 我真的很喜歡它:) – 2011-01-22 13:50:39