工程師火災模擬/FDS/執行 FDS
本章解釋如何獲取、安裝和執行 FDS 和 Smokeview。解釋涵蓋了 Fedora Linux、Ubuntu Linux 和 Windows XP。
有關如何下載可執行檔案、手冊、原始碼和相關實用程式的詳細說明的主要資源是 FDS-SMV 網站
• http://firemodels.github.io/fds-smv/
FDS 有兩個獨立的 手冊
• FDS5 技術參考
• FDS5 使用者指南。
FDS5 技術參考指南分為三個卷
• 數學模型;
• 驗證;
• 實驗驗證。
Smokeview 有自己的 手冊
• Smokeview 使用者指南。
FDS 和 Smokeview 使用者指南僅描述使用計算機程式的機制。技術參考指南提供了理論、演算法細節以及驗證和驗證工作。
除了 FDS 手冊外,網際網路上還有可用的資源。這些包括一個問題跟蹤器,允許您報告錯誤、功能請求並提出具體的澄清問題,以及小組討論,它支援比僅解決特定問題更廣泛的主題。
在使用這些線上資源之前,重要的是首先嚐試透過執行簡單的測試計算或除錯輸入檔案來解決您自己的問題。
FDS 擁有一個獨立開發的圖形使用者介面,名為 BlenderFDS
有關更多資訊,請參閱特定章節 [cha:BlenderFDS]。
FDS 和 Smokeview 的每個版本都由版本號標識,例如 FDS_5.0.1 或 SMV_5.0.1,其中第一個數字是主要版本 (5),第二個數字 (0) 是次要版本,第三個 (1) 表示維護版本號。
作為一般模式,主要版本大約每年釋出一次。顧名思義,它們會極大地改變模型的功能或能力。次要版本每隔幾個月釋出一次,可能會導致功能發生細微變化。維護版本釋出更為頻繁,只是錯誤修復或小幅改進,不應影響程式碼功能。發行說明可以幫助您決定更改是否應影響您通常執行的應用程式型別。
FDS 需要一個或多個快速 CPU 和大量的隨機存取儲存器 (RAM) 才能有效執行。對於最低規格,系統應至少具有 1 GHz CPU 和 1 GB RAM。CPU 速度將決定計算完成所需的時間,而 RAM 容量將決定記憶體中可以容納多少個網格單元。
1 GB RAM 可以容納大約 106 個單元。為了理解物理意義,當用 10 釐米邊的立方單元離散化時,一個 20 米 x 10 米 x 5 米 的計算域包含 106 個單元。
需要一個大型硬碟來儲存計算的輸出結果。單個計算的輸出結果通常會佔用數千兆位元組的儲存空間。
Smokeview 需要一個 OpenGL 顯示卡。查詢專門列出您打算使用的作業系統對 OpenGL 支援的顯示卡。
FDS 可以執行序列和平行計算
序列計算在一個僅使用當前多核 CPU 中的一個核心的單個程序中執行。
平行計算將計算負擔分配給許多程序,這些程序可以分配給許多不同的核心或 CPU。這些 CPU 可以駐留在單個工作站上,也可以駐留在網路計算機叢集中。
設定計算機叢集是一項複雜的任務,超出了本手冊的範圍。
這些說明需要您具備 Fedora Linux 的基本知識。
Fedora 有幾種不同的版本,這裡假設使用的是 64 位工作站版本。
64 位版本能夠訪問比 32 位版本(超過 4 GB)更多的 RAM 記憶體。32 位版本限制為 4 GB RAM 記憶體。
要在 Fedora Linux 系統上安裝 FDS 和 Smokeview,首先,您可以從 網站 的下載頁面下載最新版本的 Linux 預編譯 FDS 和 Smokeview,或者透過克隆 儲存庫 自己進行編譯。如果使用預編譯版本,請按照 [1] 中的說明進行操作。如果自行編譯,請確保您擁有 Fortran 編譯器,然後如果您想啟用多處理器支援,請安裝 [2](如果您希望使用其他 MPI 庫,則需要更改原始碼中的安裝指令碼)。最後,編譯您從 儲存庫 克隆的程式碼。預編譯版本會自動修改您的路徑,以確保啟動火災動力學模擬器變得容易,而如果您自己編譯程式碼,則需要自己執行此操作。
這些說明需要您具備 Ubuntu Linux 計算機的基本知識。
Ubuntu Linux 作業系統有兩種基本版本
Ubuntu Linux 32 位,可以在任何型別的計算機上安裝。
Ubuntu Linux 64 位,可以在所有具有 AMD64 擴充套件的 AMD 64 位 CPU 和所有具有 EM64T 擴充套件的 Intel CPU 上安裝。
64 位版本能夠訪問比 32 位版本(超過 4 GB)更多的 RAM 記憶體。32 位版本限制為 4 GB RAM 記憶體。
請注意,Smokeview 在配備良好專用顯示卡的系統上執行效果更佳。一些廉價的顯示卡可能會阻止你在 Linux 上使用它。
首次安裝
[edit | edit source]要在 Ubuntu Linux 系統上安裝 FDS 和 Smokeview,首先,從官方網站的下載頁面下載最新版本的預編譯 FDS 和 Smokeview for Linux。根據你的 Ubuntu 版本,下載 FDS 發行版的 32 位或 64 位壓縮存檔。
下載到你的電腦後,透過右鍵點選其圖示並選擇上下文選單中的“在此處提取”來提取存檔。
然後,將提取的 FDS 資料夾移動到你的首選位置,例如你的主目錄。在我的情況下,FDS 資料夾的最終路徑將是 /home/egissi/FDS,因為 /home/egissi 是我的主資料夾。
之後,透過在 Nautilus 檔案瀏覽器中選擇“檢視”->“顯示隱藏檔案”選單,檢視你的主資料夾的隱藏檔案。在你的主目錄中找到 .bashrc 檔案,並透過雙擊其圖示開啟它進行編輯。
將以下文字追加到編輯器視窗中的 .bashrc 檔案中
### FDS and Smokeview environment # Actual path to FDS folder FDS=/home/egissi \leftarrow set your actual path here echo "FDS setup ($FDS)" # Setting limits ulimit -s unlimited ulimit -v unlimited # Setting executable and library paths export PATH=$PATH:$FDS/FDS5/FDS/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$FDS/FDS/FDS5/bin/lib32 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$FDS/FDS/FDS5/bin/lib64
編輯強調的行,並設定你實際的 FDS 資料夾路徑。之後,儲存 .bashrc 檔案並關閉文字編輯器。
透過選擇“系統”->“管理”->“Synaptic 包管理器”選單開啟 Synaptic 包管理器,並安裝
在 Ubuntu Linux 32 位上:lam-runtime 軟體包;
在 Ubuntu Linux 64 位上:lam-runtime 和 ia32-libs 軟體包。
Ubuntu Linux 會為你處理所有必要的軟體依賴項。
關閉你的會話並重新登入,以使環境修改生效。你的 Ubuntu Linux 系統現在已準備好執行多核或多 CPU 工作站上的序列和並行模擬。
安裝新版本
[edit | edit source]安裝新版本的 FDS 和 Smokeview 時,只需刪除舊的 FDS 資料夾即可。下載新版本後,提取新的 FDS 資料夾並將其拖放到與之前相同的位置。
你的 Ubuntu Linux 系統現在已準備好使用新版本執行序列和並行模擬。
編譯最佳化後的二進位制檔案
[edit | edit source]由於 FDS 是開源軟體,使用者始終可以下載最新版本的 FDS 原始碼,並使用 Fortran 90 和 C 編譯器自行編譯。直接編譯通常用於獲取針對特定硬體和平臺最佳化的 FDS 二進位制檔案,並充分利用其速度。
編譯是一項複雜的任務,不在本手冊的範圍內。
執行計算
[edit | edit source]使用 FDS 和 Smokeview 的典型流程是
1. 設定 FDS 輸入檔案,例如 mycase.fds,並將其放在資料夾中,例如 mycase 資料夾。請參閱以下章節以瞭解如何操作。
2. 在輸入檔案上執行 FDS。FDS 啟動並在 mycase 資料夾中建立許多輸出檔案。
3. 在 FDS 執行時,監視計算的進展。
4. 使用 Smokeview 分析生成的輸出檔案。
在 Windows XP 上安裝
[edit | edit source]要在 Windows XP 系統上安裝或重新安裝 FDS 和 Smokeview,請從官方網站下載 Windows 安裝包。
Windows 檔案是一個自解壓壓縮存檔,它將在 Program Files/FDS 資料夾中安裝 FDS、Smokeview 和所有相關檔案。
透過雙擊下載的檔案啟動安裝。
在安裝過程結束時,你的 Windows XP 系統已準備好執行序列計算。
在 Fedora Linux 上執行序列 FDS
[edit | edit source]在 Fedora Linux 計算機上,開啟一個終端視窗。然後,如果使用預編譯版本,執行以下命令之一
fds mycase.fds
如果不能確定,只需檢視 FDS/FDS6/bin 資料夾以發現 FDS 二進位制檔案的正確名稱。
然後模擬開始,其進度由寫入螢幕的診斷輸出指示。
在 Ubuntu Linux 上執行序列 FDS
[edit | edit source]
在 Ubuntu Linux 計算機上,選擇“應用程式”->“附件”->“終端”選單以開啟命令提示符。使用 cd 命令移動到 mycase 資料夾,該資料夾是案例的輸入檔案所在的資料夾。
然後執行以下命令之一
在 Ubuntu Linux 32 位上:fds5_intel_linux_32 mycase.fds
在 Ubuntu Linux 64 位上:fds5_intel_linux_64 mycase.fds
如果不能確定,只需檢視 FDS/FDS5/bin 資料夾以發現 FDS 二進位制檔案的正確名稱。
然後模擬開始,其進度由寫入螢幕的診斷輸出指示。
在 Windows XP 上執行序列 FDS
[edit | edit source]設定好輸入檔案後,開啟一個命令提示符視窗:選擇“開始”->“執行”選單,然後輸入 cmd。使用 cd 命令移動到 mycase 資料夾,該資料夾是案例的輸入檔案所在的資料夾。
然後透過輸入以下命令執行程式碼
fds5 mycase.fds
其中 fds5 是 FDS 二進位制檔案的名稱,mycase.fds 是輸入檔名。
序列計算開始,其進度由寫入螢幕的診斷輸出指示。
在 Fedora Linux 上執行並行 FDS
[edit | edit source]平行計算機的配置方式可能大相徑庭,因此很難提供適用於所有配置的指南。
在 Fedora Linux 計算機上使用已安裝的 OpenMPI,執行平行計算的典型命令是
mpirun -np 4 fds6_mpi_gnu_linux_64 mycase.fds
二進位制檔案的具體名稱將取決於編譯選項。在許多情況下,MPI 仍然可以有效地加快多核筆記型電腦/桌上型電腦/工作站上的計算速度。因此,在序列模擬正常執行後,使用者應該嘗試使用此模型。有關在叢集上執行的更多說明,請訪問 [3]。
在 Ubuntu Linux 上執行並行 FDS
[edit | edit source]

