科学计算中的并行技术与分子模拟研究
立即解锁
发布时间: 2025-10-23 00:28:49 阅读量: 24 订阅数: 39 AIGC 

迈向百亿亿次科学计算
# 科学计算中的并行技术与分子模拟研究
## 1. 并行块预条件技术在流动模型中的应用
在许多应用中,通过忽略部分惯性力项来简化纳维 - 斯托克斯流动方程是很自然的选择。研究聚焦于两种非标准流动模型的现代计算解决方案,分别是冰盖流动的有限元建模和小型声学设备中声波传播的模拟,采用开源软件 Elmer 作为实现这些方法的通用平台。
### 1.1 块预条件技术的关键概念
求解这两个模型容易导致大型线性系统的求解,因此需要利用并行计算。解决相应线性代数问题的关键概念是使用块预条件来加速 Krylov 求解器的收敛。理想的块预条件线性求解器性能通常依赖于同时满足以下两个条件:
- **迭代次数与问题规模无关**:预条件器应使预处理后的 Krylov 方法的收敛迭代次数不依赖于离散问题的大小,这样在进行网格细化以提高分辨率时,预条件器仍能快速收敛。
- **对角块求解器的最优性**:理想情况下,应具备用于执行与预条件器对角块相关的线性求解的最优复杂度求解器,这也指导了预条件器的设计,使其能够重用标准模型的现有求解器。
### 1.2 冰盖流动问题
冰盖流动问题由完整的斯托克斯方程描述,虽然已有高效的标准斯托克斯系统求解器,但将其扩展到冰川学问题并不简单。主要问题包括:
- **变粘度问题**:冰的粘度依赖于流动,具有高度的位置依赖性。
- **应力 - 散度公式**:为了便于施加牵引力边界条件,通常采用应力 - 散度公式,这使得利用标准分裂方法进行速度子问题的分量求解变得不自然。
- **薄域问题**:冰流问题通常在薄域上提出,难以避免高纵横比的有限元,维持相关混合有限元逼近的稳定性可能会出现问题,从而影响预条件器的效率。
### 1.3 声学模拟问题
在声学模拟中使用的耦合类斯托克斯模型也受到了越来越多的关注,但尚未有关于有效利用并行计算的实用解决方案的描述。基于速度消除的舒尔补约简的理论最优预条件器的实现较为复杂,因为相关的舒尔补问题本身也很复杂,因此需要考虑避免以这种形式处理舒尔补的替代问题表述。
## 2. 基于 ViennaMesh 的分布式高性能并行网格生成
### 2.1 背景与需求
随着科学模拟对精度要求的不断提高,网格元素数量也相应增加,传统的网格生成工具难以应对增加的工作量,因为它们无法随着多核 CPU 等资源的增加而扩展。因此,提出了一种基于通用网格库 ViennaMesh 和推进前沿网格生成算法的并行网格生成方法,适用于多核和分布式计算环境。
### 2.2 相关工作
不同的并行网格生成方法各有优缺点:
- **Delaunay 方法**:先对输入域进行粗略网格划分,然后逐步细化,细化过程的并行化因点插入之间的同步步骤而具有挑战性。
- **推进前沿方法**:从初始表面开始进行体积网格划分,逐步向内部添加新元素。
### 2.3 具体方法
该方法基于推进前沿网格划分技术,在体积网格划分过程中保留输入的外壳网格,从而最小化通信开销。具体步骤如下:
1. **输入网格划分**:利用 CAD 工具将输入网格划分为多个段,每个段为一个外壳网格,包含需要网格化的子域表面。
2. **段分配**:将各个外壳段分配给不同的进程进行局部网格化。
3. **网格合并**:各个进程完成局部网格化后,将结果发送回根节点进行合并,得到最终的多段体积网格。
### 2.4 性能评估
在测试环境中,对两种不同类型的网格进行了性能评估:
- **人工测试网格**:包含 96 个段,分别有约 150k 和 590k 个顶点,每个段的顶点数相同。对于 10 个核心,网格划分步骤的效率约为 80%,但随着核心数量的增加,由于网格合并的开销,效率会降低。
- **半导体器件模拟网格**:包含约 110k 个顶点,8 个段,每个段的顶点数不同。对于最多 3 个核心,可实现出色的缩放,但由于段数量较少和段大小不同,缩放效果在 4 个核心和加速比为 3 时达到饱和。
### 2.5 结论
该方法对于段数约为核心数 10 倍的网格具有良好的可扩展性,即使段数约为核心数 3 倍,也能实现相当的加速比。但为了在更大的分布式环境中提高加速比,需要灵活的网格划分方法,并且需要进一步改进根进程中的网格合并步骤,以提高大规模网格的效率。
0
0
复制全文


