This work studies the performance of a novel preconditioner, designed for thermal reservoir simulation cases and recently introduced in Roy et al. (2020) and Cremon et al. (2020), on large-scale thermal CO2 injection cases. For Carbon Capture and Sequestration (CCS) projects, injecting CO2 under supercritical conditions is typically tens of degrees colder than the reservoir temperature. Thermal effects can have a significant impact on the simulation results, but they also add many challenges for the solvers. More specifically, the usual combination of an iterative linear solver (such as GMRES) and the Constrained Pressure Residual (CPR) physics-based block-preconditioner is known to perform rather poorly or fail to converge when thermal effects play a significant role. The Constrained Pressure-Temperature Residual (CPTR) preconditioner retains the 2x2 block structure (elliptic/hyperbolic) of CPR but includes the temperature in the elliptic subsystem. The elliptic subsystem is now formed by two equations, and is dealt with by the system-solver of BoomerAMG (from the HYPRE library). Then a global smoother, ILU(0), is applied to the full system to handle the local, hyperbolic temperature fronts. We implemented CPTR in the multi-physics solver GEOS and present results on various large-scale thermal CCS simulation cases, including both Cartesian and fully unstructured meshes, up to tens of millions of degrees of freedom. The CPTR preconditioner severely reduces the number of GMRES iterations and the runtime, with cases timing out in 24h with CPR now requiring a few hours with CPTR. We present strong scaling results using hundreds of CPU cores for multiple cases, and show close to linear scaling. CPTR is also virtually insensitive to the thermal Peclet number (which compares advection and diffusion effects) and is suitable to any thermal regime.
翻译:暂无翻译