Back to Input Deck Cards

Back to SUBSURFACE_FLOW

Back to MODE

MPHASE

The MPHASE keyword defines options for the MPHASE supercritical CO2subsurface flow mode. For more details and governing equations see the Theory Guide.

SIMULATION Options

TIMESTEPPER Options

NEWTON_SOLVER Options

Examples

SIMULATION Options

(under SUBSURFACE_FLOW in SIMULATION PROCESS_MODELS block)

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 (f(xn)<ATOL). (default: 1050).

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 (f(xn)f(x0)>DTOL). (default: 104).

ITOL <float>

Declare convergence when the infinity norm of residual is less than ITOL (f(xn)inf<ITOL). (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.012)

  • ETA1 - trust-region parameter 0.0η1η2, ρη1 breaks out of the inner iteration (default: η1=0.001)

  • ETA2 - trust-region parameter 0.0η1η2, ρη2 shrinks the trust-region (default: η2=0.25)

  • ETA3 - trust-region parameter η3>η2, ρη3 expands the trust-region (default: η3=0.75)

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

  • T2 - trust-region parameter, initial size of trust-region, Δ0x2 (default: 0.1)

  • DELTA_M - trust-region parameter, max size of trust-region, ΔMx2 (default: 0.5)

  • DELTA_0 - trust-region parameter, initial size of trust-region, Δ0x2 (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 (f(xn)f(x0)<RTOL). (default: 108).

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 (xnxn1xn1<STOL). (default: 108).

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 (f(xn)inf>MAX_NORM). (default: 1020).

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.

PRINT_DETAILED_CONVERGENCE

Toggle on printing of detailed convergence information.

Examples

SIMULATION
  SIMULATION_TYPE SUBSURFACE
  PROCESS_MODELS
    SUBSURFACE_FLOW flow
      MODE MPHASE
    /
  /
END
...
SUBSURFACE
  NUMERICAL_METHODS FLOW
    TIMESTEPPER
      TS_ACCELERATION 8
      PRESSURE_CHANGE_GOVERNOR 5.e4
      TEMPERATURE_CHANGE_GOVERNOR 5.d0
      CONCENTRATION_CHANGE_GOVERNOR 1.e-2
      SATURATION_CHANGE_GOVERNOR 0.025
    /
    NEWTON_SOLVER
      ATOL 1.d-12
      RTOL 1.d-12
      STOL 1.d-30
      DTOL 1.d15
      ITOL 1.d-8
      MAXIMUM_NUMBER_OF_ITERATIONS 25
      MAXF 100
    /
  /
  ...