Back to Input Deck Cards

Back to SUBSURFACE_FLOW

Back to MODE

RICHARDS

Defines options for the Richards subsurface flow mode.

SIMULATION Options

TIMESTEPPER Options

NEWTON_SOLVER Options

Examples

SIMULATION Options

(under SUBSURFACE_FLOW in SIMULATION PROCESS_MODELS block)

Basic Settings

LOGGING_VERBOSITY <integer>

Prints additional convergence logging to the screen when the integer is greater than 0 (for process models that have logging verbosity implemented).

REPLACE_INIT_PARAMS_ON_RESTART

Forces the overwrite of base (0) porosity and permeabilities off which solution dependent parameters may be calculated.

REVERT_PARAMETERS_ON_RESTART

Reverts permeability and porosity back to the values specified in the input file instead of the checkpointed values.

SKIP_RESTART

On a restarted simulation, employs the initial condition for process model instead of the restarted solution.


Expert Settings

INLINE_SURFACE_MANNINGS_COEFF <float>

Specifies the Mannings coefficient for inline flow. (expert-only)

INLINE_SURFACE_REGION

Enables inline surface flow. (expert-only)

TIMESTEPPER Options

Basic Settings

CFL_GOVERNOR

Specifies a maximum CFL (Courant–Friedrichs–Lewy) number that governs time step size. Subsequent time steps are calculated as a function of the maximum flow velocity and grid discretization such that the CFL is not exceeded.

CONCENTRATION_CHANGE_GOVERNOR

Specifies a maximum absolute change in concentration [mole fraction] that governs time step size. Subsequent time steps are calculated such that the governing concentration change is not exceeded.

PRESSURE_CHANGE_GOVERNOR

Specifies a maximum absolute change in pressure [Pa] that governs time step size. Subsequent time steps are calculated such that the governing pressure change is not exceeded.

SATURATION_CHANGE_GOVERNOR

Specifies a maximum absolute change in saturation [-] that governs time step size. Subsequent time steps are calculated such that the governing saturation change is not exceeded.

TEMPERATURE_CHANGE_GOVERNOR

Specifies a maximum absolute change in temperature [C] that governs time step size. Subsequent time steps are calculated such that the governing temperature change is not exceeded.

NEWTON_SOLVER Options

Basic Settings

ANALYTICAL_JACOBIAN

Calculate derivatives in Jacobian analytically.

ATOL <float>

Declare convergence when the 2-norm of residual is less than ATOL \(\left(\|f(x_n)\|<\text{ATOL}\right)\). (default: \(10^{-50}\)).

CONVERGENCE_INFO

Opens a block for toggling ON/OFF convergence information in screen output (default: YES to all). See example below.

  • 2R, FNORM, 2NORMR - 2-norm of residual

  • 2X, XNORM, 2NORMX - 2-norm of solution

  • 2U, UNORM, 2NORMU - 2-norm of update

  • IR, INORMR - inifinity norm of residual

  • IU, INORMU - inifinity norm of update

DTOL <float>

Declare divergence (cut the time step) when the 2-norm of the residual is greater than DTOL times the 2-norm of the initial residual \(\left(\frac{\|f(x_n)\|}{\|f(x_0)\|}>\text{DTOL}\right)\). (default: \(10^{4}\)).

ITOL <float>

Declare convergence when the infinity norm of residual is less than ITOL \(\left(\|f(x_n)\|_{inf}<\text{ITOL}\right)\). (default: not used).

ITOL_UPDATE <float>

Declare convergence when the infinity norm of update is less than ITOL_UPDATE \(\left(\|x_n-x_{n-1}\|_{inf}<\text{ITOL_UPDATE}\right)\). (default: not used).

MAXIMUM_NUMBER_OF_ITERATIONS <int>

Maximum number of Newton iterations before reporting failed convergence.

NO_PRINT_CONVERGENCE

Toggle off printing of convergence information.

NTRDC_OPTIONS or NTR_OPTIONS

