  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.
