GPGPU 功能
Simcenter STAR-CCM+ 中只有一些求解器与在 GPGPUS 上运行的求解器兼容。如果选择的求解器与 GPGPU 不兼容,则整个模拟改为在 CPU 上运行。Simcenter STAR-CCM+ 会在采用此回退选项时发出警告。
要避免此问题回退到 CPU,可以添加命令行选项 -require-gpgpu-compatibility。当非 GPGPU 兼容求解器处于活动状态时,这会导致在求解器执行时发出输入错误,而不是回退到 CPU 上运行。在批量执行中,这将有效地停止作业。
尽管 Simcenter STAR-CCM+ 在选择与 GPGPU 不兼容的求解器时发出警告,但建议查看下表中的兼容求解器和模型,并仅选择这些兼容求解器和模型。
支持的求解器和模型
- 启用 GPGPU 的求解器
- 这些求解器完全移植到 GPGPU,当模拟在 GPGPU 模式下运行时,在 GPGPU 上执行所有繁重的计算。
- 混合 GPGPU 兼容求解器
- 对于此类求解器或模型,尽管它们尚未移植到 GPGPU 操作,但是为模拟选择它们不会对 GPGPU 模式下的 Simcenter STAR-CCM+ 总体性能产生负面影响,也不会因使用 GPGPU 而受损。这些求解器和模型将继续使用适用于模拟的 CPU 运行。
| 求解器模型 | 已启用 GPGPU | 混合 GPGPU 兼容 |
|---|---|---|
| 边界交界面交叉点 |
✓ |
|
| 梯度模型 |
✓ |
|
| 网格生成器 |
✓ |
|
| 被动标量求解器 |
✓ |
|
| 空间/度量模型 (例如,三维模型) |
✓ |
|
| 固体模型 | ||
固体 |
✓ |
|
耦合固体能量 |
✓ |
|
分离固体能量 |
✓ |
|
多部件固体 |
✓ |
|
| 固体壳区域 |
✓ |
|
| 时间求解器 | ||
稳态 |
✓ |
|
隐式非稳态 |
✓ |
|
PISO 非稳态 |
✓ |
|
| 气动声学求解器 | ||
噪声波 (用于噪声波模型和 Lighthill 波模型) |
✓ |
|
扰动对流波 |
✓ |
|
海绵层/PDE 海绵层 |
✓ |
|
| 分区求解器 |
✓ |
|
| 耦合流体求解器 | ✓ | |
| 分离流求解器 |
✓ |
|
| 分离能量求解器 (需要所有材料属性使用以下方法之一:常数、多项式 (T)、幂律、Sutherland 定律或表 (T)) |
✓ | |
| 耦合能量求解器 (需要所有材料属性使用以下方法之一:常数、多项式 (T)、幂律、Sutherland 定律或表 (T)) |
✓ |
|
| 湍流求解器 | ||
Spalart-Allmaras |
✓ |
|
K-Epsilon |
✓ |
|
K-Omega |
✓ |
|
雷诺应力 |
✓ |
|
LES(对于 Smagorinsky 亚网格尺度模型,如果 Van Driest 阻尼设为原始或已修正,则 LES 兼容混合 GPGPU) |
✓ |
|
DES |
✓ |
|
| 转换求解器 | ||
Gamma 转换 |
✓ |
|
GammaReTheta 转换 |
✓ |
|
| 解算方案插值求解器 |
✓ |
|
| 壁面距离求解器 |
✓ |
|
| 反应流体求解器 | ||
小火焰 |
✓ 除非使用惯性模型时。 |
|
| 实际气体状态方程模型 | ||
平衡空气 |
✓ |
|
IAPWS-IF97(蒸汽) |
✓ |
|
Peng-Robinson |
✓ |
|
Redlich-Kwong |
✓ |
|
Soave-Redlich-Kwong |
✓ |
|
修正 Soave-Redlich-Kwong |
✓ |
|
Van der Waals |
✓ |
|
| 多项式密度状态方程模型 |
✓ |
|
| 表面至表面辐射模型 |
✓ |
|
| 局部滑移模型 | ||
Maxwell 滑移 |
✓ |
|
Von Smoluchowski 滑移 |
✓ |
|
| 参与介质辐射 (DOM) |
✓ |
|
| 平滑颗粒流体动力学 (SPH) 求解器 |
✓ |
|
| 无网格 DEM |
✓ |
|
| DEM 边界力 |
✓ |
|
| DEM 颗粒形状模型 | ||
球形颗粒 |
✓ | |
粗糙颗粒 |
✓ | |
粗糙颗粒颗粒包接触 |
✓ | |
复合颗粒 |
✓ | |
颗粒簇 |
✓ | |
| DEM 接触模型 | ||
Hertz Mindlin |
✓ | |
沃尔顿布劳恩 |
✓ | |
线性弹簧 |
✓ | |
用户自定义的接触力 |
✓ | |
滚动阻力 |
✓ | |
线性凝聚力 |
✓ | |
人工粘度 |
✓ | |
颗粒聚集 |
✓ | |
简单失效 |
✓ | |
恒定比率损坏 |
✓ | |
粘接颗粒 |
✓ | |
被动标量转移 |
✓ | |
| 拉格朗日相模型 | ||
侵蚀 |
✓ | |
用户自定义的体力 |
✓ |
|
颗粒包耗尽 |
✓ |
|
被动标量 |
✓ |
|
停留时间 |
✓ |
|
| 拉格朗日相材料(仅限气体、液体、固体) | ✓ | |
| 虚拟盘体模型 | ||
体积力螺旋桨法 |
✓ | |
叶片单元法 |
✓ | |
1D 动量法 |
✓ | |
用户自定义法 |
✓ | |
| 注 | SPH 的求解初始化对于 GPGPU 仍不受支持,只能在 CPU 上处理。 |
| 注 |
对于使用无网格 DEM 的模拟,单个 GPU 支持所有 GPGPU 模拟,且模拟中的所有边界必须是壁面类型。由于 GPGPU 不支持喷射器,因此建议在前几个时间步内喷射所有颗粒,以避免性能下降。 |
运动
对于运动模型,GPGPU 功能如下所示:
报告
在求解迭代期间监控这些报告时,将在 GPGPU 上启用一组特定报告。这些报告仅在区域、边界和部件上启用 GPGPU,但在衍生部件上不启用。未启用 GPU 的报告在 CPU 上进行评估(如基于用户自定义场函数的报告)。
以下报告已启用 GPGPU,或者可以在 GPGPU 运行时在 CPU 上进行评估,而不会显著降低性能:
- 力/力矩
- 力/力矩系数
- 最小值/最大值
- 求解器运行时间
- 总和
- 表面积/体积积分
- 表面积/体积平均值
- 表面/体积标准偏差
- 表面/体积统一性
- 质量平均
- 质量流量
- 质量流量平均
- 最小值
- 最大值
- 单元计数器
- 颗粒平均
- DEM 力
- DEM 力矩
对于 SPH 模拟,确保需要力/力矩报告的每个部件都有其自己的专用边界。避免使用包含所有部件的单一边界,因为此方法在使用 GPGPU 时的计算要求很高。
对于无网格 DEM 模拟,不支持具有多相相互作用输入的报告。
交界面
以下接口类型已启用 GPGPU,当模拟以原位拓扑或周期拓扑在 GPGPU 模式下运行时在 GPGPU 上执行所有大量计算:
- 挡板
- 风机
- 接触
- 接触模式直接区域交界面
- 显式映射接触
- 风扇
- 充分发展
- 隐式映射接触
- 内部
- 混合平面:隐式
- 多孔挡板
- 区域模式直接区域交界面
滑动网格应用
滑动网格应用指的是交界面两侧之间发生相对移动的移动对象应用。此相对移动会导致交界面连接发生变化,需要在每个时间步后进行交界面相交。
滑动网格应用程序兼容混合 GPGPU。边界交界面相交计算在 CPU 上运行。在 CPU 上运行交叉点花费的时间按照整个模拟过程由完整 GPGPU 利用率分摊。
要在 GPGPU 模式下提高边界交界面相交计算的速度,建议使用最快的连接类型 - 基于指标的方法。请参见调整交界面设置(基于指标的方法)。
场函数
为 GPGPU 计算启用了原始、衍生(例如速度幅值)和用户自定义场函数。此外,假设场函数输入启用了 GPGPU,则模拟中的任何场监视器和场历史都在 GPU 上进行评估。虽然 GPU 上评估几乎所有用户自定义场函数,但某些用户自定义场函数(如包含表插值的场函数)仍在 CPU 上评估。但是,与求解器不同,它们并不是整个模拟运行的完整 CPU 回退的原因。在 GPGPU 模拟运行中,在 CPU 上评估场函数可能导致性能下降。
固体