OpenVOGEL/氣動彈性力學
透過將非定常渦格法耦合到一個簡單的基於有限元的彈性模型,OpenVOGEL試圖提供一種解決與彈性升力面相關的一些複雜問題的基本方法,即
- 由於機翼變形導致的氣動特性變化(升力斜率和力矩斜率的變化)
- 失速
- 副翼反轉
- 對陣風的響應
- 顫振(氣動彈性共振)
這些問題很重要,因為它們可能導致飛機處於不安全狀態,甚至造成災難性後果。前三個問題屬於“靜態氣動彈性力學”領域,後兩個問題屬於“動態氣動彈性力學”領域。請注意,後兩個問題在我們目前的計算模型中尚未得到很好的調整。

-
顫振機翼
-
處於發散顫振的機翼。
氣動彈性力學是一個非常廣泛的課題,它主要處理流體(空氣)與彈性邊界之間的相互作用,即在受到載荷時能夠發生變形的邊界。當流體流動時,它會載入邊界,因此邊界會變形,反過來,流動也會發生改變。整個過程處於永久的反饋中,因此我們稱之為相互作用。VOGEL僅面向由於空氣載荷引起的飛機機翼的靜態和動態響應。如果您不熟悉這個主題,我建議您在開始之前先閱讀以下書籍:結構動力學和氣動彈性力學導論,Hodges & Pierce,劍橋大學出版社。正如您將在其中注意到的那樣,解決機翼上的氣動彈性問題並不總是容易的任務。首先,需要一個基於數學模型的演算法,該演算法能夠提供非定常空氣載荷(大多數情況下,穩態空氣動力學不適合解決此類問題)。其次,必須以某種方式對飛機結構進行建模,最後,必須根據運動定律建立結構運動與空氣載荷之間的聯絡。透過使用UVLM作為非定常空氣動力學求解器平臺,VOGEL中唯一的“額外”內容是結構動力學問題的解決方案以及引入一個有效的連線這兩個問題的耦合連結。
對機翼結構進行建模有很多選擇。最實用的方法是使用有限元方法。有幾種選擇
- 使用3D實體單元。
- 使用3D殼單元(DKT單元、Reissner-Midlin或任何其他板理論)。
- 使用簡單的3D梁單元。
- 使用單元的混合。
由於空氣動力學問題已經佔據了大量的自由度,因此第三種選擇可以非常有效,因此它是所選方案。VOGEL使用簡單的2節點3D梁單元網格來模擬機翼結構。這樣做可以獲得減少的自由度,並且可以實現一個簡單但非常有效的連線。因此,機翼小部分的彈性和慣性特性集中在沿機翼展向分佈的相關梁單元上。
除了單元型別之外,另一件非常重要的事情是用於解決動態問題(運動方程)的方法。也有幾種選擇可以做到這一點
- 直接時間積分法
- 模態分解法。
VOGEL中實現了第二種方法。儘管它需要一些初始工作來計算動態模態,但是一旦解決了這個問題,它就更容易處理,並且需要更少的記憶體使用量。主要缺點是它僅線上性條件和低變形下有效。這意味著,例如,如果我們計劃超出蒙皮屈曲變形,它將不再提供準確的結果。但是,對於大多數問題,它確實提供了很好的結果。
“氣動彈性連線”是一種系統,它一端將渦格上的空氣動力載荷耦合到結構,另一端將結構響應耦合到渦格運動。
氣動彈性連線包括三個基本步驟
- 來自渦格某些環的空氣載荷被髮送到結構上的某些節點。
- 由於這些作用(每個結構節點上的力和力矩),並且根據牛頓運動定律,結構會發生運動。
- 結構自由度的運動改變了渦格的幾何形狀,迴圈重複。
很自然地認為,這可以透過以下物件型別將問題分成兩部分來最好地完成
- 機械連線:每個連線都包含一組與梁單元相關的渦格弦向環條(請參閱下圖以更好地瞭解)。
- 運動學連線:每個連線都包含一個結構節點,該節點連結到渦格上的一組弦向節點點。我們將假設這些運動學連線以剛性方式起作用,也就是說,結構節點上的每個位移和旋轉都被髮送到連結的渦格節點,就好像它們是剛性連線的一樣。
所有必要的資訊都可以儲存在上述物件型別的集合中。為了將此想法付諸實踐,VOGEL在兩個單獨的.NET類中處理它們,這些類持有對與渦格和結構相關的一組資料的引用。這兩個類在計算之前都載入了所需的元素,然後用於更新力和運動。這將在下面進行解釋。
MechaLink類包含一個結構梁單元和一個渦環列表。它包含一個非常重要的方法:“TransferLoads()”。此方法使用每個控制點的位置和每個連結的渦環上的空氣動力載荷來構建一個總載荷向量,該向量假定在梁單元的兩端均勻分佈。

