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. 波动方程的显式和隐式有限差分求解器并行化的建议与讨论