跳轉至內容

OpenVOGEL/使用者指南/指南 3 第一部分

來自華夏公益教科書

OpenVOGEL 控制檯

[編輯 | 編輯原始碼]

OpenVOGEL 提供了一個控制檯應用程式,因為它與基於 GUI 的程式相比可以提供更多額外功能。

  • 它可以在不同的作業系統中輕鬆執行。
  • 它可用於自動化分析和自定義後處理。
  • 它不在 GUI 執行緒下執行(它是一個獨立程序)。
  • 它可以由不同的程序驅動。
  • 它對於純粹的資料探勘更快。

此外,OpenVOGEL 控制檯將允許您繫結 Intel 數學核心庫,該庫在求解大型線性方程組時效率很高。

執行控制檯

[編輯 | 編輯原始碼]

在 Windows 中執行控制檯非常容易,只需開啟終端並呼叫其可執行檔案,或雙擊它。您也可以將控制檯與 *.ave 副檔名關聯,然後只需雙擊 OpenVOGEL 指令碼檔案來啟動它們(推薦方法)。這可以透過 Windows 中的 用...開啟 工具輕鬆配置。

控制檯可以執行兩種模式

  • 命令列模式:您輸入一個命令關鍵字,它將被執行。最終,您需要根據要求提供更多資訊,例如檔案路徑。控制檯始終以這種模式啟動。
  • 伺服器模式:當您輸入 server 模式時,控制檯將停止讀取透過鍵盤輸入的命令,並開始監聽埠 11000 上的 UDP 訊息。這些訊息是非常簡短的命令,告訴控制檯該做什麼。這種模式的目的是建立與 Tucan 的通訊。

也許您會想知道計算伺服器有什麼好處。好吧,基本上,最大的好處是您可以將它連線到 Tucan,而無需重新編譯 Tucan!因此,您可以在同一個模型上測試計算核心的不同版本,而無需關閉 Tucan 中的模型。您在 Tucan 中唯一需要做的是在按下開始按鈕之前告訴它您想要在活動伺服器上執行計算。

安全警告:由於控制檯打開了一個 UDP 套接字,請小心不要執行來自可疑釋出者的版本(這適用於任何程式)。有人可能會生成一個惡意版本,在您“計算”時攻擊您的計算機。通常情況下,Windows Defender 或其他防火牆應該會意識到這一點,並關閉外部世界的套接字,但如果您想要 100% 確定,請從 Github 網站(應該是非常安全的)下載官方版本,或編譯您自己的本地版本。不要從提供“第三方服務”的可疑網站安裝軟體,除非您 100% 信任它們。

命令和語法

[編輯 | 編輯原始碼]

OpenVOGEL 控制檯命令是一個關鍵字,後面跟著一系列引數。給定命令的所有引數都寫在同一行,並用分號(“;” 字元)隔開。選擇此分隔符只是為了允許輸入包含空格的檔案路徑。

關鍵字概述

[編輯 | 編輯原始碼]

以下列表給出所有可用的命令。命令的表示法如下

keyword;<argument 1 {remark}>;<argument 2 {remark}>[;<optional argument 1 {remark}>[;<optional argument 2 {remark}>;...]]

通用實用程式命令

help
pause
readback
server
test
quit

檔案 I/O

load;<native OpenVOGEL file path>
load_script;<file path>
print_report
save_report;<file path>

MKL 設定

mkl_path;<MKL directory path>
mkl_status
mkl_test
mkl_on
mkl_off

控制表面偏轉

set_delta;<lifting surface name>;<region index>;<deflection angle {degrees}>

流屬性

set_alfa;<incidence angle {degrees}]>
set_altitude;<standard atmosphere altitude {m}>
set_density;<air density {kg/m³}]>
set_omega;<Omega X {rad/s}>[;<Omega Y {rad/s}>[;<Omega Z {rad/s}>]]
set_velocity;<Velocity X {m/s}>[;<Velocity Y {m/s}>[;<Velocity Z {m/s}>]]
set_viscosity;<air viscosity {kg/(m.s)}]>

模擬

alfa_delta_scan;<alfa 1 {deg}>;<alfa 2 {deg}>;<alfa step {deg}>;<surface name>;<region index>;<delta 1 {deg}>;<delta 2 {deg}>;<delta step {deg}>
alfa_scan;<alfa 1 {deg}>;<alfa 2 {deg}>;<alfa step {deg}>
delta_scan;<surface name>;<region index>;<delta 1 {deg}>;<delta 2 {deg}>;<delta step {deg}>
omega_scan;<omega max {rad/s}>;<omega steps>;<min mass {kg}>;<max mass {kg}>;<mass steps>
steady
aeroelastic
free_flight

伺服器模式

steady;<VOG file path>
aeroelastic;<VOG file path>
free_flight;<VOG file path>

指令碼

[編輯 | 編輯原始碼]

OpenVOGEL 控制檯允許您透過輸入檔案一次載入一系列命令。為此,請使用 load_script 命令,並將 指令碼 檔案的路徑作為引數。此功能主要方便避免重複輸入所有命令和引數,因為在看到第一次模擬的結果後,通常需要調整引數。

執行指令碼時,控制檯不會詢問必要的資料,因此必須將其作為引數傳遞。例如,如果您呼叫命令 load,它通常會詢問檔案路徑。但是,在指令碼中,您將將其作為引數載入

load;<the file path>

啟用 Intel MKL

[編輯 | 編輯原始碼]

從 2020 年開始,我們終於能夠連結 Intel 數學核心庫 (MKL) 以提高計算效能。此庫目前可以從 OpenVOGEL 伺服器訪問(顯然 MKL 不喜歡駐留在 Tucan 的執行緒中)。您需要做的第一件事是從 Intel 提供的軟體包中安裝 Intel MKL。完成此操作後,您需要搜尋包含 mkl_rt.dll 檔案的資料夾,該檔案是一個動態庫,其中包含整個 LAPACK 和 BLAS 過程集(實際上,我們只需要其中的一部分,但為了避免建立特定 dll 的繁瑣工作,我們必須這樣做)。然後您開啟控制檯並輸入

mkl_path;<the path to mkl_rt.dll>
mkl_test
<test report>

控制檯將嘗試使用該庫執行一些簡單的操作,如果成功,您將看到 TEST PASSED。從那時起,每次您開啟控制檯時,預設情況下都會使用 MKL。要再次將其關閉,您需要傳遞 mkl_off 命令。要再次開啟它(不出所料),您輸入 mkl_on。如果您忘記了狀態,請輸入 mkl_status

華夏公益教科書