2011年3月11日,日本驚傳規模9.0大地震,爾後引發強烈海嘯,其造成之傷亡數以萬計,為防患於未然,完整預測海嘯傳播過程,即時提供民眾一個參考依據,成為當下重要議題。本論文將針對台灣沿岸進行海嘯模擬,並以即時呈現為主要目的。 海嘯模擬往往是遵照淺水方程式進行,其主要精神在於物理上的質能守恆,並加入海床及海岸的摩擦力係數影響,使整個系統能夠推估陸地被淹沒的範圍。主要演算法首先採用MacCormack方法,此方法包含預測及校正兩步驟,爾後針對無法計算的邊界採用Neumann的方法進行處理,最後就整體結果採用Hansen方法使結果更為平滑。 由於全台灣海床資料龐大,再加上本方法需要繁複的計算,一般個人電腦難以提供即時的運算,因而失去即時觀測的能力,本論文以平行計算解決以上問題,利用NVIDIA CUDA 技術,將整體效能大幅度提升。相較於一般CPU運算,在NVIDIA Fermi架構下,最高可達到兩百倍以上的加速。
The tsunami disaster triggered by a huge 9.0 magnitude earthquake strikes Japan on March 11th, 2011. It caused thousands of casualties and major property damage in Japan. The island of Taiwan is surrounded by ocean. It has been also motivating us to get involved in a research work in tsunami topics of Taiwan. It's especially interesting to simulate the impact of the tsunami on the coast of Taiwan. Tsunami propagation in shallow water zone is often modeled by the shallow water equations. These equations are derived from conservation of mass and momentum equations. By adding friction slope to the conservation of momentum equations, it enables the system to simulate the propagation over the coastal area. This means the system is also able to estimate inundation zone caused by the tsunami. Also by applying Neumann boundary condition and Hansen numerical filter, it brings more interesting complexities into this simulation system. The parallelizable two-step finite-difference MacCormack scheme is used to simulate the tsunami. In this thesis, the parallel implementation of the MacCormack scheme is proposed for the shallow water equations based on modern graphics processing unit (GPU) architecture using NVIDIA compute unified device architecture (CUDA) technology. On a single GPU, a significant speedup is achieved compared to its CPU counterpart.