Abstract

Purpose A common observation made when computing chemically reacting flows is how central processing unit (CPU)-intensive these are in comparison to cold flow cases. The update of tens or hundreds of species with hundreds or thousands of reactions can easily consume more than 95% of the total CPU time. In many cases, the region where reactions (combustion) are actually taking place comprises only a very small percentage of the volume. Typical examples are flame fronts propagating through a domain. In such cases, only a small fraction of points/cells needs a full chemistry update. This leads to extreme load imbalances on parallel machines. The purpose of the present work is to develop a methodology to balance the work in an optimal way. Design/methodology/approach Points that require a full chemistry update are identified, gathered and distributed across the network, so that work is evenly distributed. Once the chemistry has been updated, the unknowns are gathered back. Findings The procedure has been found to work extremely well, leading to optimal load balance with insignificant communication overheads. Research limitations/implications In many production runs, the procedure leads to a reduction in CPU requirements of more than an order of magnitude. This allows much larger and longer runs, improving accuracy and statistics. Practical implications The procedure has allowed the calculation of chemically reacting flow cases that were hitherto not possible. Originality/value To the authors’ knowledge, this type of load balancing has not been published before.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call