Load Balancing for Lagrangian/Eulerian Flows
For parallel processing, the traditional approach to decomposing the volume mesh is to give each processor approximately the same number of cells. For cases where the same Eulerian flow equations are solved in each cell, this approach generally gives good performance.
For cases containing particles, this traditional form of decomposition can lead to imbalanced CPU loads across the parallel cores. If one or two partitions contain most of the particles, then those partitions require significantly more compute time than partitions with few particles. The traditional decomposition does not account for this difference. See the example in the following figure, where Eulerian mesh-based domain decomposition leads to poor CPU load and low parallel efficiency.

Dynamic Load Balancing for Lagrangian Simulations
Simcenter STAR-CCM+ provides an alternative approach to domain decomposition that accounts for the presence of particles.
There are two key components involved:
- The partitioning solver:
The main load-balancing solver. This solver rebalances the domain decomposition in response to information provided by physics solvers. It also rebalances the decomposition in response to mesh topology changes, such as those caused by interface intersections.
- The Lagrangian load-balancing solver:
This solver provides the partitioning solver with information about the computational load that is required to solve particle physics in each Eulerian cell. See Lagrangian Load-Balancing Solver.
These two solvers operate together. The Lagrangian solver collects the information that is required to rebalance the domain and passes it to the partitioning solver. The partitioning solver coordinates the final load balancing, accounting for all load-balancing criteria as it does so. This approach optimizes the domain decomposition in response to changing particle distributions. The computational load across all cores remains balanced as particles migrate throughout the domain.
Running with Load Balancing Activated
To run with load balancing, use the following steps:
- Load the simulation into a parallel server. See Working with Parallel Servers.
- Activate the Lagrangian load-balancing solver. See Lagrangian Load-Balancing Solver.
- Start the run.
The load-balancing framework must complete at least one cycle before the load-balancing information can be collected and used to rebalance mesh. The first iteration or time step therefore runs with the original domain decomposition based on cell count.