# Improving Performance of Simplified Computational Fluid Dynamics Models via Symmetric Successive Overrelaxation

## Abstract

**:**

## 1. Introduction

**Ax**=

**b**,

**A**is the coefficient matrix,

**x**the solution vector, and

**b**the right-hand side vector, one considers the system

**M**

^{−1}

**Ax**=

**M**

^{−1}

**b**.

**M**denotes the preconditioning matrix such that

**M**

^{−1}

**A**has a smaller condition number than

**A**and, therefore, linear system (2) features better convergence. It should also be noted that

**M**

^{−1}

**A**often is not formed explicitly but, instead,

**Mu**=

**v**is solved for various auxiliary vectors

**u**and

**v**within the numerical solution method itself.

**M**) available, and the selection of the best one for a particular purpose depends mainly on the type of equation that is being solved and the employed ordering of the variables. However, the most commonly used techniques are likely various flavors of incomplete lower–upper factorization (ILU) [2] (these were numerically investigated by Chapman et al. [3]) and symmetric successive overrelaxation (SSOR) [4]. Although SSOR was originally intended for symmetric matrices, it was shown [5] to also work when the matrices are not symmetric. Assuming the splitting

**A**=

**D**+

**L**+

**U**, where

**D**is the diagonal of

**A**and

**L**and

**U**its strictly lower and upper triangular parts, respectively, the SSOR preconditioning technique is applied within the numerical solution method as two SOR sweeps using different values of ω. The iteration process for auxiliary vectors

**u**,

**v**(depend on the actual solution method used) can then be written as

**u**

^{(k + 1/2)}= (

**D**+ ω

_{F}

**L**)

^{−1}[(1 − ω

_{F})

**D**− ω

_{F}

**U**]

**u**

^{(k)}+ ω

_{F}(

**D**+ ω

_{F}

**L**)

^{−1}

**v**(forward sweep)

**u**

^{(k + 1)}= (

**D**+ ω

_{R}

**U**)

^{−1}[(1 − ω

_{R})

**D**− ω

_{R}

**L**]

**u**

^{(k + 1/2)}+ ω

_{R}(

**D**+ ω

_{R}

**U**)

^{−1}

**v**, (backward sweep)

_{F}and ω

_{R}denote the corresponding forward and backward relaxation factors. In other words, direct application of the inverse of the preconditioning matrix,

**M**

^{−1}, is replaced by preconditioned fixed point iteration.

## 2. Materials and Methods

^{2}was set when the energy equation was enabled. Steady state simulations were carried out using the same CFD setup as in [42], that is, the SIMPLEC pressure-velocity coupling [43] was employed together with the Power Law discretization scheme [44]. Standard scaled residual limits, i.e., 10

^{−3}for continuity and momentum and 10

^{−6}for energy, were used. Only the natural ordering of the variables was considered in this study.

_{F}, ω

_{R}= 0.1, 0.2, …, 1.8, 1.9 in successive steps, depending on the obtained results. Promising combinations of ω

_{F}and ω

_{R}were then taken as pivots, and their square neighborhoods were tested further—that is, all combinations of ω

_{F}, ω

_{R}with the respective values being ω – 0.04, ω – 0.02, ω, ω + 0.02, and ω + 0.04 were evaluated except for the original pivot point (ω

_{F}, ω

_{R}). In order to be able to compare SSOR to the baseline (ILU), all the ten meshes were also evaluated using the ILU-preconditioned combinations of solution methods. In total, 50,620 CFD model setups were tested.

## 3. Results

#### 3.1. Flow-Only Simulations with SSOR-Preconditioned Momentum Equations

_{F}and ω

_{R}, the majority of test cases either failed (mostly due to divergence) or resulted in very long computational times. Those setups which did not fail featured ω

_{F}≈ ω

_{R}and, what is more, their amount decreased with an increasing mesh size, as shown in Figure 2. This was most probably a consequence of the fact that SSOR is sensitive to the ordering of variables. Only the ILU preconditioning technique was, therefore, used for the pressure correction equation, from then on.

_{F}and ω

_{R}resulted in failures (again, mostly because of divergence; see Figure 3). It is also evident from the figure that the best-performing combinations were around ω

_{F}= ω

_{R}= 1.0, while with ω

_{F}below 0.5 or above 1.5 the computational times were much longer, or solution failures occurred. As for the CFD setup involving BiCGstab(3) in particular, mean computational times started at 2.56 s for the smallest mesh and 117.33 s when the largest mesh was used.

_{F}and ω

