Day 1-有限差分方法求解偏微分方程(組)
課程目標
-了解模型方程的分類和主流數值離散化方法
-理解有限差分法的特點和數值特性
-理解含時方程的顯式和隱式方法的特征和區別
-理解波動方程的常見有限差分格式及其性質
-理解網格在數值微分方程中的意義
-了解常見的結構化網格生成方法
課程安排
1. 模型方程的分類和常見數值離散化方法
2. 有限差分法的相容性、穩定性和收斂性
1) 差分格式的相容性
2) 差分格式的穩定性和收斂性及其關系
3) 差分格式的CFL數
3. 含時方程的顯式和隱式方法
1) 時間離散化
2) 顯式格式的定義和穩定性
3) 隱式格式的定義和穩定性
4. 波動方程的常見有限差分離散化格式及其性質
1) 波動方程在模型方程中的分類
2) 時空二階精度的有限差分格式
3) 改寫爲一階方程組的有限差分格式
5. 二維空間中的網格
1) 四邊形區域的結構化網格
2) 任意區域的多塊結構化網格
3) 任意區域的非結構化網格
4) 網格與數值誤差
6. 常見的結構化網格生成方法
1) 代數生成法
2) 微分方程生成法
Day 2-有限差分求解器的並行化
課程目標
-了解並行化求解器的指導原則和影響加速比的因素
-掌握openmp的通用最佳實踐
-通過求解器並行化實例吸取經驗
-討論交流openmp應用于波動方程求解器並行化的思路
課程安排
1. 求解器的並行化
1) 尋找數據並行性和功能並行性
2) 負載均衡與通信開銷
2. openmp的通用使用貼士
主要介紹openmp.org的官方best practices
3. openmp應用于某有限體積求解器(Fortran語言)的實例和經驗分享
1) 矩陣元素計算的並行化
2) 求解線性方程組的並行化
4. openmp應用于某叠代法線性方程組求解器(C語言)的實例和經驗分享
1) 預條件子計算的並行化
2) 叠代求解流程的並行化
5. mpi應用于某有限差分求解器的示例和經驗分享(可選)
6. 波動方程的顯式和隱式有限差分求解器並行化的建議與討論