分区方法

每个模拟都具有总体计算域,其可定义为模拟中所有区域的并集,这是模拟物理的基础。

可采用整体式方法对总体计算域进行分区。 模拟可创建整个域的图形,并且在单次操作中对其进行分解,从而生成一组自连续子域。 但是,在某些情况下,此方法可能导致性能和可扩展性较差。 例如,如果一个连续体的物理比另一个连续体的物理更复杂,则此方法可能导致严重的负载失衡。

因此,通常需要根据更精细粒度的域进行分区。 在 Simcenter STAR-CCM+ 中,可以根据以下范围分区:

  • 按区域分区:单独对每个区域分区。 对于每个区域,将为区域中所有网格单元创建连接图,并且对该图进行分区以平衡相关工作并尽可能减少该区域的分区边界数。 因此,将在进程之间均匀划分每个区域中的网格单元,并且每个区域内的子域为连续子域。
    对于多区域连续体,采用按区域分区时,子域相对于所含的连续体而言并非连续。
  • 按连续体分区:单独对每个连续体分区。 对于每个连续体,将为所有区域中的所有网格单元创建连接图,并且对该图进行分区以平衡相关工作并尽可能减少该连续体的分区边界数。 因此,将平衡每个连续体中的网格单元,并且每个连续体内的子域为连续子域。

Simcenter STAR-CCM+ 中,按区域分区已成为历史方法。 虽然按区域分区通常可以成功平衡负载,但是其有时具有以下缺点:

  • 从过程角度而言,总体分解的连续性更低,最终会导致在数据量和消息计数方面的进程间通信增加。
  • 在该分区过程中,不会考虑区域间交界面的连接,这通常导致边界表面失衡和进程间通信增加。

这些问题可能会对性能和可扩展性产生不利影响。

相比之下,按连续体分区则可以减少或消除这些问题。 因为分区发生在较大范围,所以每进程子域的连续性更高。 相对于按区域分区,这可减少通信和其他并行开销。 因此在很多情况下,相对于按区域分区,按连续体分区可以显著提高性能和可扩展性。

一般情况下,每个连续体的区域数以及进程计数越多,按连续体分区的优势越明显。

虽然按连续体分区具有总体优势,并且通常大多数应用在采用按连续体分区时性能更优,但是按区域分区有时可能仍有利于一些非常具体的 Simcenter STAR-CCM+ 应用类型。 例如,目前某些谐波平衡应用仍在采用按区域分区时性能更优。

对分区方法的更改将在分区求解器下次运行时生效。 要立即应用指定的方法,使用分区求解器弹出菜单中的重新分区域项。