_{R}obtained for the ten flow systems were sorted by mean computational time and the respective ordered sets were then used to find the most common combinations yielding the most favorable computational times. In other words, the best tuples (ω

_{F}, ω

_{R}) were taken as pivot points whose square neighborhoods were evaluated further.

_{F}, ω

_{R}∈ [0.5, 1.5], where the best-performing combinations of relaxation factors are located. The dotted lines in both these plots represent the trend obtained using the standard weighted least squares method. Because the goal was to minimize computational time, the weights for individual combinations (ω

_{F}, ω

_{R}) were calculated as w

_{i}= (t

_{min}/t

_{i})

^{4}, where t

_{min}denotes the minimum computational time observed with a specific mesh and t

_{i}denotes the mean computational time corresponding to the respective (i-th) combination of relaxation factors evaluated using this mesh. The fourth power of the computational time ratio instead of just the ratio itself was used to adequately limit the influence of combinations that yielded solutions in longer time frames. Weights for combinations leading to solution failures were set to zero.

^{2}values are relatively low, this is caused by the fact that the data featured many less-relevant points scattered over the (0, 2) × (0, 2) relaxation factor domain, which were assigned small, but still non-zero weights. In any case, the standard errors for the trend coefficients are quite reasonable, and it is obvious that all the trends are very similar. Considering the actual values of the coefficients a and b and the fact that the best combinations of relaxation factors featured ω

_{F}≈ 0.9, it follows that, when solving the momentum equations in flow-only scenarios, both SSOR sweeps should be slightly underrelaxed to gain the shortest computational time.

#### 3.2. Flow & Energy Transport Simulations with SSOR-Preconditioned Energy Equation

_{F}and ω

_{R}resulted in solution failures. It can also be seen that all the suitable relaxation factor tuples were in a relatively small neighborhood of (1, 1). Furthermore, with the SSOR-preconditioned energy equation, a significantly larger percentage of failures than before was due to slow convergence (that is, the respective iteration limits were exceeded).

_{F}and ω

_{R}to get the corresponding relaxation factor trends. Again, the standard weighted least squares method was used with the weights being calculated in the same manner as before. Because the best setup and the second-best one (featured in Figure 6 and Figure 7) were, at least in some cases, on par, the trends were calculated for both of them (see Table 4 and Figure 8). It is of note here that all benchmarks involving the largest mesh and BiCGstab(1) had failed. This suggests that the respective solution method simply is too slow when combined with SSOR. In any case, the best results were obtained with ω

_{F}around 1.2 or 1.1 when BiCGstab(1) or BiCGstab(2) were used, respectively. This means that, given the calculated relaxation factor trends, ω

_{R}should also be a little above 1.0 (i.e., it is best to slightly overrelax both SSOR sweeps when solving the energy equation).

#### 3.3. Flow & Energy Transport Simulations with SSOR-Preconditioned Momentum and Energy Equations

_{F}, ω

_{R}= 0.7, 0.8, …, 1.3 were evaluated, i.e., only the subdomain where the best-performing relaxation factor quadruples were expected to lie. Additionally, only the “Z”-arranged flow system meshes, and the two setups identified in Section 3.2 as the most promising ones, were considered. Such a reduction led to a decrease in the number of combinations to be evaluated from more than 2.6 million (10 meshes × 2 setups × 130,321 factor quadruples) to ~24 thousand (5 meshes × 2 setups × 2,401 factor quadruples). This still provided enough information to get a general sense of how solution processes would likely behave.

_{F}between ca. 1.1 and 1.3, while the backward sweeps should use ω

_{R}≤ ω

_{F}. As for the energy equation and BiCGstab(1), the forward sweep should, again, be slightly overrelaxed (ω

_{F}up to ca. 1.2) and ω

_{R}≤ ω

_{F}, while with BiCGstab(2) ω

_{F}should be around 1.0 (i.e., without any forward sweep relaxation) and ω

_{R}≥ ω

_{F}.

#### 3.4. Comparison to ILU-Only Simulations

## 4. Discussion

_{F}≈ 0.9 and ω

_{R}slightly less than ω

_{F}, that is, both SSOR sweeps should be a little underrelaxed. Computational times obtained using other variants of BiCGstab(L) proved to be at least 80% longer. If also the energy transport is included and only the energy equation is preconditioned using SSOR, it is best to solve the momentum equations using BiCGstab(3) and the energy equation using BiCGstab(1). Here, both SSOR sweeps should be slightly overrelaxed, with ω

_{F}≈ 1.2 and ω

_{R}≈ 1.1. Similar performance can in some cases be obtained by employing BiCGstab(2) for both types of equations with the energy SSOR sweeps being overrelaxed using ω

