你會喜歡那個 Pi 的一些 CFD 嗎?
2023 年 4 月 24 日? 10 分鐘閱讀
我[編輯。Travis Carrigan] 幾乎可以在任何地方找到項(xiàng)目靈感。雖然許多想法轉(zhuǎn)瞬即逝,只能在一兩天的工作中引起足夠的關(guān)注,但有些想法會留下來并像滾雪球一樣發(fā)展成有趣的項(xiàng)目。這是對其中一個想法轉(zhuǎn)變的項(xiàng)目的看法,我可以在手掌中運(yùn)行 CFD 計算的想法。
在收到我正在從事的另一個項(xiàng)目的 Arduino Uno 后,這個項(xiàng)目的想法在 10 月份開始具體化。如果你沒見過,Uno 很小,大約只有一張信用 卡那么大。這讓我想到,如果我可以在計算機(jī)上運(yùn)行關(guān)于 Uno 大小的 CFD 計算會怎么樣?電話是合乎邏輯的選擇。但是為 iPhone 或 Android 編譯像 OpenFOAM 這樣的東西聽起來太令人生畏了,甚至無法考慮。樹莓派怎么樣?
Raspberry Pi Foundation 開發(fā)的 Raspberry Pi 于 2012 年春季首次推出,第一天就出貨了 100,000 塊板子!目標(biāo)是將負(fù)擔(dān)得起的計算機(jī)帶入課堂,并向孩子們傳授計算原理。但愛好者們將目光投向了這個有趣的小板,它可以輸出 1080p 視頻并與許多傳感器和其他設(shè)備接口。現(xiàn)在,在發(fā)布兩年后,野外有超過 250 萬個 Raspberry Pi。

信用 卡大小的樹莓派。
鳴叫
做完研究后,我決定暫時擱置 Pi。然后,在 2 月初,一篇#SimulationFriday 帖子引起了我的注意。這是 Momentum Analysis 發(fā)布的一條推文,其中包含在兩個 Raspberry Pi 上運(yùn)行的驅(qū)動腔 OpenFOAM 案例的圖片!

通過動量分析組裝的兩個 Pi 集群。圖片來自 Momentum Analysis。
順便說一句,#SimulationFriday 是 Twitter 上的一個很棒的標(biāo)簽,工程師們每周五都會在上面發(fā)布模擬照片和視頻。
Momentum Analysis 的人員使用了 Rheologic 提供的 OpenFOAM 構(gòu)建。終于,有一個適用于 Pi 的構(gòu)建,我再也不用擔(dān)心自己編譯它了。我可以獲得一個 Pi 并立即啟動并運(yùn)行!
幾天后,Momentum Analysis 寫了一篇很棒的操作方法博客文章,內(nèi)容是關(guān)于設(shè)置他們稱之為 twoPi 集群的內(nèi)容。在文章中,他們討論了如何設(shè)置 Pi、獲取 OpenFOAM 二進(jìn)制文件,甚至描述了他們執(zhí)行的一些測試。
好的。是時候買一個我自己的 Pi 了。
我應(yīng)該在他們的帖子發(fā)布后不久提到,我偶然發(fā)現(xiàn)了另一篇關(guān)于達(dá)拉斯/沃思堡地區(qū) 40 節(jié)點(diǎn) Raspberry Pi 集群的文章。構(gòu)建質(zhì)量令人難以置信,我鼓勵您查看YouTube 上的視頻。
派
在購買 Raspberry Pi 之前,我做了很多研究。我了解到的是,雖然電路板的價格約為 35 美元,但配件可以加起來。除非您家里有充電器、數(shù)據(jù)線和鍵盤。環(huán)顧四周后,我知道我需要什么,也知道我會在哪里購買所有東西。我選擇了 ModMyPi。ModMyPi 開始為 Pi 制造外殼,但此后很快開始銷售一系列配件。雖然他們不隸屬于 Raspberry Pi 基金會,但他們將 5% 的利潤回饋給該基金會。
我沒有購買他們的工具包,而是決定堅持使用最基本的必需品,只是找到我還沒有擁有的東西。如果您有興趣進(jìn)行相同的實(shí)驗(yàn),下面是我從 ModMyPi 購買的所有物品的列表。請注意,自從我購買這些商品后,價格略有上漲。如果您在 Twitter 上注冊并關(guān)注他們,您將獲得折扣。
樹莓派 - B 型
16GB 三星 Micro SD 卡預(yù)裝 NOOBS(10 級 UHS-I)
Cyntech Blackberry Raspberry Pi 保護(hù)套帶 SD 卡保護(hù)套
HDMI轉(zhuǎn)HDMI線2m V1.4(鍍金)
Raspberry Pi 散熱器套件
Model B Pi 配備 512MB RAM,而 Model A 只有 256MB。這對于編譯軟件和運(yùn)行 CFD 計算都很重要。我選擇多花一點(diǎn)錢購買預(yù)裝了 NOOBS 的高性能 SD 卡。NOOBS(全新開箱即用軟件)包允許輕松安裝許多受支持的 Linux 發(fā)行版,包括基于流行的 Debian 操作系統(tǒng)的官方 Raspbian 發(fā)行版。
散熱器很有趣。我希望能夠在不顯著縮短 Pi 壽命的情況下將 700Mhz 處理器超頻到 1Ghz。雖然散熱器不會散發(fā)那么多熱量,但它們看起來確實(shí)很酷。

