并行软件框架下的混合海啸模拟器与HPC - MW问题求解环境
1. 混合海啸模拟器的构建
在创建并行的波传播模拟器时,我们的目标是设计一个灵活的框架,使得现有的串行波传播代码能够轻松集成到混合并行模拟器中。这一框架可从用于求解偏微分方程(PDE)的Schwarz算法通用库扩展而来。虽然我们在下面的文本中使用C++语法,但面向对象的策略同样可以用Python等其他语言实现。
1.1 通用Schwarz框架
在介绍面向对象的混合并行海啸模拟器的整体设计之前,有必要简要回顾一下Schwarz算法的通用库。假设该通用Schwarz库由两个通用组件组成,即 SubdomainSolver 类和 Administrator 类。
-
SubdomainSolver类 :作为通用基类,其目的是预先声明所有具体子域求解器的通用接口。这个通用接口是一组没有具体实现的虚拟成员函数。例如,createLocalMatrix是一个虚拟函数,用于设置与离散化方程相关的子域矩阵;solveLocal函数用于在每次Schwarz迭代中求解离散化形式的方程。实际的计算工作在SubdomainSolver的具体子类中实现,这些子类可以通过复制粘贴旧的串行代码,或者更优雅地将现有求解器类包装起来,来实现这些虚拟成员函数。 -
Administrator类 :同样也是
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