_{F}≈ ω

_{R}≈ 1.1; however, a much greater solution failure probability can then be expected. If SSOR is utilized for both the momentum and the energy equations, then it is, again, preferable to use the combination of BiCGstab(3) and BiCGstab(1). The respective forward sweeps should be a little overrelaxed (ω

_{F}between ca. 1.1 and 1.3 for the momentum, and up to ca. 1.2 for the energy), while the backward sweeps should feature ω

_{R}slightly lower than ω

_{F}. The best-case computational times obtained with BiCGstab(2) proved to be up to ~67% longer and, therefore, the use of this numerical solution method is discouraged in this scenario.

## Supplementary Materials

## Funding

## Conflicts of Interest

## References

- Turek, V.; Fialová, F.; Jegla, Z. Efficient flow modelling in equipment containing porous elements. Chem. Eng. Trans.
**2016**, 52, 487–492. [Google Scholar] [CrossRef] - Meijerink, J.A.; van der Vorst, A.H. An iterative solution method for linear systems of which the coefficient matrix is a symmetric M-matrix. Math. Comput.
**1977**, 31, 148–162. [Google Scholar] [CrossRef] - Chapman, A.; Saad, Y.; Wigton, L. High-order ILU preconditioners for CFD problems. Int. J. Numer. Methods Fluids
**2000**, 33, 767–788. [Google Scholar] [CrossRef] - Young, D.M. On the accelerated SSOR method for solving large linear systems. Adv. Math.
**1977**, 23, 215–271. [Google Scholar] [CrossRef] [Green Version] - Birken, P.; Gassner, G.; Haas, M.; Munz, C.-D. Preconditioning for modal discontinuous Galerkin methods for unsteady 3D Navier–Stokes equations. J. Comput. Phys.
**2013**, 240, 20–35. [Google Scholar] [CrossRef] - Bai, Z.-Z. On SSOR-like preconditioners for non-Hermitian positive definite matrices. Numer. Linear Algebra
**2016**, 23, 37–60. [Google Scholar] [CrossRef] - Tan, X.-Y. Shifted SSOR-like preconditioner for non-Hermitian positive definite matrices. Numer. Algorithms
**2017**, 75, 245–260. [Google Scholar] [CrossRef] - Zhang, J.-L. On SSOR-like preconditioner for saddle point problems with dominant skew-Hermitian part. Int. J. Comput. Math.
**2019**, 96, 782–796. [Google Scholar] [CrossRef] - Wang, Z.-Q. On hybrid preconditioning methods for large sparse saddle-point problems. Linear Algebra Appl.
**2011**, 434, 2353–2366. [Google Scholar] [CrossRef] - Chen, J.; Liu, Z.; Cao, N.; Yong, B. Shifted SSOR preconditioning technique for improved electric field integral equations. Microw. Opt. Technol. Lett.
**2013**, 55, 304–308. [Google Scholar] [CrossRef] - Wu, S.-L.; Li, C.-X. A modified SSOR preconditioning strategy for Helmholtz equations. J. Appl. Math.
**2012**, 2012, 365124. [Google Scholar] [CrossRef] - Zhang, L.T.; Cheng, S.H. Modified block symmetric SOR preconditioners for large sparse saddle-point problems. Appl. Mech. Mater.
**2013**, 241–244, 2583–2586. [Google Scholar] [CrossRef] - Huang, Y.-M.; Lu, D.-Y. A preconditioned conjugate gradient method for multiplicative half-quadratic image restoration. Appl. Math. Comput.
**2013**, 219, 6556–6564. [Google Scholar] [CrossRef] - Meng, Z.; Li, F.; Xu, X.; Huang, D.; Zhang, D. Fast inversion of gravity data using the symmetric successive over-relaxation (SSOR) preconditioned conjugate gradient algorithm. Explor. Geophys.
**2017**, 48, 294–304. [Google Scholar] [CrossRef] - Helfenstein, R.; Koko, J. Parallel preconditioned conjugate gradient algorithm on GPU. J. Comput. Appl. Math.
**2012**, 236, 3584–3590. [Google Scholar] [CrossRef] [Green Version] - Meyer, K. Technical note: A successive over-relaxation preconditioner to solve mixed model equations for genetic evaluation. J. Anim. Sci.
**2016**, 94, 4530–4535. [Google Scholar] [CrossRef] [PubMed] - Sanjuan, G.; Margalef, T.; Cortés, A. Accelerating preconditioned conjugate gradient solver in wind field calculation. In Proceedings of the 2016 International Conference on High Performance Computing & Simulation (HPCS), Innsbruck, Austria, 18–22 July 2016; Smari, W.W., Ed.; IEEE: New York, NY, USA, 2016; pp. 294–301. [Google Scholar] [CrossRef]
- Duff, I.S.; Meurant, G.A. The effect of ordering on preconditioned conjugate gradients. BIT Numer. Math.
**1989**, 29, 635–657. [Google Scholar] [CrossRef] - DeLong, M.A.; Ortega, J.M. SOR as a preconditioner. Appl. Numer. Math.
**1995**, 18, 431–440. [Google Scholar] [CrossRef] - Chen, Y.; Zhao, Y.; Zhao, W.; Zhao, L. A comparative study of preconditioners for GPU-accelerated conjugate gradient solver. In Proceedings of the 2013 IEEE 10th International Conference on High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing, Zhangjiajie, China, 13–15 November 2013; IEEE: New York, NY, USA, 2013; pp. 628–635. [Google Scholar] [CrossRef]
- Li, J.; Zhang, N.-M. A triple-parameter modified SSOR method for solving singular saddle point problems. BIT Numer. Math.
**2016**, 56, 501–521. [Google Scholar] [CrossRef] - Pan, C. On generalized SSOR-like iteration method for saddle point problems. WSEAS Trans. Math.
**2017**, 16, 239–247. [Google Scholar] - Liang, Z.-Z.; Zhang, G.-F. Modified unsymmetric SOR method for saddle-point problems. Appl. Math. Comput.
**2014**, 234, 584–598. [Google Scholar] [CrossRef] - Wang, H.-D.; Huang, Z.-D. On a new SSOR-like method with four parameters for the augmented systems. East Asian J. Appl. Math.
**2017**, 7, 82–100. [Google Scholar] [CrossRef] - Louka, M.A.; Missirlis, N.M. A comparison of the extrapolated successive overrelaxation and the preconditioned simultaneous displacement methods for augmented linear systems. Numer. Math.
**2015**, 131, 517–540. [Google Scholar] [CrossRef] - Najafi, H.S.; Edalatpanah, S.A. On the modified symmetric successive over-relaxation method for augmented systems. Comp. Appl. Math.
**2015**, 34, 607–617. [Google Scholar] [CrossRef] - Darvishi, M.T.; Hessari, P. A modified symmetric successive overrelaxation method for augmented systems. Comput. Math. Appl.
**2011**, 61, 3128–3135. [Google Scholar] [CrossRef] [Green Version] - Salkuyeh, D.K.; Shamsi, S.; Sadeghi, A. An improved symmetric SOR iterative method for augmented systems. Tamkang J. Math.
**2012**, 43, 479–490. [Google Scholar] [CrossRef] - Huang, Z.-G.; Wang, L.-G.; Xu, Z.; Cui, J.-J. Preconditioned accelerated generalized successive overrelaxation method for solving complex symmetric linear systems. Comput. Math. Appl.
**2019**, 77, 1902–1916. [Google Scholar] [CrossRef] - Edalatpour, V.; Hezari, D.; Salkuyeh, D.K. Accelerated generalized SOR method for a class of complex systems of linear equations. Math. Commun.
**2015**, 20, 37–52. [Google Scholar] - Hezari, D.; Edalatpour, V.; Salkuyeh, D.K. Preconditioned GSOR iterative method for a class of complex symmetric system of linear equations. Numer. Linear Algebra Appl.
**2015**, 22, 761–776. [Google Scholar] [CrossRef] [Green Version] - Salkuyeh, D.K.; Hezari, D.; Edalatpour, V. Generalized successive overrelaxation iterative method for a class of complex symmetric linear system of equations. Int. J. Comput. Math.
**2015**, 92, 802–815. [Google Scholar] [CrossRef] - Pu, Z.-N.; Wang, X.-Z. Block preconditioned SSOR methods for H-matrices linear systems. J. Appl. Math.
**2013**, 2013, 213659. [Google Scholar] [CrossRef] - Kushida, N. Condition number estimation of preconditioned matrices. PLoS ONE
**2015**, 10, e0122331. [Google Scholar] [CrossRef] [PubMed] - Zhang, C.; Miao, G.; Zhu, Y. Convergence on successive over-relaxed iterative methods for non-Hermitian positive definite linear systems. J. Inequal. Appl.
**2016**, 2016, 156. [Google Scholar] [CrossRef] - Wang, H.-D.; Huang, Z.-D. On convergence and semi-convergence of SSOR-like methods for augmented linear systems. Appl. Math. Comput.
**2018**, 326, 87–104. [Google Scholar] [CrossRef] - Liang, Z.-Z.; Zhang, G.-F. On SSOR iteration method for a class of block two-by-two linear systems. Numer. Algorithms
**2016**, 71, 655–671. [Google Scholar] [CrossRef] - Zhou, L.; Zhang, N. Semi-convergence analysis of GMSSOR methods for singular saddle point problems. Comput. Math. Appl.
**2014**, 68, 596–605. [Google Scholar] [CrossRef] - Cao, G.; Huang, Y.; Song, Y. Convergence of parallel block SSOR multisplitting method for block H-matrix. Calcolo
**2013**, 50, 239–253. [Google Scholar] [CrossRef] - Yang, S.; Gobbert, M.K. The optimal relaxation parameter for the SOR method applied to the Poisson equation in any space dimensions. Appl. Math. Lett.
**2009**, 22, 325–331. [Google Scholar] [CrossRef] [Green Version] - Barrett, R.; Berry, M.W.; Chan, T.F.; Demmel, J.; Donato, J.; Dongarra, J.; Eijkhout, V.; Pozo, R.; Romine, C.; Van der Vorst, H. Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, 2nd ed.; Society for Industrial and Applied Mathematics (SIAM): Philadelphia, PA, USA, 1994; pp. 35–49. [Google Scholar]
- Turek, V. On improving computational efficiency of simplified fluid flow models. Chem. Eng. Trans.
**2018**, 70, 1447–1452. [Google Scholar] [CrossRef] - Van Doormaal, J.P.; Raithby, G.D. Enhancement of the SIMPLE method for predicting incompressible fluid flows. Numer. Heat Transf.
**1984**, 7, 147–163. [Google Scholar] [CrossRef] - Patankar, S.V. A calculation procedure for two-dimensional elliptic situations. Numer. Heat Transf.
**1981**, 4, 409–425. [Google Scholar] [CrossRef] - Hestenes, M.R.; Stiefel, E. Methods of conjugate gradients for solving linear systems. J. Res. Natl. Bur. Stand.
**1952**, 49, 409–436. [Google Scholar] [CrossRef] - Sleijpen, G.L.; Fokkema, D.R. BiCGstab(l) for linear equations involving unsymmetric matrices with complex spectrum. Electron. Trans. Numer. Anal.
**1993**, 1, 11–32. [Google Scholar]