三個小散熱片附在電路板上。
Pi 的 OpenFOAM
上周一切都到了,所以我只有幾天的時間來觸及表面。但我做的第一件事是加載動量分析博客文章,這樣我就可以配置我的 Pi 來運(yùn)行 OpenFOAM。在應(yīng)用了所有必要的更新并進(jìn)行了一些設(shè)置后,我下載了 OpenFOAM,并在不到一個小時的時間內(nèi)讓空腔案例運(yùn)行起來。我在 Raspberry Pi 上運(yùn)行 OpenFOAM。我能夠在手掌大小的設(shè)備上運(yùn)行 CFD 模擬。Momentum Analysis 非常感謝,因?yàn)樗麄兊恼f明很準(zhǔn)確。感謝你們!

在我的手掌中運(yùn)行 CFD 計算。
幾天后,我決定在 Raspberry Pi 上的 OpenFOAM 中運(yùn)行 Pointwise 生成的網(wǎng)格。我對 NACA 0012 以對流的攻角進(jìn)行了穩(wěn)態(tài) RANS 計算。該解決方案在五分鐘內(nèi)收斂。我欣喜若狂!我不僅可以在 Raspberry Pi 上運(yùn)行 CFD 問題,而且可以在 Pi 上運(yùn)行我們的網(wǎng)格。
如果您對本案例感興趣,可以下載并親自試用。

NACA 0012 的速度場。此解決方案由 Raspberry Pi 計算得出。
樹莓派的 SU2
我已經(jīng)實(shí)現(xiàn)了我的目標(biāo)。我在掌中進(jìn)行了 CFD 計算。但我無法擺脫這樣一個事實(shí),即我并沒有真正做過任何新的事情。動量分析人員已經(jīng)這樣做了……并行。我能做些什么不同的事情?換一個求解器怎么樣?輸入 SU2。
幾年前,斯坦福大學(xué)航空航天系航空航天設(shè)計實(shí)驗(yàn)室的一個小組發(fā)布了一個開源 CFD 求解器。斯坦福大學(xué)非結(jié)構(gòu)化軟件套件或 SU2 是一組用于求解偏微分方程(包括 CFD 問題)的 C++ 工具。該團(tuán)隊(duì)于今年 1 月發(fā)布了代碼的 3.0 版。
在過去的幾周里,我一直在探索 SU2 的一些內(nèi)部 CFD 工作,所以我對代碼有點(diǎn)熟悉并且可以可靠地構(gòu)建它。所以,我決定在 Raspberry Pi 上下載源代碼并嘗試編譯它。我的新目標(biāo)是為 Raspberry Pi 打包 SU2 二進(jìn)制文件并運(yùn)行 NACA 0012 問題。說起來容易做起來難。
我不想做任何花哨的事情,所以我只需要一個基本的單線程編譯。我遵循了 SU2 開發(fā)人員提供的精心編寫的安裝指南,僅使用前綴參數(shù)配置了 makefile,然后發(fā)出 make 命令來編譯源代碼。構(gòu)建大約 30 分鐘后,Pi 拋出了一條神秘的錯誤消息。不久之后,所有應(yīng)用程序都崩潰了,GUI 也沒有響應(yīng)。不幸的是,Pi 沒有配備電源開關(guān),所以關(guān)閉設(shè)備只是拔掉電源的問題,這是我此時所能做的。
我重新接通電源以重新打開 Raspberry Pi,但遇到了內(nèi)核恐慌。精彩的。
拔掉電源。重新連接電源。內(nèi)核恐慌。
拔掉電源。重新連接電源。沒有什么。現(xiàn)在 Pi 將無法啟動。
我將電路板從外殼中拉出,并使用電路板上的兩個觸點(diǎn)測試了電壓。沒電。結(jié)果是保險絲燒斷了,需要幾分鐘才能復(fù)位。偉大的。長話短說,這個過程重復(fù)了六次,然后運(yùn)行 fsck 實(shí)用程序。
問題出在 SD 卡或電源上。我的猜測是主板、以太網(wǎng)電纜、HDMI 電纜、SD 卡和 USB 鍵盤加密狗消耗的電流超過了 ASUS Nexus 7 充電器可以處理的電流。這反過來又將電壓降至 4.75V 以下并導(dǎo)致了一些不穩(wěn)定。從那以后,我用 5V 2.1A iPad 3 充電器更換了電源,并且沒有遇到任何穩(wěn)定性問題。
另一個潛在的問題是內(nèi)存。我一直在監(jiān)視構(gòu)建期間的內(nèi)存使用情況,并注意到它逐漸達(dá)到 512MB 的限制。因此,使用 raspi-config 實(shí)用程序,我禁用了 GUI 并允許 GPU 訪問最小內(nèi)存量。接下來,我在我的家庭網(wǎng)絡(luò)上為 Pi 提供了一個靜態(tài) IP,并啟用了 SSH 訪問。不再需要 HDMI 電纜和 USB 加密狗。這不僅解決了內(nèi)存問題,而且我的穩(wěn)定性問題也更少了。
每次嘗試新事物時,我都會重新嘗試構(gòu)建,每次都更進(jìn)一步。我估計整個構(gòu)建需要大約三個小時才能完成。完成后,我運(yùn)行 make install,然后存檔并壓縮結(jié)果。我現(xiàn)在有了 SU2 的 Raspberry Pi Raspbian 版本!

