行政院國家科學委員會補助專題研究計畫成果報告
※※※※※※※※※※※※※※※※※※※※※※※※※
※
基因演算法於二維空蝕水翼逆向設計及最佳設計之應用(II)
※
※
Application of Genetic Algorithms to Inverse Design and Optimal
※
※
Design of Two-Dimensional Cavitating Hydrofoils (II)
※
※※※※※※※※※※※※※※※※※※※※※※※※※
計畫類別:█個別型計畫
□整合型計畫
計畫編號:NSC-90-2611-E-002-031
執行期間:90 年 08 月 01 日至 91 年 07 月 31 日
計畫主持人:郭真祥
本成果報告包括以下應繳交之附件:
□赴國外出差或研習心得報告一份
□赴大陸地區出差或研習心得報告一份
□出席國際學術會議心得報告及發表之論文各一份
□國際合作研究計畫國外研究報告書一份
執行單位:國立台灣大學造船及海洋工程學系
中
華
民
國
91 年
05 月
31 日
行政院國家科學委員會專題研究計畫成果報告
基因演算法於二維空蝕水翼逆向設計及最佳設計之應用(II)
Application of Genetic Algorithms to Inverse Design and Optimal Design of
Two-Dimensional Cavitating Hydrofoils (II)
計畫編號:NSC-90-2611-E-002-031
執行期限:90 年 08 月 01 日至 91 年 07 月 31 日
主持人:郭真祥
國立台灣大學造船及海洋工程學系
計畫參與人員:劉佳龍 國立台灣大學造船及海洋工程學系
金尚聖 國立台灣大學造船及海洋工程學系
一、中文摘要 本研究的目標在於處理二維空蝕水翼最佳化的 問題。其中最佳化方法,採用基因演算法。基因演 算法係模擬自然演化之過程,以求得最佳解之方 法。基於其強韌性及全域搜尋之優點,目前已被廣 泛應用於各種工程領域之最佳化設計算上。鑑於上 述,藉由基因演算法以及勢流計算程式,針對二維 空蝕水翼進行最佳化,發展一套二維空蝕水翼設計 工具。設計目標的達成分為兩個步驟,首先求取最 佳的壓力分佈,其中將目標的壓力分佈透過限制條 件型態呈現,經由基因演算法尋求符合設計條件的 最佳壓力分佈。壓力分佈的表示方式採用 B 木條曲 線(B-spline)來表示,藉由其控制點的移動,即可 使曲線能夠產生局部變形,同時導入基因演算法求 取控制點,讓壓力分佈滿足設定之最佳化條件。其 次,將前一步驟所得最佳壓力分佈設為目標壓力分 佈,由該壓力分佈逆向計算對應的二維水翼狀,其 中二維翼外形同樣以 B 木條曲線表示,並結合勢流 計算程式與基因演算法,以求得對應於最佳壓力分 佈的二維翼幾何外形。將上述兩個步驟加以結合, 以建立一具實用性的二維空蝕水翼設計工具。 關鍵詞:二維空蝕水翼,幾何最佳化設計,基因演 算法。 Abstr actThe purpose of this project is to deal with optimal design problems of two-dimensional cavitatiing hydrofoils. For the optimization we will adopt genetic algorithms (GAs). Gas are known to be robust optimization algorithms and have been getting wide popularity in the field of numerical optimization. In the research we divide the method into two steps. First, we try to optimize the pressure distribution of known hydrofoil section by GAs. And then we link the potential flow calculation method for two-dimensional hydrofoils, and GAs to solve the inverse problems with a specified pressure distribution.
Keywor ds: Two-dimensional Cavitating Hydrofoil,
Geometric Optimal Design, Genetic Algorithms.
二、緣由與目的 在船舶方面,船形設計高速化,螺槳設計上必 需更能減少振動、增加效率、靜音等。在此背景下, 設計更能符合需求的新水翼以成為一重要的研究 主題。基於上述原因,本研究主要目的在於建立一 套有效的設計工具以期能夠改變現有的水翼,使之 達到性能上的要求。在研究方式上,將二維水翼設 計問題分成壓力分佈最佳化及逆向設計二階段進 行,採用二階段設計法的主要原因在於透過設計一 個合理的壓力分佈,通常吾人可以得到一個較為合 理的二維水翼。另外吾人亦可對壓力分佈加入設計 限制條件,使水翼達到性能上的要求。 關於二維水翼設計相關研究,在國內外均有論 文發表。在逆向設計方面 1945 年 Lighthill[1]以保 角轉換方法(conformal mapping)設計滿足壓力分 佈之二維水翼。1987 年 Giles、Drela、Thompkins[2] 以有限體積法(finite volume method)求解尤拉方程 式(Euler equation),再以牛頓法決定滿足壓力分 佈之二維水翼。1996 年 De Flaco、Del Balio、Della Chioppa 及 Tarantino[3] 以 發 展 策 略 ( evolution strategies, ESs)與基因演算法(genetic algorithms, GAs ) 結 合 而 成 的 培 育 者 基 因 演 算 法 ( breeder genetic algorithms, BGAs)對已知的壓力分佈進行反 向設計。1996 年國內辛敬業教授[4]採用積分翼表 面對應之速度場,從而得到速度勢。再以邊界元素 法求解特殊邊界條件之格林函數(green function) 求得設計之二維翼面。
在水翼最佳化方面,1990 年 van den Dam、van Eanmond、及 Slooff[5][6]以勢流理論描述壓力分 佈,再以梯度方法求解最佳化壓力分佈,從而得到 最佳化水翼。1995 年 De Flaco[7]等人以平行化基因 演算法,對升力係數、阻力係數等結合成的適應函 數 , 求 得 最 佳 化 的 水 翼 。 同 年 Obayashi 及 Takanashi[8]基因演算法結合逆向設計求得最佳化 水翼。在國內則有潘大知教授及邱永裕碩士[9]以平 行化基因演算法以直接設計法對二維水翼進行最 佳化設計。 基於對基因演算法之優點之體認以及其應用效 果相關文獻之研讀,加上吾人使用基因演算法的經 驗[10] [11],本研究將二維空蝕水翼設計最佳化分
成二階段進行計算,皆以基因演算法處理反算及目 標壓力分佈最佳化等最佳化問題。 三、基因演算法 基因演算法是基於物種競爭及生物繁衍變異 的觀念所建立的一種最佳化方法。在達爾文提出的 “演化論”中,主張“物進天擇,適者生存”。其 中敘述,在資源有限的環境下,生態群體中的每一 個生物個體,為了生存,而必須相互競爭。在競爭 的過程中,適應程度較差的個體所爭取到的資源, 相對少於適應程度較佳的的個體。適應程度不佳者 也較為容易被環境中選擇機制淘汰,成為競爭的失 敗者。適應程度佳的個體因為能獲得較多的資源其 繁殖子代的機會較多,能夠有利其留下自己的基 因。 同時在繁衍的過程中,透過有性生殖的方 式,讓個體間交換基因組合,產生新的子代。以及 基因突變的機制,可以使基因組合多樣化,增加適 應環境的機會。藉著物種競爭及繁衍變異的作用, 物種一代一代逐步適應環境,成為更能夠適應環境 的族群。 基因演算法包含以下步驟:首先,隨機產生 初始族群。之後,族群中的個體由適應函數評估其 適應能力,適應能力較佳者配與較高的機率,使之 能在選擇機制下生存,也可以獲得較多的交換 (crossover)機會。之後,由選擇機制進行淘汰,在 此一階段適應能力不佳的個體會被剔除。接著由基 因操作重組基因使組合多樣化,產生新的子代。新 的世代產生後,再次評估、選擇、基因操作、產生 新世代,重複循環直至最佳解達到穩定的狀態。流 程圖如圖(1)所示。 隨機產生一組解的群體 計算每個解的適應度 選擇適應度較高的解 進行交換運算 進行突變運算 程式結束 程式開始 NO NO 滿足解的個數設定數 ? YES 滿足演化世代的數目 ? YES 圖 1 基因演算法流程圖 近年來基因演算法被廣泛使用在各種領域,同 時也證明了其在最佳化問題,具有強健的能力。 四、依據可行性為基礎的懲罰方式 以基因演算法解有限制條件的最佳化問題時, 最常用來處理限制條件的方法為將限制條件轉換 成懲罰函數(penalty function)的方式。假設某個限制 條件的最佳化問題為: minimize:
f
(
x
)
(1) subject to:n
i
x
x
x
K
k
x
h
J
j
x
g
u i i l i k j,...,
2
,
1
,...,
2
,
1
0
)
(
,...,
2
,
1
0
)
(
=
≤
≤
=
=
=
≥
其 中f
(
x
)
代 表 欲 求 最 小 值 的 目 標 函 數 ,)
(
x
g
j 代表第 j 個不等式限制條件,h
k(
x
)
是第 k 個等式限制條件,x
i則為第 i 個變數,變數的範圍 限制在區間[x
il,x
iu]內。透過懲罰函數則可以將 目標函數改寫成:∑
+ =+
=
J K j j jg
x
R
x
f
x
F
1 2)
(
)
(
)
(
(2) 其中F
(
x
)
代表適應函數,其定義為目標函數 與限制條件衍生的懲罰項的總和。在這裡R
j代表懲罰參數,而
g
j(
x
)
代表的是懲罰函數值,當)
(
x
g
j 大於 0 時傳回 0,當g
j(
x
)
小於 0 時傳回函 數值的絕對值。另外 k 個等式形的限制條件可以藉 由下式轉換成不等式。K
k
x
h
x
g
J+k(
)
≡
δ
−
k(
)
≥
0
=
1
,
2
,...
(3)δ
代 表 一 個 很 小 的 正 整 數 , 例 如 設 為 0.000001。如此不等式條件就會增加至 J+K 個,如 此即可將等式限制條件併入適應函數中。 然而要使用懲罰函數求解帶有限制條件的最佳 化問題,會遭遇到的困難在於如何決定懲罰參數的 大小。懲罰參數太小會導致懲罰函數沒有作用,懲 罰參數太大卻也可能使某些有潛力的不適用解在 還沒發揮作用時就被淘汰。要決定懲罰參數的大 小,常常需要進行許多次的試誤。在累積大量的計 算經驗後,方能決定較為合適的懲罰參數。在這過 程中往往耗費調相當的時間成本。 Deb 於文獻[12]中提出「依據可行性為基礎的 懲罰方式」。這個方法主要由三個規則組成: (1.) 任何 可用 (feasible) 的 解 都 比 所 有 不 適 用 (infeasible)的解好。 (2.) 在兩個可用解中,其目標函數值較好的為 佳。 (3.) 在兩個不適用解中,受到懲罰較少的解比 較好。 在這個方法下,將不再需要懲罰函參數。第一 條規則僅判斷解是否有受到懲罰。第二條規則僅比 較目標函數。而第三條規則僅比較接受懲罰的程 度。如此便不必同時比較目標函數值與懲罰函數值 而可以將適用解與不適用解清楚的區分出來。以可 行性為基礎的懲罰方式之適應函數可定義如下:
+
=
≥
=
∑
=otherwise
x
g
f
m
j
for
x
g
if
x
f
x
F
m j j j 1 max(
)
,...,
2
,
1
0
)
(
)
(
)
(
(4) 上式中f
max為適用解中最差的目標函數值,因 此所有不適用解的適應函數值皆較適用解的適應 函數值低。 五、二階段設計法 在二維水翼設計問題中,我們經常遭遇到兩類 設計情況,分別為直接設計問題(Direct problem) 和 逆向設計問題(Inverse problem)。依據文獻[1],直接 設計問題指的是由給定的二維水翼幾何形狀計算 其流場的特徵如流速及壓力等。直接設計法通常採 用最佳化演算法與流體動力解析程式結合。演算過 程中疊代二維水翼的幾何來對給定的目標函數進 行最佳化(例如求最小的阻力係數)。在逆向設計 問題中採用設計變數當作描述壓力分佈的參數,求 得在某些要求條件下(例如最小負壓力係數必須大 於水之蒸氣壓)最佳的壓力分佈,而非直接描述二 維水翼的幾何形狀。本研究採取二階段逆向設計的 架構,對已知的二維水翼進行局部的修改。第一階 段中,將對於設計變數如升力係數、空蝕係數等之 要求,利用限制條件來表示,再透過最佳化的方 法,求得滿足限制條件的壓力分佈。第二階段的工 作則負責將第一階段得到的壓力分佈,作為目標壓 力分佈,以流體動力解析程式與基因演算法結合, 求得對應壓力分佈的二維水翼幾何形狀。 1.壓力分佈最佳化 流體機械如螺槳、飛機翼等在流體中工作時, 均利用其二維水翼之上下表面壓力分佈的不同所 產生的壓力差,來提供此流體機械所需的推力、吸 力或升力。壓力分佈曲線的形狀、包含的面積、壓 力係數的最小值都會造成流體機械性能上的差 異。正因為有此一特性,吾人可藉由設計壓力分 佈,使對應的二維水翼更加符合性能上的要求。 在以基因演算法進行最佳化前,首先需建立壓 力分部曲線的表示方式。從設計的角度上來看,吾 人希望曲線的表示方法能使用較少控制點而準確 地表示。同時也希望在使用上有較高的自由度,可 以方便地對壓力分佈曲線形狀進行局部的調整。基 於上述考量,在本研究中壓力分佈採用 B 木條曲線 表示。 n B 木條曲線的定義與特性 一條由 n+1 個控制點組成的 k 階 B 木條曲線 (B-spline curve),其定義如下:1
2
)
(
)
(
max min 1 1 ,+
≤
≤
≤
≤
=
∑
+ =n
k
t
t
t
t
N
D
t
p
n i k i i (5) 上式中P
(
t
)
為曲線上任一點的位置,是參數t
的函數。D
i為曲線第 i 個控制點的位置。N
i,k(
t
)
是階數(order)k 的 B 木條曲線基底函數(B-spline Basis function)。定義為:
≤
<
=
+otherwisw
v
t
v
if
N
i i i0
1
1 1 , (6a) 1 1 , 1 1 1 , ,)
(
)
(
)
(
)
(
+ + − + + − + −−
−
+
−
−
=
i k i k i k i i k i k i i k iv
v
t
N
t
v
v
v
t
N
v
t
N
(6b)i
v
是 knot vector 的元素。在本文中使用 Open Uniform knot vector,其計算規則如下:1
2
2
1
1
1
0
+
+
≤
≤
+
+
−
=
+
≤
≤
+
−
=
≤
≤
=
k
n
i
n
k
n
v
n
i
k
k
i
v
k
i
v
(7) (5)式中 B 木條曲線只有在一部分範圍的參數 值下才不是零。在範圍外的 B 木條曲線基底函數皆 為零。B 木條曲線基底函數的這一項特性使得 B 木 條曲線的控制點僅能影響一定範圍內的曲線。所以 吾人可以藉由調整部分控制點,改變某一部分曲線 而不影響其他部分的曲線段。B 木條曲線還可以經 由改變階數(order)調整曲線的平順程度。當階數越 高,曲線會越平滑。反之,階數數越低,曲線則越 接近控制點的連線。 除了以上兩點,B 木條曲線的起點與終點分別 是第一點控制點及最後一點控制點。而端點的斜率 也分別由控制點的前兩點B
1、B
2與後兩點B
n、 1 + nB
決定。 n 以 B 木條曲線描述壓力分佈曲線 利用 B 木條曲線,表示壓力分佈,其中將水翼 上下表面之壓力分佈分開(以導緣及尾緣為分界 點),並各以一條 B 木條曲線表示,如圖(4.1)所示, 上方的曲線對應水翼上表面的壓力分佈,下方的曲 線則對應下表面的壓力分佈。兩條曲線由左到右分 別由 11 個控制點組成,在假設無攻角狀況下,第 一點的控制點座標固定在(0,1),以及最後一點控制 點的 x 座標固定為 1。同時上下兩條曲線最後一點 設為同一點,使之滿足水流流離尾緣時上下翼面的 速度相同(亦即壓力相同)。改變其餘控制點的 xy 座 標值,來對整個壓力分佈曲線之形狀進行調整。 0 0.2 0.4 0.6 0.8 1 x/C 0.8 0.4 0 -0.4 -0.8 CpPressure distribution curve Control points 圖 2 壓力分佈建構圖 n 以基因演算法進行壓力分佈的最佳化 本階段的主要工作,在於修改已知二維水翼的 壓力分佈使水翼能夠更符合工作還進的限制與需 求。因此吾人參考文獻[6],設定壓力分佈最佳化問 題如下 minimize :
f
(
Α
)
=
C
L−
C
L−specified (8) subject to: 9 . 0 1 . 0 0 2 ) ( . 5 9 . 0 1 . 0 0 0 ) ( . 4 0 ) ( . 3 0 ) ( . 2 1 0 0 ) ( . 1 inf 5 inf 4 1 . 3 * 2 . . 1 < < ≥ − = Α < < ≥ − = Α ≥ − = Α ≥ − = Α < < > − = Α − − → C x in N g C x in N g dx dC S g C C g C x in C C g l lection u lection C x u p p peak suction p u p l p Cp.u 及 Cp.l 分別表示水翼上表面及下表面的壓 力係數,而 Cp*表示負的空蝕係數。S 表示水翼上 表面尾緣壓力分佈曲線斜率最大值。Ninflection-u 及 Ninflection-l 分別代表上下表面壓力分佈曲線上 反曲點的個數。另外 A 為壓力分佈曲線控制點,下 標 1 至 11 為翼型下表面壓力分佈曲線控制點,下 標 12 至 22 為上表面壓力分佈曲線控制點。]
[
Α
1Α
2Α
3Α
22=
...
Á
其 中 向 量Α
i 包 含 個 控 制 點 座 標 值 , 即
=
Α
i i iy
x
。 此最佳化問題定義為要求升力係數達到給定 值,並且符合限制條件。升力係數可由下式求得:)
(
)
(
2
1
. 1 0 . 2C
x
d
C
C
C
U
L
C
L=
=
∫
pl−
pu ∞ρ
(9) 其中限制條件 g1為確保上下兩條壓力係數曲 線包圍的面積為正,也就是升力方向向上。限制條 件 g2為限制上方的壓力曲線最小值不會小於負的 空蝕係數,此一限制乃考慮水翼上表面發生空蝕現 象的避免。限制條件 g3為參考文獻[8]所得,限制 尾緣壓力梯度的變化,當尾緣壓力梯度變化較小 時,可以減少流離的發生。然而文獻[8]為設計飛機 翼斷面,可能與水翼上有所不同,所以吾人將尾緣 壓力分佈曲線斜率最大值以 S 表示。另外加上限制 條件 g4、g5控制壓力分佈曲線的平滑度。限制條件 g4限制二維水翼上表面的壓力分佈曲線中段不可 以有反曲點發生。限制條件 g5限制二維水翼下表面 的壓力分佈曲線反曲點不可多於兩個以上。限制條 件 g4、g5為吾人觀察 NACA 系列等水翼所得之結 論。 在最佳化過程,給定初始壓力曲線幾何控制點 A0。壓力曲線幾何控制點 A 的搜尋範圍如下式所 示:Ä×
Á
Á
=
0+
(10)
∆
∆
∆
∆
∆
∆
=
22 22 2 1 2 1...
...
y
x
y
y
x
x
ÄX
其中Ä×
代表搜尋範圍。 上述的壓力分佈表示方式與基因演算法結合, 每一個壓力分佈扣除固定的控制點座標則對應到 38 個變數。我們將變數變化的範圍設定為-0.05 xi0 <△xi < 0.05xi0 及 -0.1(yi0-1) <△yi < 0.1(yi0-1)。其中 y 方向座標值 yi0-1,表示 Cp 值以 1 為基 準值,當沒有速度擾動時,壓力係數應為 1。 以基因演算法進行壓力分佈最佳化步驟如下 : 步驟一、產生初始族群。 步驟二、計算族群中個體的的適應值。首先將 個體由二進位碼解碼還原成 B 木條曲線控制點 組。接著呼叫 B 木條曲線副程式將控制點繪成壓力 分佈曲線。由(9)式計算壓力分佈曲線所包圍的面積 可得到升力係數。然後檢查每一個體是否違反限制 條件。若無違反限制條件,則升力係數數值即為適 應含數值。否則以「依據可行性為基礎的懲罰方式」 對違反限制條件的個體計算其適應含數值。 步驟三、進行菁英策略。將具有最高適應含數 值的個體無條件地複製到新一代的族群中。 步驟四、應用基因操作產生下一代的個體。依 據每一個體的適應含數值,以競賽選擇方式選擇一 對親代個體,經由交換和突變產生一對子代個體。 步驟五、若所需的下一代個體數未達族群大 小,回到步驟四。否則將此新的一代當做下次演化 的世代。 步驟六、若未達最大世代數,回到步驟四。 步驟七、將最後一代中,具由最高適應含數值 的個體當作最佳解輸出。 上述全部步驟之流程圖如圖(3)所示。 隨機產生一組解的群體 計算每個解的適應度 選擇適應度較高的解 進行交換運算 進行突變運算 程式結束 程式開始 NO NO 滿足解的個數設定數 ? YES 滿足演化世代的數目 ? YES 圖 3 壓力分佈最佳化流程圖 2.二維水翼的逆向設計 當壓力分佈設計階段完成後,接下來的工作就 是由已知的壓力分佈求得對應的二維水翼。在這一 階段,本研究採用勢流計算程式計算程式結合基因 演算法,進行二維水翼的逆向設計的工作。 在本研究中,二維水翼幾何的表示亦採用上下 表面兩條 B 木條曲線(型態為 open uniform B 木條 曲線)來表示水翼,如圖(4.3)。在每一條曲線上 分佈 11 個控制點。控制點的第一點及最後一點分 別固定在座標(0,0)及(1,0)上以確定水翼是封閉的 形狀。並且將控制點第二點 x 座標固定為 0,確保 在導緣在兩條曲線連接處斜率連續。變化控制點第 二點的 y 軸座標,及其餘控制點的 xy 座標值,來 對整個水翼進行形狀變化。 運用基因演算法在給定一個壓力分佈之下計算 二維水翼的幾何形狀。最佳化問題之目標函數如下 式所示: minimize: 2
)
)
((
)
)
(
,
B
(
(
p i pt iC
x
C
C
x
C
f
=
∑
−
(11) 其中, P(
,
(
)
i)
C
x
C Â
為由 B 木條曲線所表示之 水翼所算出的壓力分佈, Pt((
)
i)
C
x
C
為目標水翼的 壓力分佈。而矩陣 B 包含所有二維水翼的幾何控制 1.由控制點計 算壓力分佈 曲線 2.以「依據可 行性為基礎 的懲罰方 式」計算適 應函數 採用競賽選擇點,其中向量
Β
i則表示個控制點之倒置向量,下 標 1 至 11 為翼型下表面控制點,下標 12 至 22 為 上表面控制點。 在最佳化過程,首先給定一目標壓力分佈 Cpt 及初始水翼幾何控制點 B0。二維水翼翼幾何控制點 B 的搜尋範圍如下式所示:Ä×
B
+
=
0B
(12)
∆
∆
∆
∆
∆
∆
=
22 22 2 1 2 1...
...
y
x
y
y
x
x
ÄX
其中Ä×
代表搜尋範圍,其數值介於 [-0.04C, 0.04C] 之間,而 C 代表翼展弦長(Chord length)。搜 尋範圍為文獻[3]所建議的大小,並且搜尋範圍大小 亦超過水翼最大厚度的一半,因此吾人亦採用相同 的搜尋範圍。 0 0.2 0.4 0.6 0.8 1 x/C -0.04 0 0.04 0.08 0.12 y/C Foil section Control points 圖 4 二維水翼建構圖 將所有控制點的位置向量 B 代入 B 木條曲線程 式中產生二維水翼。再將產生的二維水翼連結流體 動力分析程式,產生每組水翼幾何對應的壓力分 佈,經由基因演算法將水翼幾何的控制點逐步修正 使二維翼壓力分佈能與目標壓力分佈一致。處理過 程之流程如圖(4)所示。 隨機產生一組解的群體 計算每個解的適應度 選擇適應度較高的解 進行交換運算 進行突變運算 程式結束 程式開始 NO NO 滿足解的個數設定數 ? YES 滿足演化世代的數目 ? YES 圖 5 二維水翼反向設計流程圖 六、結果與討論 本章將就上一節中所提的壓力分佈最佳化與二 維水翼逆向設計之結果作討論,並再最後結合兩者 進行一個設計例子。 1.二維水翼逆向設計之驗證 在本節中,將以 NACA4412 及 NACA2410 作 為方法驗證之對象,並討論以基因演算法進行逆向 設計之限制。 首先,圖(6)、(7)、(8)、(9)所示為 NACA4412 為 逆 向 設 計 目 標 的 驗 證 。 其 中 (6) 圖 所 示 為 NACA4412 原有之幾何形狀(以虛線表示),以及用 於逆向設計之初始水翼(以實線表示),後者是以 NACA4412 原有形狀為樣本,以手動方式調整而決 定 B 木條曲線控制點。 0 0.2 0.4 0.6 0.8 1 x/C -0.04 0 0.04 0.08 0.12 y/CTarget foil section Initial foil section
圖 6 NACA4412 與初始水翼之比較 1.由控制點 計算二為 水翼幾何 2.連結小板 法計算壓 力分佈
圖(7)為 NACA4412 之壓力分佈與手動取得之 水翼的壓力分佈的比較。可以看出兩者間有相當的 差距。圖(8)為藉由基因演算法調整初始手動取得控 制點後之水翼與 NACA4412 形狀之比較。 0 0.2 0.4 0.6 0.8 1 x/C 0.8 0.4 0 -0.4 -0.8 -1.2 Cp
Target pressure distribution Initial pressure distribution
圖 7 NACA4412 與初始水翼壓力分佈之比較 0 0.2 0.4 0.6 0.8 1 x/C -0.04 0 0.04 0.08 0.12 y/C
Target foil section Cal. foil section
圖 8 NACA4412 與逆向設計結果之比較 圖(9)為基因演算法調整後水翼之壓力分佈與 NACA4412 壓力分佈之比較,可以看出在導緣之部 分已有明顯之改善,但在尾緣仍有差異存在。 0 0.2 0.4 0.6 0.8 1 x/C 0.8 0.4 0 -0.4 -0.8 Cp
Target pressure distribution Cal. pressure distribution
圖 9 NACA4412 與逆向設計結果壓力分佈之比較 接著,圖(10)及圖(11)為以上述基因演算法方式 取得之 NACA4412 水翼為初始水翼逆向設計取得 NACA2410 之計算結果。圖(10)為 NACA2410 與初 始水翼(及 NACA4412)及逆向設計結果之比較。圖 (11)則為上述三者之壓力分佈比較。可以明顯看出 控制點調整的結果。 0 0.2 0.4 0.6 0.8 1 x/C -0.04 0 0.04 0.08 0.12 y/C
Target foil section Initial foil section Cal. foil section
圖 10 NACA2410 與逆向設計結果之比較 0 0.2 0.4 0.6 0.8 1 x/C 0.8 0.4 0 -0.4 -0.8 Cp
Target pressure distribution Initial pressure distribution Cal. pressure distribution
圖 11 NACA2410 與逆向設計結果壓力分佈之比較 2.二階段設計之應用例 在 本 節 將 展 示 以 二 階 段 設 計 法 , 嘗 試 針 對 NACA4412 壓力分佈,加入限制條件後進行最佳化 之實例。 本例中,假定之升力係數與 NACA4412 相同為 0.48,而空蝕係數為 0.7。尾緣壓力分部曲線斜率(式 (4.4)中 g3 式子裡之 S)限制與文獻[8]相同設為 2.3。 初始之壓力分佈為採用手動取得 NACA4412 壓力 分佈曲線。 在圖(5.7)可以大致判斷最佳化後之壓力分佈面 積與 NACA4412 相同,而水翼之表面壓力係數最小 值則滿足大於負的空蝕係數-0.7 的要求。 圖(5.8)展示以擬 NACA4412 為初始水翼所得滿
足設定最佳化條件之水翼。 0 0.2 0.4 0.6 0.8 1 x/C 0.8 0.4 0 -0.4 -0.8 Cp
Cal. pressure distribution Target pressure distribution Initial pressure distribution
圖 12 NACA4412 壓力分佈與最佳化後壓力分佈之 比較 0 0.2 0.4 0.6 0.8 1 x/C -0.04 0 0.04 0.08 0.12
y/C Cal. foil section
Intial foil section
圖 13 NACA4412 與限制條件下最佳化水翼之比較 七、一體化設計法 在研究進行中累積的經驗告訴吾人,二維水翼 逆向設計及最佳設計分成二階段進行仍有一些的 問題待釐清。其中問題在於壓力分佈雖然可以提供 吾人關於水翼升力的特性,但是卻無法提供阻力及 相關的資訊。這個問題在水翼進行最佳化時,形成 評估的盲點。因為能夠滿足如式(8)及其限制條件所 表示之最佳化問題的壓力分佈曲線並非唯一,然而 對於這些滿足求解條件的壓力曲線並沒有可以作 為評估的條件。為了彌補這個缺點,吾人擬參考文 獻[8]中採用一體求解的方式,即在整個最佳化問題 中,加入了從壓差造成阻力最小的觀點,作為最佳 化問題的依據,如此,修改後的最佳化問題定義可 寫成: minimize :
f
(
Α
)
=
C
d (13) subject to: 9 . 0 1 . 0 0 2 ) ( . 6 9 . 0 1 . 0 0 0 ) ( . 5 0 ) ( . 4 0 ) ( . 3 1 0 0 ) ( . 2 ) ( . 1 inf 6 inf 5 1 . 4 * 3 . . 2 1 < < ≥ − = Α < < ≥ − = Α ≥ − = Α ≥ − = Α < < > − = Α − = Α − − → − C x in N g C x in N g dx dC S g C C g C x in C C g C C g l lection u lection C x u p p peak suction p u p l p specified L L 其中前述反向設計之程式,亦須整合於求解過 程中,以便由壓力分佈求取對應之水翼及所屬之阻 力。 吾人構思的最佳化過程如圖(14)。 一、初始階段 產生初始族群。 二、評估階段 計算族群中個體的的適應值。先 將個體由二進位碼解碼還原成 B 木條曲線控制點 組。接著呼叫 B 木條曲線副程式將控制點繪成壓力 分佈曲線。由式(9)計算壓力分佈曲線所包圍的 面積可得到升力係數。在此先導入「依據可行性為 基礎的懲罰方式」判斷升力係數是否滿足要求。如 果滿足升力係數要求則進入翼形逆向設計階段,求 取翼形幾何形狀,並計算得到壓差阻力。如果未滿 足升力係數要求,則在計算適應函數值時令其壓差 阻力為 Cd max。經由此一判斷即可避免對不符合升 力係數條件的壓力分佈進行反向設計而省下大量 計算時間。然後檢查每一個體是否違反其他反限制 條件。若無違反限制條件,則升力係數數值即為適 應含數值。否則以「依據可行性為基礎的懲罰方式」 對違反限制條件的個體計算其適應含數值。 三、菁英策略階段 將具有較高適應含數值的個 體無條件地複製到新一代的族群中。 四、交換及突變運算階段 應用基因操作產生下 一代的個體。依據每一個體的適應含數值,以競賽 選擇方式選擇一對親代個體,經由交換和突變產生 一對子代個體。 五、族群大小判斷 若所需的下一代個體數未達 族群大小,回到交換及突變運算。否則將此新的一 代當做下次演化的世代。 六、世代數判斷 若未達最大世代數,回到交換 及突變運算 七、程式結束 將最後一代中,具由最高適應含 數值的個體當作最佳解輸出。 如此,可使整個二維水翼最佳化過程更加完整。隨機產生一組解的群體 計算每個解的適應度 選擇適應度較高的解 進行交換運算 進行突變運算 程式結束 程式開始 NO NO 滿足解的個數設定數 ? YES 滿足演化世代的數目 ? YES 翼形逆向設計 是否滿足給定升力係數 ? YES Cd=Cd max NO 圖 14 二維水翼最佳化流程圖 八、計畫成果自評 本研究採用二階段設計法,第一階段採用基因 演算法針對現有的二維水翼進行壓力分佈的改 變,使壓力分佈能滿足性能上的要求。第二階段藉 由基因演算法結合小板法將上一階段得到的壓力 分佈反向求取對應之水翼。 逆向設計方法是一種強而有力的設計工具。用 這些工具可以求出給定壓力分佈對應的二維水 翼,但是在使用這一些設計方法時,使用者必須先 將他的設計目標適當地轉換成壓力分佈,並且同時 滿足流體動力性能上的要求。這對於二維水翼的設 計者造成某種程度的不方便。在本研究中展示以最 佳化的方式,採用基因演算法有效地將設計目標轉 換成滿足所設定限制條件之壓力分佈,如此可提供 設計者某一程度的便利性。 參考文獻
[1]M. J. Lighthill, “A New Method of Two Dimensional Aerodynamic Design,” Technical Report ,Rand M2112, Arc, 1945
[2]M. B. Giles, M. Drela, “Two-Dimensional Transonic Aerodynamic Design Method,” AIAA Journal, Vol.25, No.9, September 1987
[3]I. De Falco, R. Del Balio, A. Dell Cioppa, E.
Tarantino, “Breeder Genetic Algorithms for Airfoil Design Optimisation ,” Evolutionary Computation , 1996, Proceeding of IEEE International, Conference, pp.71-75,1995
[4]辛敬業, “應用邊界元素法之二維翼面設計方法,” 第 八 屆 造 船 及 輪 機 工 程 研 討 會 論 文 集 , pp.314-318,1995
[5]van den Dam, R. F. , van Egmond, J. A. , Slooff, J. W., “Optimization of Target Pressure Distributions,” Special Course on Inverse Method for Airfoil Design for Aeronautical and Turbomachinery Application, AGARD Report No.780 , Reference 3, Nov 1990
[6]van Egmond, J. A., “Numerical Optimization of Target Pressure Distributions for Subsonic and Transonic Airfoil Design (Inverse) and Optimization,” AGARD Conference Proceedings No. 463, Reference 17, March 1990.
[7]I. De Falco, R. Del Balio, A. Della Cioppa and E. Tarantino, “A Parallel Genetic Algorithm for Transonic Airfoil Optimisation,” Proceedings of the 1995 IEEE International Conference on Evolutionary Computation. Part 1 (of 2), pp.429-434, Nov 29-Dec 1 1995
[8]Shigeru Obayashi, Susumu Takanashi, “Genetic Algorithm for Aerodynamic Inverse Optimization Problems,” Genetic Algorithms Engineering Systems: Innovations and Applications, 12-14 September 1995, Conference Publication No. 414, IEE, 1995
[9]邱永裕, “以基因演算法與平行運算進行翼型優 化,” 國立成功大學航太工程學系, 碩士論文, 1999
[10]Jyh-bin Suen and Jen-shiang Kouh, "The Application of Genetic Algorithms in Multimodal Functions Optimization", The Third International Student's Congress of Asia-PacificRegion Countries at Vladivostok, Russia, Oct. 1999.
[11]Jyh-bin Suen and Jen-shiang Kouh, "Using Genetic Algorithms for Series Propeller Design Optimization", Third International Conference on Marine Technology ORDA 99, 1999.
[13]K. Deb, “ An efficient constraint handling method for genetic algorithms,” Computer methods in applied mechanics and engineering, Vol.186, pp.311-338, 2000