**Figure 1.**Sample simplified (cuboid cell-only) meshes generated automatically by the benchmarking software using the growth factor of 1.15; clockwise from top left: (

**a**) layout of the “Z”-arranged flow system 1 from Table 1; (

**b**) the corresponding finer mesh (~25,000 cells, groups of red cells in the top view denote locations of tube cross-sections); (

**c**) top view of the finer mesh of the distribution header from flow system 2 (inlet region being on the left); other parts of this mesh, as well as the remaining meshes, were generated analogously.

**Figure 2.**Mean computational times for three different meshes and various combinations of ω

_{F}and ω

_{R}, the pressure correction equation was solved using CG:SSOR and the momentum equations using BiCGstab(3):ILU; diagonal crosses indicate failing combinations of ω

_{F}and ω

_{R}. Please note that the colorbars have been adjusted so that the best (i.e., the most relevant) combinations of ω

_{F}, ω

_{R}are easily identifiable. Further, due to the necessary colorbar ranges, the respective lower limits have been set to zero even though the data start at higher values.

**Figure 3.**Mean computational times for the smallest mesh and the cases when the pressure correction equation was solved using CG:ILU and the momentum equations using BiCGstab(3):SSOR, BiCGstab(2):SSOR, and BiCGstab(1):SSOR; diagonal crosses indicate failing combinations of ω