FDS 使用訊息傳遞庫 (MPI) 進行平行計算。
MPI 是一種與語言無關的通訊協議,用於對平行計算機進行程式設計。它支援點對點通訊和集體通訊。MPI 的目標是高效能、可擴充套件性和可移植性。MPI 是當今高效能計算中使用的主流模型。
FDS 的單版本和並行版本的輸入檔案相同。事實上,建議在進行並行處理之前,你應該以序列模式執行你的輸入檔案,以確保它設定正確。
要以並行模式執行 FDS,你必須將計算域分解為多個網格,以便將工作負載分配到可用處理器之間。
為了使並行版本正常工作,每個網格中的單元數必須相當,否則大多數計算機將閒置等待擁有最大網格的計算機完成每次時間步長的處理。
在配置好的 Ubuntu Linux 計算機上,輸入以下命令執行平行計算
在 Ubuntu Linux 32 位上
lamboot -v mpirun -np 4 fds5_mpi_intel_linux_32 mycase.fds lamhalt -v
在 Ubuntu Linux 64 位上
lamboot -v mpirun -np 4 fds5_mpi_intel_linux_64 mycase.fds lamhalt -v
lamboot 命令啟動 MPI 環境。
mpirun 命令啟動 MPI 應用程式,在本例中為 fds5_mpi_intel_linux_32 或 fds5_mpi_intel_linux_64,其中 -np 4 是啟動的程序數。程序數必須與跨越輸入案例的計算域的網格數相匹配。
計算結束後,MPI 伺服器將使用 lamhalt 命令安全停止。
監視進度
[edit | edit source]給定計算的診斷資訊會寫入一個名為 mycase.out 的文字檔案,該檔案位於 mycase 資料夾中。此檔案中包含 CPU 使用率和模擬時間,您可以透過它來監控程式的進度。
應用程式 System->Administration->Gnome System Monitor 是一個程序檢視器,它可以動態即時地顯示正在執行的系統。
停止計算
[edit | edit source]要在計劃時間之前停止計算,請在 mycase 資料夾中建立一個名為 mycase.stop 的空檔案。此檔案的單純存在會優雅地停止程式,使其將最新的流變數轉儲出來以便在 Smokeview 中檢視。
由於計算可能需要數小時甚至數天的時間,因此可以透過在 fds 檔案中新增
&MISC RESTART=.TRUE.
來重新啟動 FDS。有關更詳細的資訊,請參見 FDS 使用者指南。
視覺化結果
[edit | edit source]
Smokeview 在模型執行之前、期間和之後都會使用
• 在執行之前,檢查輸入資料;
• 在執行期間,監控模擬的進度;
• 在後處理步驟中,在計算完成後視覺化 FDS 資料。
在 Windows XP 上,可以透過雙擊 case 資料夾中名為 mycase.smv 的檔案來啟動 Smokeview。
在 Ubuntu Linux 上,透過在命令提示符中鍵入以下命令來執行 Smokeview
在 Ubuntu Linux 32 位系統上:smv5_linux_32 mycase.smv
在 Ubuntu Linux 64 位系統上:smv5_linux_64 mycase.smv
如果不確定,只需檢視 FDS/FDS5/bin 資料夾即可找到 Smokeview 二進位制檔案的正確名稱。
在 Smokeview 中,可以透過右鍵單擊圖形視窗來訪問選單。可以使用 Load/Unload 選單讀取要視覺化的資料檔案。可以使用 Show/Hide 選單更改視覺化的顯示方式。
大多數情況下,選單選項都是不言自明的。如有需要,有關使用 Smokeview 的幫助,請參見[Smokeview 使用者指南]。
輸出檔案
[edit | edit source]FDS 在 mycase 資料夾中寫入許多輸出檔案
診斷輸出:mycase.out 檔案包含輸入引數列表和各種重要數量的統計資訊,包括 CPU 使用率。
熱釋放率及相關數量
火災的 HRR(熱釋放率)以及其他全域性能量相關數量會自動寫入名為 mycase_hrr.csv 的文字檔案中。
裝置輸出資料:與特定裝置(連線溫度、煙霧遮擋、熱電偶等)相關的資料以逗號分隔格式輸出到名為 mycase_devc.csv 的檔案中,以及許多其他型別的檔案,這些檔案由 Smokeview 用於視覺化。
以逗號分隔格式的檔案可以輕鬆匯入 Openoffice.org Calc 或 Microsoft Excel 以進行進一步分析。