Default numerical settings (RESERVOIR_DEFAULTS)
Here, we list the defaults used by Cirrus (or RESERVOIR_DEFAULTS keyword for versions before 1.9) for each input card, unless overridden. For more information see each respective card and keyword.
An input example of RESERVOIR_DEFAULTS is as follows:
SIMULATION
SIMULATION_TYPE SUBSURFACE
PROCESS_MODELS
SUBSURFACE_FLOW Flow
MODE GAS_WATER
OPTIONS
ISOTHERMAL
RESERVOIR_DEFAULTS
/
/ ! end of subsurface_flow
/ ! end of process models
END !! end simulation block
Note that the keyword RESERVOIR_DEFAULTS is DEPRECATED since Cirrus version 1.9 and it is no longer required.
SIMULATION
Card: SIMULATION.
ANALYTICAL_JACOBIAN: this is automatically selected. Analytical Jacobian increases the accuracy and convergence of the nonlinear solver. The opposite is NUMERICAL_JACOBIAN, whichuses numerical differences to find the Jacobian and is usually less accurate.
MAX_PRESSURE_CHANGE: this is set to 5.5d6 Pa. This value has been observed to provide a good balance of safety and timestep acceleration for reservoir models under test.
TIMESTEPPER FLOW
Card: TIMESTEPPER FLOW.
TS_ACCELERATION: this is set to 100. This value has been observed to provide a good balance of safety and timestep acceleration for reservoir models under test.
LINEAR_SOLVER
Card: LINEAR_SOLVER.
PC_TYPE: this is set to CPR, the constrained pressure residual, a multigrid based preconditioner. CPR is generally required for most difficult reservoir models.
KSP_TYPE: this is set to FGMRES, the flexible gmres linear solver is a common solver and works well with the CPR preconditioner.
GMRES_MODIFIED_GRAMSCHMIDT: this is automatically selected. A reliable setting for FGMRES for our purposes.
GMRES_RESTART: this is set to 100. A reliable setting for FGMRES for our purposes.
MAXIT: this is set to 80. Higher than this indicates the linear solver would benefit more from a timestep cut than more iterations.
NEWTON_SOLVER
Card NEWTON_SOLVER.
STOL: set to 1.0D-16. STOL is not often a reliable convergence measure so in most cases a step should converge by some other criterion.
MAXIT: set to 15. A healthy Newton convergence is usually up to about 10 iterations. More than this and it is often inefficient to force it to converge at the given timestep length.
ITOL: set to 1.0D-8. A reliable absolute convergence tolerance. Works well with the RTOL default already in place.
ITOL_S: set to 1.0D-8. Also the computation of scaled norms is activated.