_{F}and ω

_{R}. Please note that the colorbars have been adjusted so that the best (i.e., the most relevant) combinations of ω

_{F}, ω

_{R}are easily identifiable.

**Figure 4.**Mean computational times for the neighborhoods of pivot points corresponding to the smallest mesh; the pressure correction equation was solved using CG:ILU and the momentum equations using BiCGstab(3):SSOR; please note that, for the sake of clarity, the time ranges have been severely limited in both plots. Again, the colorbars have been adjusted so that the best (i.e., the most relevant) combinations of ω

_{F}, ω

_{R}are easily identifiable.

**Figure 5.**Relaxation factor trends for the solution of momentum equations using BiCGstab(3):SSOR; the overall trend was obtained using the merged data set and identical weights.

**Figure 6.**Mean computational times for three different meshes and various combinations of ω

_{F}and ω

_{R}, CG:ILU was used to solve the pressure correction equation, BiCGstab(3):ILU was used for the momentum equations, and BiCGstab(1):SSOR was used for the energy equation; diagonal crosses indicate failing combinations of ω

_{F}and ω

_{R}. Please note that the colorbars have been adjusted so that the best (i.e., the most relevant) combinations of ω

_{F}, ω

_{R}are easily identifiable.

**Figure 7.**Mean computational times corresponding to the meshes from Figure 6 and the cases when the momentum equations were solved using BiCGstab(2):ILU, and the energy equation was solved using BiCGstab(2):SSOR; diagonal crosses indicate failing combinations of ω

