Load Balancing for Computational Fluid Dynamics Calculations

Author(s):  
M. Streng
2007 ◽  
Vol 111 (1117) ◽  
pp. 185-193 ◽  
Author(s):  
N. Hills

This paper describes the work done to achieve high parallel performance for an unstructured, unsteady turbomachinery computational fluid dynamics (CFD) code. The aim of the work described here is to be able to scale problems to the thousands of processors that current and future machine architectures will provide. The CFD code is in design use in industry and is also used as a research tool at a number of universities. High parallel scalability has been achieved for a range of turbomachinery test cases, from steady-state hexahedral mesh cases to fully unsteady unstructured mesh cases. This has been achieved by a combination of code modification and consideration of the parallel partitioning strategy and resulting load balancing. A sliding plane option is necessary to run fully unsteady multistage turbomachinery test cases and this has been implemented within the CFD code. Sample CFD calculations of a full turbine including parts of the internal air system are presented.


2021 ◽  
Vol 8 (2) ◽  
pp. 169-180
Author(s):  
Mark Lin ◽  
Periklis Papadopoulos

Computational methods such as Computational Fluid Dynamics (CFD) traditionally yield a single output – a single number that is much like the result one would get if one were to perform a theoretical hand calculation. However, this paper will show that computation methods have inherent uncertainty which can also be reported statistically. In numerical computation, because many factors affect the data collected, the data can be quoted in terms of standard deviations (error bars) along with a mean value to make data comparison meaningful. In cases where two data sets are obscured by uncertainty, the two data sets are said to be indistinguishable. A sample CFD problem pertaining to external aerodynamics is copied and ran on 29 identical computers in a university computer lab. The expectation is that all 29 runs should return exactly the same result; unfortunately, in a few cases the result turns out to be different. This is attributed to the parallelization scheme which partitions the mesh to run in parallel on multiple cores of the computer. The distribution of the computational load is hardware-driven depending on the available resource of each computer at the time. Things, such as load-balancing among multiple Central Processing Unit (CPU) cores using Message Passing Interface (MPI) are transparent to the user. Software algorithm such as METIS or JOSTLE is used to automatically divide up the load between different processors. As such, the user has no control over the outcome of the CFD calculation even when the same problem is computed. Because of this, numerical uncertainty arises from parallel (multicore) computing. One way to resolve this issue is to compute problems using a single core, without mesh repartitioning. However, as this paper demonstrates even this is not straight forward. Keywords: numerical uncertainty, parallelization, load-balancing, automotive aerodynamics


Sign in / Sign up

Export Citation Format

Share Document