skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: A Comparison of Classical and Aggregation-Based Algebraic Multigrid Preconditioners for High-Fidelity Simulation of Wind Turbine Incompressible Flows

Abstract

This paper presents a comparison of parallel strong scaling performance of classical and aggregation algebraic multigrid (AMG) preconditioners in the context of wind turbine simulations. Fluid motion is governed by the incompressible Navier--Stokes equations, discretized in space with control-volume finite elements and in time with an inexact projection scheme using an implicit integrator. A discontinuous-Galerkin sliding-mesh algorithm captures rotor motion. The momentum equations are solved with iterative Krylov methods, preconditioned by symmetric Gauss--Seidel (SGS) in Trilinos and $$\ell_1$$ SGS in hypre. The mass-continuity equation is solved with GMRES preconditioned by AMG and can account for the majority of simulation time. Reducing this continuity solve time is crucial. Wind turbine simulations present two unique challenges for AMG preconditioned solvers: the computational meshes include strongly anisotropic elements, and mesh motion requires matrix reinitialization and computation of preconditioners at each time step. Detailed timing profiles are presented and analyzed, and best practices are discussed for both classical and aggregation-based AMG. Results are presented for simulations of two different wind turbines with up to 6 billion grid points on two different computer architectures. For moving mesh problems that require linear-system reinitialization, the well-established strategy of amortizing preconditioner setup costs over a large number of time steps to reduce the solve time is no longer valid. Instead, results show that faster time to solution is achieved by reducing preconditioner setup costs at the expense of linear-system solve costs. Standard smoothed aggregation with Chebyshev relaxation was found to perform poorly when compared with classical AMG in terms of solve time and robustness. However, plain aggregation was comparable to classical AMG.

Authors:
 [1];  [1];  [1];  [2]; ORCiD logo [1];  [1]
  1. National Renewable Energy Laboratory (NREL), Golden, CO (United States)
  2. Sandia National Laboratories
Publication Date:
Research Org.:
National Renewable Energy Lab. (NREL), Golden, CO (United States)
Sponsoring Org.:
USDOE Office of Science (SC), Exascale Computing Project (ECP)
OSTI Identifier:
1577955
Report Number(s):
NREL/JA-2C00-73930
DOE Contract Number:  
AC36-08GO28308
Resource Type:
Journal Article
Journal Name:
SIAM Journal on Scientific Computing
Additional Journal Information:
Journal Volume: 41; Journal Issue: 5
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS AND COMPUTING; Navier-Stokes; iterative solvers; algebraic multigrid; wind turbines; exascale

Citation Formats

Thomas, Stephen, Ananthan, Shreyas, Yellapantula, Shashank, Hu, J. J., Lawson, Michael J, and Sprague, Michael W. A Comparison of Classical and Aggregation-Based Algebraic Multigrid Preconditioners for High-Fidelity Simulation of Wind Turbine Incompressible Flows. United States: N. p., 2019. Web. doi:10.1137/18M1179018.
Thomas, Stephen, Ananthan, Shreyas, Yellapantula, Shashank, Hu, J. J., Lawson, Michael J, & Sprague, Michael W. A Comparison of Classical and Aggregation-Based Algebraic Multigrid Preconditioners for High-Fidelity Simulation of Wind Turbine Incompressible Flows. United States. doi:10.1137/18M1179018.
Thomas, Stephen, Ananthan, Shreyas, Yellapantula, Shashank, Hu, J. J., Lawson, Michael J, and Sprague, Michael W. Tue . "A Comparison of Classical and Aggregation-Based Algebraic Multigrid Preconditioners for High-Fidelity Simulation of Wind Turbine Incompressible Flows". United States. doi:10.1137/18M1179018.
@article{osti_1577955,
title = {A Comparison of Classical and Aggregation-Based Algebraic Multigrid Preconditioners for High-Fidelity Simulation of Wind Turbine Incompressible Flows},
author = {Thomas, Stephen and Ananthan, Shreyas and Yellapantula, Shashank and Hu, J. J. and Lawson, Michael J and Sprague, Michael W},
abstractNote = {This paper presents a comparison of parallel strong scaling performance of classical and aggregation algebraic multigrid (AMG) preconditioners in the context of wind turbine simulations. Fluid motion is governed by the incompressible Navier--Stokes equations, discretized in space with control-volume finite elements and in time with an inexact projection scheme using an implicit integrator. A discontinuous-Galerkin sliding-mesh algorithm captures rotor motion. The momentum equations are solved with iterative Krylov methods, preconditioned by symmetric Gauss--Seidel (SGS) in Trilinos and $\ell_1$ SGS in hypre. The mass-continuity equation is solved with GMRES preconditioned by AMG and can account for the majority of simulation time. Reducing this continuity solve time is crucial. Wind turbine simulations present two unique challenges for AMG preconditioned solvers: the computational meshes include strongly anisotropic elements, and mesh motion requires matrix reinitialization and computation of preconditioners at each time step. Detailed timing profiles are presented and analyzed, and best practices are discussed for both classical and aggregation-based AMG. Results are presented for simulations of two different wind turbines with up to 6 billion grid points on two different computer architectures. For moving mesh problems that require linear-system reinitialization, the well-established strategy of amortizing preconditioner setup costs over a large number of time steps to reduce the solve time is no longer valid. Instead, results show that faster time to solution is achieved by reducing preconditioner setup costs at the expense of linear-system solve costs. Standard smoothed aggregation with Chebyshev relaxation was found to perform poorly when compared with classical AMG in terms of solve time and robustness. However, plain aggregation was comparable to classical AMG.},
doi = {10.1137/18M1179018},
journal = {SIAM Journal on Scientific Computing},
number = 5,
volume = 41,
place = {United States},
year = {2019},
month = {10}
}