KinematicLink類包含弦向渦格節點點的列表和僅一個結構節點。它包含方法“TransferMotion()”,該方法基於結構節點的結構位移和速度更新渦格點的位置。為此,此類在單獨的列表中儲存渦格點的初始位置,以便每次需要更新時都可以將位移新增到原始位置。
如前所述,渦格節點將根據簡單的運動學定律(“剛性連線”)遵循其相關結構節點的位移。可以考慮不同的定律,儘管在沒有測量結果表明如何更好地改進的情況下,此時使問題變得更加複雜沒有任何意義。

透過引入所需的MechaLinks和KinematicLinks,問題的大部分已經得到了很好的解決。這兩個類將以非常有組織的方式提供氣動彈性耦合所需的所有資訊。然而,問題中最重要的部分仍然懸而未決,即找到平衡狀態的演算法。這裡有幾種方法可以繼續進行,選擇哪一種將取決於我們感興趣的分析型別。
如果我們只對靜態穩態感興趣,那麼可以選擇簡單的顯式時間積分。此類演算法從不使用新的預測狀態來反饋自身以收斂到新的平衡狀態。下面顯示的演算法1屬於此類。如果氣動彈性傳遞趨向於靜態穩態,則該演算法將保證平衡,並且將非常有效。
如果我們關注過渡狀態,那麼我們需要一個更復雜的演算法,因為我們需要在每個時間步尋找平衡。在這種情況下,我們需要一個隱式演算法,在每個時間步多次重新計算氣動力和位移,直到運動方程一致,也就是說,直到預測位置的載荷與考慮時間步後的預測運動處於動態平衡。一種方法是遵循高斯-賽德爾方案。演算法2和3就是這樣。
- 計算右端項
- 構建矩陣
- 計算環量
- 計算氣動力
- 將載荷傳遞到結構
- 用新的載荷預測模態運動
- 將運動傳遞到網格
- 計算尾跡節點上的速度
- 更新尾跡
- 如果 t > 1
- 計算尾跡節點上的速度
- 更新尾跡
- 找到 t+1 時的平衡狀態
- 計算右端項
- 構建矩陣
- 計算環量
- 計算氣動力
- 將載荷傳遞到結構
- 用新的載荷預測模態運動
- 將運動傳遞到網格
- 如果未收斂,返回到 a。
- 找到 t+1 時的平衡狀態
- 如果不是第一個隱式步驟,則將尾跡重新建立到前一個時間步。
- 計算尾跡節點上的速度
- 更新尾跡
- 計算右端項
- 構建矩陣
- 計算環量
- 計算氣動力
- 將載荷傳遞到結構
- 用新的載荷預測模態運動
- 將運動傳遞到網格
- 如果未收斂,返回到 a。
解耦運動方程的積分需要一個合適的演算法。這裡有很多有用的演算法,如“有限元程式”(Bathe,2006)中所述。由於其簡單性,我開始使用“中心差分法”。但是,該方法和其他方法並不總是穩定的,因此,在某些時間步長下,某些動態模式可能會出現收斂問題。Newmark方法最適合解決此問題,因為它被證明對任何時間步長都是無條件穩定的,並且因為它不會引入數值阻尼(儘管對於過大的時間步長,它確實會壓縮或擴充套件頻率)。
關於運動方程積分的一個非常重要的事實是,它們與UVLM同時求解,因此兩種方法的時間步長應該以某種方式匹配。通常,結構方程的積分將需要與UVLM不同的時間步長,因此需要對其中一個進行劃分。因此,最長所需的時間步長可以劃分為等間距的步驟,並且可以使用此細化來積分另一組方程。例如,假設UVLM需要0.01s的時間步長才能在尾跡上獲得規則網格(此條件取決於弦向渦旋的長度和空速),並且與最高動態模式相關的方程需要0.001s的時間步長才能獲得準確的響應。在這種情況下,我們可以在每個空氣動力學步長中執行10個結構時間步長。為了獲得最高的精度,應在每個結構時間步長更新空氣動力載荷,但這需要巨大的計算量。此外,如果尾跡上的環量沒有正確更新,它也不會保證更高的精度。因此,我們的解決問題的方法適用於存在軟氣動彈性耦合的情況。還有其他先進的技術可以實現良好的氣動彈性連線,但是,它們都需要迭代更新空氣動力載荷,從計算的角度來看,這非常昂貴。