Opens a block for trust-region options and parameters (SNES_TYPE NTRDC or SNES_TYPE NTR required)

  • TR_TOL - trust-region tolerance (default: \(1.0^{-12}\))

  • ETA1 - trust-region parameter \(0.0 \le \eta_1 \le \eta_2\), \(\density \ge \eta_1\) breaks out of the inner iteration (default: \(\eta_1=0.001\))

  • ETA2 - trust-region parameter \(0.0 \le \eta_1 \le \eta_2\), \(\density \ge \eta_2\) shrinks the trust-region (default: \(\eta_2=0.25\))

  • ETA3 - trust-region parameter \(\eta_3 > \eta_2\), \(\density \ge \eta_3\) expands the trust-region (default: \(\eta_3=0.75\))

  • T1 - trust-region parameter, shrinking factor of trust-region (default: 0.25)

  • T2 - trust-region parameter, initial size of trust-region, \(\Delta_0*\|x\|_2\) (default: 0.1)

  • DELTA_M - trust-region parameter, max size of trust-region, \(\Delta_M*\|x\|_2\) (default: 0.5)

  • DELTA_0 - trust-region parameter, initial size of trust-region, \(\Delta_0*\|x\|_2\) (default: 0.1)

  • AUTO_SCALE - TRUE enables solution update scaling meaning all types of unknowns are equally treated when evaluating solution update (recommended for WIPP-FLOW, TH); FALSE disables solution update scaling meaning that solution update evaluation will focus more on pressure than other unknowns (recommended for GENERAL, HYDRATE).

  • AUTO_SCALE_MAX - used with AUTO_SCALE, caps the maximum auto-scaling factor

NUMERICAL_JACOBIAN

Calculate derivatives in Jacobian numerically.

PRINT_LINEAR_ITERATIONS

Prints the number of linear iterations for each Newton iteration to the screen.

RTOL <float>

Declare convergence when the 2-norm of the residual is less than RTOL times the 2-norm of the initial residual \(\left(\frac{\|f(x_n)\|}{\|f(x_0)\|}<\text{RTOL}\right)\). (default: \(10^{-8}\)).

SNES_TYPE <string>

The default is LINE_SEARCH (Basic, see PETSc documenetation) from PETSc which is Newton-Raphson nonlinear solver. NTRDC is the Newton Trust-Region Dogleg-Cauchy nonlinear solver, and NTR is the Newton Trust-Region nonlinear solver. The difference between NTRDC and NTR is that NTRDC adds steepest-descent solution update to the Newton solution iff it optimizes better than Newton solution alone within the trust-region. NTR only applies Newton solution update and it is truncated by the trust-region. NTRDC MAY perform better with LESS phase state change simulations for GENERAL MODE.

STOL <float>

Declare convergence when the 2-norm of the update divided by the 2-norm of the solution is less than STOL \(\left(\frac{\|x_n-x_{n-1}\|}{\|x_{n-1}\|}<\text{STOL}\right)\). (default: \(10^{-8}\)).

VERBOSE_LOGGING

Prints additional convergence information to screen.


Expert Settings

MATRIX_TYPE <string>

Format of main solver matrix. PETSc Mat (i.e. AIJ, BAIJ, or HYPRESTRUCT).

MAXF <int>

Maximum number of function evaluations before reporting failed convergence.

MAX_NORM <float>

Declare divergence (cut the time step) when the infinity norm of the residual is greater than MAX_NORM \(\left( \| f(x_n) \|_{inf} > \text{MAX_NORM} \right)\). (default: \(10^{20}\)).

MINIMUM_NUMBER_OF_ITERATIONS <int>

Newton solver convergence requires at least MINIMUM_NUMBER_OF_ITERATIONS.

NO_FORCE_ITERATION

Toggle off the forcing of at least 1 linear iteration. The default is to force at least 1 linear iteration. In a quasi-stationary state, the initial residual may be sufficiently small for convergence, but often it is better to force at least one iteration.

NO_INFINITY_NORM

Toggle off calculation of infinity norm on residual and update vectors. The default is to calculate the infinity norm.

PRECONDITIONER_MATRIX_TYPE <string >

Format of preconditioning matrix. PETSc Mat (i.e. AIJ, BAIJ, or HYPRESTRUCT). Default is same as solver.

PRESSURE_DAMPENING_FACTOR <float>

Factor by which the pressure solution update is dampened.

PRINT_DETAILED_CONVERGENCE

Toggle on printing of detailed convergence information.

SATURATION_CHANGE_LIMIT <float>

The change in saturation is truncated to within this limit.

USE_INFINITY_NORM_CONVERGENCE

Newton iteration will converge on infinity norm convergence criteria for both the solution update and the residual.

Examples

SIMULATION
  SIMULATION_TYPE SUBSURFACE
  PROCESS_MODELS
    SUBSURFACE_FLOW flow
      MODE RICHARDS
    /
  /
  ...
END
...
SUBSURFACE
  NUMERICAL_METHODS FLOW
    NEWTON_SOLVER
      ITOL_UPDATE 1.d0 ! Convergences with max change in pressure is 1 Pa.
    /
  /
  ...