_{F}and ω

_{R}. Please note that the colorbars have been adjusted so that the best (i.e., the most relevant) combinations of ω

_{F}, ω

_{R}are easily identifiable.

**Figure 8.**Relaxation factor trends for the two discussed setups using either BiCGstab(1):SSOR or BiCGstab(2):SSOR to solve the energy equation; the overall trends were obtained using the merged data sets and identical weights.

**Figure 9.**Two-dimensional plots of mean computational times obtained for the smallest “Z”-arranged mesh with (

**a**) the energy relaxation factor tuple fixed to (ω

_{F}, ω

_{R}) = (1.2, 0.7) and (

**b**) the momentum relaxation factor tuple fixed to (ω

_{F}, ω

_{R}) = (1.3, 1.1); BiCGstab(3):SSOR was used to solve the momentum equations and BiCGstab(1):SSOR the energy equation. Please note that the colorbars have been adjusted so that the best (i.e., the most relevant) combinations of ω

_{F}, ω

_{R}are easily identifiable.

**Figure 10.**Two-dimensional plots of mean computational times obtained for the smallest “Z”-arranged mesh with (

**a**) the energy relaxation factor tuple fixed to (ω

_{F}, ω

_{R}) = (0.9, 1.2) and (

**b**) the momentum relaxation factor tuple fixed to (ω

_{F}, ω

_{R}) = (1.0, 0.9); BiCGstab(2):SSOR was used to solve both the momentum equations and the energy equation; diagonal crosses indicate failing combinations of ω

_{F}and ω

_{R}. Please note that the colorbars have been adjusted so that the best (i.e., the most relevant) combinations of ω

_{F}, ω

_{R}are easily identifiable.

**Figure 11.**Relaxation factor trends for (

**a**) momentum and (

**b**) energy obtained with BiCGstab(3):SSOR and BiCGstab(1):SSOR as the solution methods for the momentum equations and the energy equation, respectively; the overall trends were obtained using the merged data sets and identical weights.

**Figure 12.**Relaxation factor trends for (

**a**) momentum and (

**b**) energy obtained with BiCGstab(2):SSOR as the solution method for both the momentum equations and the energy equation; the overall trends were obtained using the merged data sets and identical weights.

**Figure 13.**Comparison of the mean computational times obtained when solely the ILU preconditioning technique was used, and the overall best-case mean computational times reached with the momentum equations and/or the energy equation being preconditioned with SSOR.

**Table 1.**Flow system parameters: W, L, and H denote width, length, and height, respectively, p

_{r}row pitch, and p

_{t}tube pitch.

Parameter | Flow System 1 | Flow System 2 | Flow System 3 |
---|---|---|---|

Headers (W × L × H) | 40 × 320 × 40 mm | 60 × 340 × 60 mm | 100 × 340 × 100 mm |

Inlet/outlet region (L) | 60 mm | 60 mm | 60 mm |

Tube bundle | 2 inline rows, 20 tubes/row, p_{r} = p_{t} = 15.6 mm | 3 staggered rows (45°), 10 tubes/row, p_{r} = 15.6 mm, p_{t} = 2p_{r} | 5 staggered rows (45°), 10 tubes/row, p_{r} = 15.6 mm, p_{t} = 2p_{r} |

Tubes | ⌀10 mm × 500 mm | ⌀10 mm × 500 mm | ⌀10 mm × 500 mm |

Flow arrangement | “U” or “Z” | “U” or “Z” | “U” or “Z” |

Mesh | coarser: ~6000 cells, finer: ~25,000 cells | coarser: ~8000 cells, finer: ~41,000 cells | coarser: ~16,000 cells |

Mesh Size (Cells) | Warm-Up Runs | Test Runs | Iteration Limit | Computational Time Limit |
---|---|---|---|---|

~6000 | 30 | 50 | 1000 | 1800 s |

~8000 | 30 | 50 | 1000 | 1800 s |

~16,000 | 20 | 40 | 1500 | 2700 s |

~25,000 | 10 | 30 | 2000 | 3600 s |