第一次嘗試在樹莓派上編譯 SU2。
我做的第一件事是瀏覽詳細(xì)的快速入門教程,以確保至少 SU2_CFD 可以正常工作。果然,NACA 0012 的穩(wěn)定歐拉計算在三分鐘內(nèi)收斂。
SU2 團(tuán)隊(duì)慷慨地提出在他們的網(wǎng)站上托管二進(jìn)制文件以供下載。如果您想要用于 Raspberry Pi 的 SU2,請訪問 http://su2.stanford.edu/download.html。您可能會注意到 Pi 也有一個 SU2_EDU 鏈接。它即將推出,但稍后會詳細(xì)介紹。
得到教訓(xùn)
這是一個偉大的項(xiàng)目。雖然我對 Momentum Analysis 和 Rheologic 所做的工作感到滿意,但我很高興我沒有停止使用預(yù)編譯的 OpenFOAM 構(gòu)建。撕毀電子設(shè)備、解密錯誤消息以及學(xué)習(xí)如何在適合我手掌的設(shè)備上編譯和運(yùn)行 CFD 軟件真是太棒了。
如果您對這個項(xiàng)目感興趣并計劃購買自己的 Raspberry Pi,這里有一些我在此過程中學(xué)到的經(jīng)驗(yàn)教訓(xùn)。
使用良好的電源。我怎么強(qiáng)調(diào)都不過分。雖然 Raspberry Pi 板不需要那么多電源,但一旦插入電源,它就會開始增加。Pi 需要 5V 1A 電源。大多數(shù)手機(jī)充電器都可以使用,但根據(jù)我的經(jīng)驗(yàn),有些會出現(xiàn)故障。我建議使用穩(wěn)定的東西,最好是 5.25V,以解決任何輕微的壓降和 2A,允許更多外圍設(shè)備直接插入電路板。
給 Raspberry Pi 一個靜態(tài) IP 地址并啟用 SSH。如果您打算進(jìn)行任何類型的開發(fā)或 CFD,請放棄命令行的 GUI 和 SSH 到 Pi。告訴我的路由器給 Pi 一個靜態(tài) IP 是不夠的,我還必須編輯網(wǎng)絡(luò)接口文件。這是一個很棒的視頻,介紹了如何為您的 Pi 提供靜態(tài) IP 地址。此外,您還需要啟用 SSH,因?yàn)樗J(rèn)處于關(guān)閉狀態(tài)。這可以通過 raspi-config 來完成,raspberry Pi 軟件配置工具如下所示。使用配置實(shí)用程序通過“高級選項(xiàng)”菜單啟用 SSH。
擴(kuò)展文件系統(tǒng)并調(diào)整 CPU/GPU 內(nèi)存分配。如果使用 NOOBS 包安裝 Raspbian,文件系統(tǒng)會自動占用整個 SD 卡。但是,如果您以其他方式安裝操作系統(tǒng),則需要手動擴(kuò)展文件系統(tǒng)以利用卡上的所有可用內(nèi)存。您也可以使用 raspi-config 實(shí)用程序執(zhí)行此操作。您可能還想為 GPU 提供最小內(nèi)存量。這可以使用相同的實(shí)用程序來完成。
最后,超頻。Raspberry Pi 不會產(chǎn)生太多熱量,也不會消耗太多電力。通過超頻利用效率。股票 Raspberry Pi 以 700 Mhz 運(yùn)行。我已將 CPU 超頻至 1GHz,據(jù)我所知,它的馬力增加了 50%。這是散熱器派上用場的地方。
腳注
本文最初由 Travis Carrigan 撰寫,他是一個真正的 CFD 書呆子。如果他從事此類工作只是為了好玩,想象一下他會給您使用 Cadence Fidelity CFD 的 CFD 項(xiàng)目帶來什么樣的熱情和專業(yè)知識。今天開始討論。
文章來源:cadence博客
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺客服
TOP




















