Partitioning Method

Every simulation has an overall computational domain that can be defined as the union of all the regions in the simulation upon which physics is being simulated.

One approach to partitioning the overall computational domain is a monolithic one. The simulation creates a graph of the entire domain and decomposes it in a single operation, producing a single set of self-contiguous subdomains. This approach, however, can lead to poor performance and scalability in some situations. For example, if one continuum has more complex physics than another, this approach can result in severe load imbalances.

For this reason, partitioning over domains of finer granularity is usually desirable. In Simcenter STAR-CCM+, you can partition over the following extents:

  • Per-region partitioning: Each region is partitioned individually. For each region, a connectivity graph for all the cells in the region is created, and that graph is partitioned to balance the work and minimize partition boundaries for that region. The result is that the cells in each region are divided evenly between processes, and the sub-domains within each region are contiguous.
    NoteFor a multi-region continuum, the sub-domains are not contiguous with respect to the containing continuum when per-region partitioning is employed.
  • Per-continuum partitioning: Each continuum is partitioned individually. For each continuum, a connectivity graph is created for all the cells in all the regions in that continuum, and that graph is partitioned to balance the work and minimize partition boundaries for that continuum. The result is that the cells in each continuum are balanced, and the sub-domains within each continuum are contiguous.

In Simcenter STAR-CCM+, per-region partitioning has been the historical approach. While per-region partitioning often balances loads successfully, it sometimes has the following disadvantages:

  • The overall decomposition is more discontiguous from a process perspective, ultimately resulting in more inter-process communication in terms of both of data volume and message count.
  • Connectivity across inter-region interfaces is not considered in the partitioning process, often resulting in both boundary face imbalances and increased inter-process communication.

These issues may adversely affect both performance and scalability.

Per-continuum partitioning, in contrast, mitigates or eliminates these issues. Because partitioning takes place over a larger extent, the per-process sub-domains are more contiguous. This reduces communication and other parallel overhead relative to per-region partitioning. As a result, per-continuum partitioning can significantly improve both performance and scalability relative to per-region partitioning in many situations.

In general, the benefits of per-continuum partitioning increase with both increasing number of regions per continuum and increasing process count.

Despite the general benefits of per-continuum partitioning and most applications usually performing better with per-continuum partitioning, some very specific Simcenter STAR-CCM+ application types can still sometimes benefit from per-region partitioning. For instance, some harmonic balance applications still perform better with per-region partitioning at this time.

A change in partitioning method goes into effect the next time the partitioning solver runs. To apply the specified method immediately, use the Repartition Domain item from the partitioning solver popup menu.