~41,000 | 10 | 30 | 2000 | 3600 s |

**Table 3.**Relaxation factor trends, ω

_{R}= aω

_{F}+ b, for individual mesh sizes and the overall relaxation factor trend for the solution of momentum equations using BiCGstab(3):SSOR; R

^{2}denotes the coefficient of determination and SE(a) and SE(b) the standard error values for the coefficients a, b.

Mesh Size (Cells) | a | b | R^{2} | SE(a) | SE(b) |
---|---|---|---|---|---|

~6000 | 0.823 | 0.071 | 0.479 | 0.014 | 0.009 |

~8000 | 0.843 | 0.094 | 0.457 | 0.015 | 0.007 |

~16,000 | 0.888 | 0.011 | 0.795 | 0.013 | 0.003 |

~25,000 | 0.798 | 0.051 | 0.593 | 0.019 | 0.007 |

~41,000 | 0.898 | 0.028 | 0.754 | 0.015 | 0.007 |

Overall trend | 0.861 | 0.056 | 0.584 | 0.007 | 0.003 |

**Table 4.**Relaxation factor trends, ω

_{R}= aω

_{F}+ b, for individual mesh sizes and the overall relaxation factor trends for the two discussed setups using either BiCGstab(1):SSOR or BiCGstab(2):SSOR to solve the energy equation; R

^{2}denotes the coefficient of determination, SE(a) and SE(b) denote the standard error values for the coefficients a, b, and “n/a” denotes the fact that all the respective benchmarks had failed, and thus the trend could not be obtained.

Mesh Size (Cells) | BiCGstab(1) | BiCGstab(2) | ||||||||
---|---|---|---|---|---|---|---|---|---|---|

a | b | R^{2} | SE(a) | SE(b) | a | b | R^{2} | SE(a) | SE(b) | |

~6000 | 0.867 | 0.047 | 0.555 | 0.027 | 0.009 | 0.960 | 0.007 | 0.929 | 0.008 | 0.004 |

~8000 | 0.762 | 0.120 | 0.564 | 0.023 | 0.013 | 0.971 | 0.005 | 0.936 | 0.007 | 0.003 |

~16,000 | 0.717 | 0.069 | 0.512 | 0.037 | 0.011 | 0.995 | 0.003 | 0.944 | 0.006 | 0.002 |

~25,000 | 0.905 | 0.012 | 0.888 | 0.009 | 0.002 | 0.964 | 0.012 | 0.922 | 0.013 | 0.006 |

~41,000 | n/a | n/a | n/a | n/a | n/a | 0.994 | 0.001 | 0.940 | 0.013 | 0.001 |

Overall trend | 0.866 | 0.042 | 0.676 | 0.009 | 0.003 | 0.972 | 0.005 | 0.939 | 0.004 | 0.001 |

**Table 5.**Combinations of relaxation factors resulting in the shortest mean computational times when both the momentum and the energy equations were preconditioned using SSOR; setup “B3/B1” denotes the case when BiCGstab(3) was used to solve the momentum equations and BiCGstab(1) the energy equation, while setup “B2/B2” corresponds to only BiCGstab(2) being used for both these equation types.

Mesh Size (Cells) | Setup | Momentum | Energy | Mean Computational Time | ||
---|---|---|---|---|---|---|

ω_{F} | ω_{R} | ω_{F} | ω_{R} | |||

~6000 | B3/B1 | 1.3 | 1.1 | 1.2 | 0.7 | 6.87 s |

B2/B2 | 1.0 | 0.9 | 0.9 | 1.2 | 8.34 s | |

~8000 | B3/B1 | 1.0 | 1.0 | 0.8 | 1.0 | 14.46 s |

B2/B2 | 1.3 | 1.3 | 1.0 | 1.1 | 22.58 s | |

~16,000 | B3/B1 | 1.3 | 1.3 | 1.0 | 0.7 | 81.65 s |

B2/B2 | 0.8 | 0.7 | 1.0 | 1.3 | 57.96 s | |

~25,000 | B3/B1 | 1.1 | 0.7 | 1.2 | 1.2 | 99.16 s |

B2/B2 | 1.3 | 1.3 | 1.0 | 1.2 | 134.85 s | |

~41,000 | B3/B1 | 1.1 | 0.8 | 1.2 | 0.8 | 325.18 s |

B2/B2 | 1.0 | 0.8 | 1.0 | 1.1 | 542.41 s |

**Table 6.**Relaxation factor trends, ω

_{R}= aω

_{F}+ b, for individual mesh sizes and the overall relaxation factor trends for the setup where BiCGstab(3):SSOR was used to solve the momentum equations and BiCGstab(1):SSOR the energy equation; R

