由 1-3 節研究方法與流程,可知本文模式的架構主要可分為水理 與類神經網路兩大部份。本章除了定義水理與類神經網路的架構設定 外,並針對自訂之類神經網路,所參考的理論、輸入參數與學習案例 的選擇等,作更詳細的說明。
4-1 理論依據
延續 2-5 節的介紹,可知在含高強度震波的不連續面處,捨去原 始平滑指示器中含二次微分項的部份,可增大含不連續面的計算元,
相對於鄰近計算元不平滑的程度,在線性組合數值通量時,能降低該 計算元所代表的權重值,使在震波傳遞的計算上提高其收斂性。以下 開始,定義原始 WENO 算則代號為 JSWENO (Jiang and Shu 1996),
修正平滑指示器 WENO 算則為 ZSWENO (Zhang and Shu 2007)。
因此利用 JSWENO 與 ZSWENO 算則分別對兩種含有不連續面解 的案例模擬並比較結果:
(a) 水面分離案例:(仿 Bouchut 2004)
底床幾何形狀為:
(4-1)
初始水流條件:
0 500 1000 1500 2000 2500
Water Level(m)
會有些許的水面震盪發生,推測是由於在計算乾濕床交界近處,若其 最小水深 取較小值時,水深在稍大於 時,擁有高單寬流量 q,
一旦水深判斷小於 ,視為乾床其水深與單寬流量都判斷為零值,
而使得數值通量變化劇烈,造成通量傳遞計算上的難以收斂,需增加 格網點以降低彼此間通量的差異或加大 ,以減低水面震盪的高度 與振幅。圖 4- 3 為同等條件下,ZSWENO 採 400 網格數與假定解析 解的水位比較圖,可看出透過強化收斂性之修正平滑指示器,可以使 在水面分離中心處無水面震盪的產生,但也因收斂強化的結果而使水 位點位的連接上與 JSWENO 算則的模擬結果有些許的差異。
Distance(m)
0 500 1000 1500 2000 2500
Water Level(m)
0 2 4 6 8 10 12
14 Bed Level
JSWENO(400 grid) JSWENO(8000 grid)
圖 4- 2 JSWENO 模擬水位結果圖 ( m,t = 5.0 sec)
Distance(m)
0 500 1000 1500 2000 2500
Water Level(m)
0 2 4 6 8 10 12
14 Bed Level
ZSWENO(400 grid) JSWENO(8000 grid)
圖 4- 3 ZSWENO 模擬水位結果圖 ( m,t = 5.0 sec)
(b) 穩態流流經障礙物之案例:(V´azquez-Cendon 1999)
採用網格數 200,模擬間距 0.125m,重力加速度為 9.81 m/s2 ,可蘭數採 0.75,摩擦損失忽略不計,總模擬時間 200 秒,
並假設此時到達穩態。
底床幾何形狀定義如下:
,
, (4-4) 水流起始條件為
起始水深(m): 。 (4-5)
起始單寬流量(m2/s): 。 (4-6) 水流邊界條件為
上游邊界 ;下游邊界 。 (4-7) 綜合以上條件,圖 4- 4 為初始條件設定圖。
Distance(m)
0 5 10 15 20 25
Value
-0.1 0.0 0.1 0.2 0.3 0.4 0.5
Bed Level Water Level
Discharge per unit width
圖 4- 4 初始條件設定圖
表 4- 1 為 JSWENO 與 ZSWENO 算則結果對於解析解誤差表,
圖 4- 5 至圖 4- 8 分別為 JSWENO 與 ZSWENO 模擬水位與單寬流 量和解析解比較圖,其解析解可見 Goutal and Maurel (1997)一 書。
由以上的結果可看出,此案例 ZSWENO 相對於 JSWENO 算 則,雖然最大單寬流量誤差有一定程度的減小,但也因此降低了
不連續面附近的單寬流量守恆性,此外水深也在水躍前後附近點 的連接上,與解析解有較大的差異。
表 4- 1 JSWENO 與 ZSWENO 算則結果誤差表 JSWENO ZSWENO
Eh 0.123 0.141 Eq 0.019 0.024 max_eh 0.016 0.021 max_eq 0.018 0.014
註: Eh:水深總絕對值誤差;Eq:單寬流量總絕對值誤差
max_eh:水深最大絕對值誤差;max_eq:單寬流量最大絕對值誤差
Distance(m)
0 5 10 15 20 25
Water Level(m)
0.0 0.1 0.2 0.3 0.4
Bed level Exact JSWENO
圖 4- 5 JSWENO 模擬水位與解析解之比較圖
Distance(m)
0 5 10 15 20 25
q(m2 /s)
0.175 0.180 0.185 0.190 0.195 0.200
Exact JSWENO
圖 4- 6 JSWENO 模擬 q 與解析解之比較圖
Distance(m)
0 5 10 15 20 25
Water Level(m)
0.0 0.1 0.2 0.3 0.4
Bed Level Exact ZSWENO
圖 4- 7 ZSWENO 模擬水位與解析解之比較圖
Distance(m)
0 5 10 15 20 25
q(m2 /s)
0.175 0.180 0.185 0.190 0.195 0.200
Exact ZSWENO
圖 4- 8 ZSWENO 模擬 q 與解析解之比較圖
經由以上兩個案例(a)與(b)之結果分析比較,推測 ZSWENO 算則 中在(a)這種較不受邊界條件影響的案例中表現較為良好,而對於(b) 案例似乎因為上游的流量條件給定,為保持不連續面單寬流量的守恆 性,而過度收斂導致不連續面前後的點位連接有較差的模擬結果。
因此吾人提出一個理論想法,對於原始平滑指示器中的二次微分 項 ,假設其對於平滑指示器的影響程度,與組合平滑指示器之五 點組成的幾何關係有其相關性,存在著一組 使在構築平滑指示器 時能在不連續面能保持其強化收斂的特性,又能盡量保持不連續面前 後點位數值解的精確度。以此概念將(2-40)式平滑指示器改寫為:
(4-1)
,定義為各計算元 項的修正係數。
另假設 值與五點之幾何組合的相關性,能由一未知的函數式 來求解出,本文應用類神經網路類神經網路的黑盒分析概念,以(b) 案例為學習案例來建構類神經網路,以擬合此假設的函數式。
4-2 模式架構
本節就模式的架構,分其類神經網路與水理部份分別介紹。
4-2-1 水理模式
在水理計算方面,綜合前面第四章的理論介紹,本文水理模式可 整理出以下結論:
統御方程式:一維淺水波方程式。
空間離散式:守恆形式差分式 WENO 算則結合有限體積法。
時間離散式:三階 TVD- Runge-Kutta 積分。
4-2-2 類神經網路模式
以 4-1 節的理論為基礎,目標以類神經網路建構出一套組合平滑 指示器五點組成的幾何關係,與 值相關的函數式,以下分輸入與 輸出參數分別討論,網路概念圖如圖 4- 9 所示:
(a) 輸入參數:
在計算數值通量為正時依(2-44)式,依序採用(4-2)式五點之值 作為輸入;數值通量為負時依(2-47)式,則依序採用(4-3)式五點 作為輸入:
、 、 、 、 (4-2) 、 、 、 、 (4-3)
由於需保證類神經網路的輸入值能位於一固定值域,故在進 入類神經網路前,定義 ,為輸入五點絕對 值之最大值,將各輸入值除以 正規化,以使輸入值值域 位於-1 ~ 1 之間,重新定義類神經網路輸入參數為
、 、 、 、 (4-4) 、 、 、 、 (4-5)
。當 時, 為 除以 0 的型態,
此為不定式而可做任意解解釋,但無論代入任何值皆不影響最 後平滑指示器皆等於 0,因此定義此情況下 皆為 1 值,
以防止程式在分母等於 0 無法運算的狀況。
另外由於空間離散式是採用守恆形式差分式 WENO 算則,由
(3-30)與(3-31)式可知無論在對流項或是源項的計算上,(4-4)與 (4-5)式之 。
(b) 輸出參數:
輸出值代表修正係數 ,故輸出層採計三個單元。由於 本文自訂之類神經網路,處理單元的轉換函數皆採用雙彎 曲函數,轉換後之輸出值 ,符合 的值域,故在輸 入值經類神經網路傳遞後,所得之三個輸出值即依序為修 正係數 、 、 ,不需再另外的處理。
類 神 經 網 路
輸入1
輸入2
輸入3
輸入4
輸入5
輸出1
輸出2
輸出3 前處理
圖 4- 9 網路概念圖
4-3 學習案例
distance(m)
4-3-2 參數設定
模式參數設定分為水理、類神經網路與基因演算法三部份說明。
(a) 水理模式:
在 3-3 節中探討了乾濕點交界的處理方法,而其中有定義一 最小水深容許值 ,本學習案例雖無處理乾床的問題,但在第 六章詴驗案例的結果,會對其做更深入的探討。此外定義平滑 指示器中一微小數值 。
(b) 類神經網路:
網路架構如圖 4- 14 所示,依葉怡成(2001)書中建議使用單層 隱藏層,處理單元數輸入層為 5,隱藏層為 4,輸出層為 3。處 理單元之轉換函數則全採取雙彎曲函數 ,最大循環數 = 1000 次。
輸入層 隱藏層 輸出層
Wij
Wjk
θk
θj
圖 4- 14 類神經網路架構圖
(c) 基因演算法:
一開始需給定初始基因組群,本案例使用總基因組數=15。將 類神經網路連結加權值 W 與門閥值 θ,以二進位法轉化為一基因 序列的組合,可參考附錄 B 遺傳演算法介紹之編碼部份,定義:
1. 連結加權值 W:
基因長度 L = 8、上限 與下限 。 2. 門閥值 θ:
基因長度 L = 8、上限 與下限 。 適合度函數主要反應學習案例中,模擬結果與解析解的誤差大 小。由於模擬結果有兩組參數為水深 h 與單寬流量 q,兩者之數 量級大致差十倍左右,在此採取三種不同的代表誤差,如表 4- 2 所示,來測詴水深 h 與單寬流量 q 在學習案例中,哪一個參數影 響為大。
定義 (4-6) :第 組基因組代表誤差;
:第 組基因組水深總絕對值誤差;
:第 組基因組單寬流量總絕對值誤差; 為一常數。
表 4- 2 方案 A ~ C 選用常數與代表誤差表 Type A Type B Type C
常數 N 1 10 100
代表誤差 Eh+Eq Eh+10×Eq Eh+100×Eq
適合度函數定義為:
(4-7) 上式中, :第 i 組基因組適合度值。當 , 最大值 ;當 , ,而由於對數曲線在極大負值 處,數值下降斜率已趨近於 0,為避免所有 皆過大,造成 皆過小造成適合度鑑別率不高的情況,故在此定義一適合度修正係數,
, 為一數學運算函數,為傳 回最接近參數 x 的整數值,藉此一修正係數,可以使多數 能 位於對數曲線變化斜率較大的值域,以提高優選的作用。
此外若由類神經網路所得的權重,無法使數值穩定傳遞,可能會 造成數值震盪與誤差的放大,因而導致程式意外中止,為避免此情形 發生,對於學習案例-穩態流流經障礙物問題,設下一中止條件:
當計算至水深 h <0 時,立即中止模式的水理計算,定義此基因組 所對應的適應度 ,使用另一組基因組重新開始運算。
後續在基因組交配、突變的流程中,其中所需參數設定如下:
1. 每一學習循環交配數 Ma_N = 5。
2. 交配機率 Ma_Rate = 0.9。
3. 突變機率 Mu_Rate = 0.01。
4. 採用菁英化,將此次學習循環適合度最佳值的基因組直接複製,
以待下一次循環使用。