FE 稀疏直接求解器参考

在有限元模拟中,Simcenter STAR-CCM+ 使用直接求解器对线性方程组求解。

直接求解器利用现代 SIMD 架构。将固体应力求解器和有限元固体能量求解器与直接求解器一起使用时,模型将从具有 AVX-512 等功能的硬件中获益。

稀疏直接求解器属性

详细说明
指定输出窗口中显示的信息量。可用的选项包括无、低和高。要在输出窗口中可视化具体情况下估计的内存需求,选择低或高。内存需求取决于模型的自由度。
模式
指定求解器使用物理内存(核心内)还是磁盘内存(核心外)存储矩阵。可用选项如下:
  • 自动 - Simcenter STAR-CCM+ 将根据系统的可用内存来确定是以 IC(核心内)还是 OOC(核心外)模式运行求解器。
  • IC(默认)- 核心内 (IC) 模式。求解器仅使用 RAM 内存。就 CPU 时间而言,此模式比 OOC 模式速度更快。
  • OOC - 核心外 (OOC) 模式。求解器还使用磁盘内存。此模式需要指定临时写入目录以用于存储数据。此模式比 IC 速度慢,但性能更稳定,专用于内存需求较高的模拟。
临时写入目录
在 OOC 模式下运行时,可以在系统磁盘上指定用于临时储存数据的目录(直接或通过自动模式)。可用选项如下:
  • 系统临时目录(默认)- Simcenter STAR-CCM+ 使用系统临时目录进行存储。一般来说,默认系统临时目录存在大小限制。
  • Current(当前目录) - Simcenter STAR-CCM+ 使用当前工作目录,即从中启动 Simcenter STAR-CCM+ 的目录。

在这两种情况下,指定目录的路径和名称不能包含非 ASCII 字符。

对于大型模拟,确保选择的目录具有足够的储存空间。可以:
  • 从具有大量未用空间的目录启动 Simcenter STAR-CCM+,并将临时写入目录设为当前。
  • 在启动 Simcenter STAR-CCM+ 之前,通过在 Windows 上设置环境变量 TMP 或者在 Linux 上设置 TMPDIR,指定不同的系统临时目录。然后,将临时写入目录设为系统 Tmp。

运行模拟时,Simcenter STAR-CCM+ 会在指定的临时写入目录中创建子目录,然后在关闭模拟时自动将其移除。如果模拟意外结束,需手动删除这些子目录。

如果内存不足,应停止
激活时,它会在模拟内存需求超过系统可用内存的情况下阻止运行模拟。停用时,无论内存需求和可用性如何,均运行模拟。

在固体应力模拟中,可以使用固体应力求解器的预计内存选项在输出窗口中可视化估计的内存需求。请参见固体应力求解器参考。

激活误差分析
激活时,在输出窗口中显示线性系统缩放残差 (Eqn. (4981))、前向误差的上界 (Eqn. (4984)) 和线性系统条件编号 (Eqn. (4982))。这些指标使您能够确定线性系统的求解难度,并判断解算质量。使用迭代-直接求解器(请参见求解器方法)时,误差分析会显著增加模拟运行时间。在这种情况下,建议针对第一个模拟时间步激活此属性,并在收敛达到要求时停用此属性。
排序
可用于定义排序策略,以对直接求解器的矩阵重新排序。
  • 串行(默认)- 使用 METIS 排序策略运行直接求解器。建议对线性问题使用此策略。
  • 并行 - 使用 ParMETIS 排序策略 [955] 运行直接求解器。建议对非线性问题使用此策略。
ParMETIS 排序策略可显著缩短固体应力模拟的运行时间。但是,在大多数情况下,串行排序效果更优。

稀疏直接求解器控制

直接求解器选项
此选项用于指定 Simcenter STAR-CCM+ 使用哪个直接求解器来求解稀疏线性方程组 (Eqn. (4978))。可用求解器如下:
  • MUMPS - 适用于串行和并行执行。MUMPS 是适用于共享内存系统和分布式内存系统的多波前求解器 [955]。
  • 混合 MUMPS - 适用于并行执行的额外求解器。此求解器使用混合 MPI 和线程并行执行模型,它与 MUMPS 相比,可减少内存使用量。此方法仅对新的有限元固体应力模拟为默认。
所有求解器都会广泛使用 Metis、BLAS 和 MKL 库中提供的图分区,以获得高速度和精度。当可用的物理内存不足以存储矩阵时,这些求解器可以求解“核外”。
当在模拟运行期间更改求解器选项时,更改会在下一因式分解步骤中生效(请参见稀疏直接求解器)。但是,如果在模拟运行期间更改详细说明,更改将立即生效。
混合 MUMPS 共享内存范围
此选项允许指定混合 MUMPS 直接求解器的内存范围。可用范围如下:
  • 主机(默认)- 单个 Simcenter STAR-CCM+ 进程在整个主机上运行,并且在此过程中使用线程化处理。此选项通常会导致内存使用量降至最低。
  • 插槽 - 可以在单个主机上安装多个 CPU 插槽。此选项在每个 CPU 插槽中启用一个进程,并在每个进程中启用线程化处理。对于每个主机的单个 CPU 插槽,此选项等效于主机。
  • NUMA - 在某些硬件环境中,单个 CPU 插槽可以由多个 NUMA(非一致性内存访问)节点组成。此选项在每个进程中为每个 NUMA 节点和线程启用一个进程。对于每个 CPU 插槽的单个 NUMA 节点,此选项等效于插槽。
通常,如 NUMA 一样的较小范围可提升性能。但是,范围越小,内存使用量越高。要查找适用于具体用例的更佳选项,可以先从使用较大范围(主机)来运行求解器开始,然后逐渐减小范围,评估性能的提升。
对于在从 v13.06 版本起的 Simcenter STAR-CCM+ 中创建的模拟文件,默认选项为主机。对于在先前版本的 Simcenter STAR-CCM+ 中创建的模拟文件,默认选项为 NUMA。