^{2}denotes the coefficient of determination and SE(a) and SE(b) the standard error values for the coefficients a, b.

Mesh Size (Cells) | Momentum | Energy | ||||||||
---|---|---|---|---|---|---|---|---|---|---|

a | b | R^{2} | SE(a) | SE(b) | a | b | R^{2} | SE(a) | SE(b) | |

~6000 | 0.684 | 0.141 | 0.636 | 0.011 | 0.006 | 0.798 | 0.097 | 0.576 | 0.014 | 0.007 |

~8000 | 0.876 | 0.062 | 0.610 | 0.014 | 0.007 | 0.774 | 0.101 | 0.585 | 0.013 | 0.006 |

~16,000 | 0.957 | 0.000 | 0.995 | 0.001 | 0.000 | 0.985 | 0.000 | 0.937 | 0.005 | 0.000 |

~25,000 | 1.034 | 0.000 | 0.957 | 0.004 | 0.001 | 0.960 | 0.002 | 0.922 | 0.006 | 0.001 |

~41,000 | 0.931 | 0.001 | 0.914 | 0.006 | 0.001 | 0.892 | 0.001 | 0.905 | 0.006 | 0.001 |

Overall trend | 0.936 | 0.013 | 0.893 | 0.003 | 0.001 | 0.949 | 0.011 | 0.884 | 0.003 | 0.001 |

**Table 7.**Relaxation factor trends, ω

_{R}= aω

_{F}+ b, for individual mesh sizes and the overall relaxation factor trends for the setup where BiCGstab(2):SSOR was used to solve both the momentum equations and the energy equation; R

^{2}denotes the coefficient of determination and SE(a) and SE(b) the standard error values for the coefficients a, b.

Mesh Size (Cells) | Momentum | Energy | ||||||||
---|---|---|---|---|---|---|---|---|---|---|

a | b | R^{2} | SE(a) | SE(b) | a | b | R^{2} | SE(a) | SE(b) | |

~6000 | 0.864 | 0.054 | 0.786 | 0.009 | 0.005 | 0.963 | 0.031 | 0.856 | 0.008 | 0.004 |

~8,000 | 0.957 | 0.026 | 0.811 | 0.009 | 0.005 | 0.946 | 0.030 | 0.871 | 0.007 | 0.004 |

~16,000 | 1.007 | 0.007 | 0.845 | 0.009 | 0.004 | 0.980 | 0.016 | 0.904 | 0.007 | 0.003 |

~25,000 | 0.965 | 0.000 | 0.962 | 0.004 | 0.000 | 1.155 | 0.000 | 0.974 | 0.004 | 0.000 |

~41,000 | 0.993 | 0.002 | 0.930 | 0.006 | 0.001 | 1.007 | 0.001 | 0.961 | 0.004 | 0.001 |

Overall trend | 0.965 | 0.011 | 0.882 | 0.003 | 0.001 | 0.990 | 0.010 | 0.923 | 0.003 | 0.001 |

**Table 8.**Comparison of the mean computational times (s) obtained when solely the ILU preconditioning technique was used, and the overall best-case mean computational times reached with the momentum equations and/or the energy equation being preconditioned with SSOR.

Mesh Size (Cells) | ILU | SSOR | |||
---|---|---|---|---|---|

Momentum | Momentum & Energy | Momentum | Energy | Momentum & Energy | |

~6000 | 3.09 | 7.61 | 2.56 | 8.28 | 6.87 |

~8000 | 4.02 | 9.60 | 4.59 | 14.95 | 14.46 |

~16,000 | 12.93 | 30.92 | 15.60 | 42.13 | 57.96 |

~25,000 | 28.10 | 71.86 | 41.45 | 93.52 | 99.16 |

~41,000 | 119.33 | 294.51 | 117.33 | 368.33 | 325.18 |

© 2019 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Turek, V.
Improving Performance of Simplified Computational Fluid Dynamics Models via Symmetric Successive Overrelaxation. *Energies* **2019**, *12*, 2438.
https://doi.org/10.3390/en12122438

**AMA Style**

Turek V.
Improving Performance of Simplified Computational Fluid Dynamics Models via Symmetric Successive Overrelaxation. *Energies*. 2019; 12(12):2438.
https://doi.org/10.3390/en12122438

**Chicago/Turabian Style**

Turek, Vojtěch.
2019. "Improving Performance of Simplified Computational Fluid Dynamics Models via Symmetric Successive Overrelaxation" *Energies* 12, no. 12: 2438.
https://doi.org/10.3390/en12122438