SIMULATION

Defines the flow model to simulate. See below an example to define a GAS_WATER case running in isothermal mode:

SIMULATION
  PROCESS_MODELS
    SUBSURFACE_FLOW Flow
      MODE GAS_WATER
      OPTIONS
        ISOTHERMAL
      /                    ! end options
    /                      ! end subsurface_flow
  /                        ! end process_models
 ERESTART base 3000 d
/                          ! end simulation

Below is a list of all options that can be specified in the SIMULATION block:

MODE

The MODE keyword selects the flow model for the simulation, and can take the following arguments: COMP, COMP3, COMP4, BLACK_OIL, GAS_WATER, TOIL_IMS, TODD_LONGSTAFF, SOLVENT_TL. MODE must be entered by the user as it cannot be defaulted.

For COMP mode, one must enter:

MODE COMP [Nc] EOS

where Nc is the total number of components (including water), for example:

SIMULATION
  PROCESS_MODELS
    SUBSURFACE_FLOW Flow
      MODE COMP 2 EOS
      OPTIONS
        ISOTHERMAL
      /
    /
  /
/

for two components, one of which is water.

ISOTHERMAL

Goes in the OPTIONS block of SIMULATION. If present, the model will run as isothermal, maintaining the same temperature as given in the initialization. For example:

SIMULATION
  PROCESS_MODELS
    SUBSURFACE_FLOW Flow
      MODE GAS_WATER
      OPTIONS
        ISOTHERMAL
      /
    /
  /
/

NOSLVSOL

Goes in the OPTIONS block of SIMULATION. It is valid only for COMP3 and COMP4 modes: if present turns off the the solution of solvent in the aqueous phase. For example:

SIMULATION
  SIMULATION_TYPE SUBSURFACE
  PROCESS_MODELS
    SUBSURFACE_FLOW Flow
      MODE COMP3
      OPTIONS
        ISOTHERMAL
        NOSLVSOL
      /
     /
    /
   /

NOGASSOL

Goes in the OPTIONS block of SIMULATION. This is valid only for the GAS_WATER module: if present turns off the solution of gas in the aqueous phase. See following example:

SIMULATION
  SIMULATION_TYPE SUBSURFACE
  PROCESS_MODELS
    SUBSURFACE_FLOW Flow
      MODE GAS_WATER
      OPTIONS
        ISOTHERMAL
        NOGASSOL
      /                        ! end options
    /                          ! end subsurface_flow
  /                            ! end process_models
/                              ! end simulation

RESERVOIR_DEFAULTS

No longer required for Cirrus 1.9 and future releases, as the RESERVOIR_DEFAULTS settings are automatically imposed.

For PFLOTRAN-OGS-1.8 and previous versions, RESERVOIR_DEFAULTS, if present, causes PFLOTRAN-OGS to automatically set some values that are commonly useful for simulating reservoir models. It is possible to use RESERVOIR_DEFAULTS and still override any of the selected defaults by using the appropriate keyword in the corresponding card. A message will be output warning that a RESERVOIR_DEFAULTS default has been overridden in this way.

The values set by RESERVOIR_DEFAULTS are listed in reservoir defaults values.

See example below:

SIMULATION
  SIMULATION_TYPE SUBSURFACE
  PROCESS_MODELS
    SUBSURFACE_FLOW Flow
    MODE GAS_WATER
    OPTIONS
      RESERVOIR_DEFAULTS ! only needed for PFLOTRAN-OGS-1.8 and previous version
      ISOTHERMAL
    /                       ! end options
   /                        ! end subsurface_flow
  /                         ! end process_models
 /                          ! end simulation

NO_RESERVOIR_DEFAULTS

This setting is recommended for back-compatibility only. It turns off the setting of several tuning parameters to optimise the solver convergence, deteriorating Cirrus performance. E.g.

SIMULATION
  SIMULATION_TYPE SUBSURFACE
  PROCESS_MODELS
    SUBSURFACE_FLOW Flow
      MODE GAS_WATER
      OPTIONS
        ISOTHERMAL
        NO_RESERVOIR_DEFAULTS
      /
    /
  /
/

ANALYTICAL_JACOBIAN

Goes in the OPTIONS block of SIMULATION.

If present, causes the derivatives in the Jacobian matrix to be computed analytically instead of approximated. Leads to better convergence of the nonlinear solver in most cases.

Note that this option is selected as default.

HYSTERESIS

Goes in the OPTIONS block of SIMULATION. See the following example:

SIMULATION
  SIMULATION_TYPE SUBSURFACE
  PROCESS_MODELS
    SUBSURFACE_FLOW Flow
      MODE GAS_WATER
      OPTIONS
        ISOTHERMAL
        HYSTERESIS
      /                      ! end options
    /                        ! end subsurface_flow
  /                          ! end process_models
END                          ! end simulation

Activate the relative permeability hysteresis modelling in the simulation using the Carlson model [C+81] by default. Starting from Cirrus 1.9, the LAND model is also available, this can be specified instead of Carlson by adding the keyword LAND within the OPTIONS block.

When Calrson is used, the user must include the SATNUM and IMBNUM arrays in the grdecl file, to assign to each grid block what set of saturation curves (CHARACTERISTIC_CURVES) will be used to model the drainage and imbibition processes. SATNUM takes an index for each grid block, which points to the CHARACTERISTIC_CURVES for the drainage. IMBNUM takes an index for each grid block, which points to CHARACTERISTIC_CURVES for imbibition. The indices in SATNUM and IMBNUM refer to the order the CHARACTERISTIC_CURVES are entered in the input deck, and the names of CHARACTERISTIC_CURVES are ignored in this case. A typical approach is to use EQUALS to set the curves. In the following example we set the same drainage and imbibition curves for the whole domain (drainage has been defined the first):

EQUALS
  SATNUM 1  /
  IMBNUM 2  /
/

HYSTERESIS is available for the GAS_WATER, COMP3, COMP4 and COMP modes. If data is supplied, GAS_WATER can model relative permeability hysteresis of both wetting and non-wetting phases. Instead COMP3, COMP4 and COMP can only model relative permeability hysteresis of the gas phase.

When using this option new fields will be output in the restart file. Following the notation from Residual Trapping and Stranded Gas Saturation these are:

SPNMAX

(\(S_{g, \mbox{max}}\)) Maximum saturation of the non-wetting phase (gas) before changing from imbibition to drainage

SPNTRAP

(\(S_{g,\mbox{trap}}\)) Maximum potential trapped saturation for the non-wetting phase (gas)

SPNSHFT

Saturation shift for the relative permeability of the non-wetting phase

SPWSHFT

Saturation shift for the relative permeability of the wetting phase

SGSTRAND

(\(S_{g,\mbox{strand}}\)) Actual trapped saturation of the non-wetting phase (gas) (Optional with keyword STRAND)

HYSTERESIS_PC, EHYST

Goes in the OPTIONS block of SIMULATION.

HYSTERESIS_PC specifies the curvature parameter for capillary pressure hysteresis, [Kil76]. It takes a number as argument, which must be greater than zero. See example below:

SIMULATION_TYPE SUBSURFACE
  PROCESS_MODELS
    SUBSURFACE_FLOW Flow
    MODE Gas_water
    OPTIONS
      ISOTHERMAL
      HYSTERESIS
      HYSTERESIS_PC 0.1
      STRAND
    END ! End Options
  END ! End Process Models
END ! End Simulation Type

When HYSTERESIS_PC is entered both the capillary pressure and relative permeability hysteresis are active. The user must supply the indices of the required CHARACTERISTIC_CURVES sections to be used for the imbibition process using the IMBNUM grid keyword.

This option is only available for the GAS_WATER mode.

LAND

Goes in the OPTIONS block of SIMULATION.

The LAND option requests an alternative hysteresis treatment which does not require the entry of an imbibition relative permeability function. Instead, the imbibition and scanning curves are constructed from the single drainage curve supplied as a function of the Land C constant.

The relative permeability of the non-wetting phase (gas) is set to the value of the scanning curve computed by Land, if the non-wetting phase (gas) saturation falls after reaching a maximum on the drainage curve.

Example:

SIMULATION
  PROCESS_MODELS
    SUBSURFACE_FLOW Flow
      MODE GAS_WATER
      OPTIONS
      HYSTERESIS
      LAND
      LANDC  2
      ISOTHERMAL
      /                    ! end options
    /                      ! end subsurface_flow
  /                        ! end process_models
/                          ! end simulation

Given a maximum gas saturation of \(S_{gmx}\) to date, the Land method estimates a trapped gas saturation of \(S_{gtr}\):

\[S_{gtr} = \frac{S_{gmx}}{CS_{gmx} + 1}\]

The smaller the value of \(C\), the larger the trapped saturation for a given \(S_{gmx}\).

Then, for saturations on the scanning curve, the Land model estimates a free amount of gas, \(S_{gfr}\) :

\[S_d=S_g-S_{gtr}\]
\[S_{gfr} = \frac{S_d + (S_d^2 + 4S_d/C)^{1/2} }{2}\]

This expression yields \(S_{gfr}=0\) at \(S_g=S_{gtr}\) and \(S_{gfr}=S_{gmx}\) at \(S_g=S_{gmx}\).

The free gas saturation (\(S_{gfr}\)) computed with the equation above, is then used to do a lookup in the original gas drainage curve. So that, rather than requiring two curves (drainage and imbibition), the Land model finds the scanning curve values by looking up the original drainage curve at a displaced saturation value.

Capillary pressure hysteresis is allowed with Land, but then imbibition tables must be supplied.

LANDC

Goes in the OPTIONS block of SIMULATION. See example above.

Sets the value of the Land \(C\) constant when using Land Hysteresis.

The default value is \(C=5.0\). The Land \(C\) has no units.

Setting a LANDC implies the Land hysteresis model is to be used. However, the HYSTERESIS keyword is still required to enable hysteresis modelling.

ERESTART

Goes in the SIMULATION block.

ERESTART specifies the file that contains a previous state of the simulation in Eclipse format restart file, from which the simulation can be restarted. Takes as an argument a file name. For more detail see ERESTART. An example is given below:

SIMULATION
  [process models etc blocks]
  ERESTART base 3000 d
/                                      ! end simulation

If not specified, the simulation starts from its initial state.

TL_OMEGA

Goes in the OPTIONS block of SIMULATION.

Only required for the TODD_LONGSTAFF and SOLVENT_TL modes.

Takes one argument, which specifies the Todd-Longstaff model omega value, which may lie between 0 and 1. The default value is 0. An example is given below:

SIMULATION
  SUBSURFACE_FLOW Flow
    MODE  TODD_LONGSTAFF
    OPTIONS
      ISOTHERMAL
      TL_OMEGA 0.5
    /                      ! end options
  /                        ! end subsurface_flow
/                          ! end simulation

COMP_DEP_SFNS

This option, only available in the COMP3 compositional mode, allows the water/gas relative permeability and capillary pressure functions to become a function of the gas phase composition. In COMP3 there are three components (water, gas, solvent) split over two phases (water and gas). The gas component is usually mainly methane and the solvent component is usually CO2 or H2. If COMP_DEP_SFNS is used, the user will be expected to provide relative permeability and capillary pressure functions for both the gas/water and solvent/water systems. The gas/water system values are provided by the usual SGFN and SWFN functions. In addition, the solvent/water system values are defined by the SWSFN and SGSFN tables, for example:

TABLE swsfn_table
  PRESSURE_UNITS Pa
  SWSFN
    0.2 0 3.1026
    0.25 0.0 1.3120
    1.0 1.0 0.0
  /
END

TABLE sgsfn_table
  SGSFN
    0.0 0.0
    0.05 0.0
    0.8 1.0
  /
END

The values from the SGFN/SWFN and the SGSFN/SWSFN table lookups are mixed as a function of the mole fractions of the gas and solvent components in the vapour phase.

ABOUT

Goes in the SIMULATION block.

For advanced users or debugging purposes only.

Causes additional information about Cirrus to be written to the .out file, under the heading PROVENANCE.

The time and date of compilation and the current Cirrus Git commit can always be found in this section. When the keyword ABOUT is included, much more detailed information about the compilation and version control is included.

PREAMBLE

Goes in the SIMULATION block.

Causes some additional information about the run setup to be output to the screen before the run starts. This information can also be found in the run’s .out file by default.

FLOWS

Instructs the simulator to store and report fluxes in the I, J and K directions for each phase, which are output for each grid block to the restart file (e.g. for water, FLOWI+, FLOWJ+, FLOWK+).

The units of the restart file output arrays starting with FLO (FLOOILI+, … FLOWGASK+) are surface volume per day, sm^3/d.

SATDEN

Goes in the OPTIONS block of SIMULATION.

When the flow rate is calculated between two cells with different depths, a fluid density is required for each phase to correct for the hydrostatic head between the cells. The default is to use a simple density average. With SATDEN, a saturation weighted average is used instead. To use this option, insert the SATDEN keyword in the simulation option block, for example:

SIMULATION
  SIMULATION_TYPE SUBSURFACE
  PROCESS_MODELS
        SUBSURFACE_FLOW Flow
          MODE COMP3
          OPTIONS
            ISOTHERMAL
                SATDEN
          /
    /
  /
END

MISCIBLE

Goes in the OPTIONS block of SIMULATION, and it is used only for COMP mode runs, i.e. when a multicomponent Equation of State characterises the multiphase system, and ignored in any other case. The MISCIBLE treatment is required for equation of state modelling when approaching the critical point or for miscible floods (such as when CO2 invades hydrocarbon regions). For more details see Miscible treatment in the theory section. An example on how to request the miscible treatment is given below:

SIMULATION
  SIMULATION_TYPE SUBSURFACE
  PROCESS_MODELS
    SUBSURFACE_FLOW Flow
      MODE GAS_WATER
      OPTIONS
        ISOTHERMAL
        MISCIBLE
      /
    /
  /
END

When the MISCIBLE option is used, PARACHOR values are required by the simulator in COMP EOS.

ALLOW_SAT_TAB_ERROR

Goes in the OPTIONS block of SIMULATION.

In versions previous to Cirrus 1.9, there was no checking of the direction of change of the water-gas (or water-oil, for a three-phase run) capillary pressure.

In Cirrus 1.9 this is checked, and it is expected that the capillary pressure \(P_{cgw} = P_g - P_w\) will not increase as a function of the water saturation.

Should this test fail, the run will issue an error message and stop. If, however, the user still wishes to run this data, and recover the previous behaviour, use ALLOW_SAT_TAB_ERROR.

This keyword has no arguments.

LDT/LOCAL_DIAGONAL_TENSOR

This keyword is no longer needed from Cirrus-1.9, as LDT is set up by default – if included will have no effect. It is still required in PFLOTRAN-OGS-1.8 if the LDT treatment is need. LDT is not supported for version previous to 1.8.

Goes in the OPTIONS block of SIMULATION.

In PFLOTRAN-OGS-1.8, by including this keyword in the OPTION block, the user activates the computation of transmissibilities using the local diagonal tensor, overwriting the default use of the global coordinate system (x,y,z) when projecting Kx, Ky and Kz. This option is available only for models using grdecl grids. This keyword has no arguments.

GDT/GLOBAL_DIAGONAL_TENSOR

Goes in the OPTIONS block of SIMULATION.

From Cirrus 1.9, the default treatment of the permeability tensor will be to regard it as diagonal with the local IJK frame of each grid cell (i.e. a local diagonal tensor). The previous treatment (version 1.8 and before) was to regard it as a diagonal tensor in a true XYZ frame (i.e. a global diagonal tensor). The previous treatment can be recovered using GDT or GLOBAL_DIAGONAL_TENSOR. Example below:

SIMULATION
  SIMULATION_TYPE SUBSURFACE
  PROCESS_MODELS
    SUBSURFACE_FLOW Flow
      MODE GAS_WATER
      OPTIONS
        ISOTHERMAL
        GLOBAL_DIAGONAL_TENSOR
      /
    /
  /
/

This overwrites the default of computing the transmissibilities using the local diagonal tensor, which is an industry standard approach.

This keyword has no arguments.

EWBD

By including this keyword in the OPTION block, the user activates the use of an Explicit WellBore Discretisation for the wells. This option makes the well model more robust in exchange on some accuracy. Consider this option if having many well warnings in your simulation.

FACTLI

This follows the Eclipse FACTLI keyword. It takes one argument, for example:

FACTLI 0.8

This modifies the estimate of the critical temperature of a mixture used to determine if a single-phase hydrocarbon state is a gas or an oil. This is done using the Li correlation, which becomes:

\[T_{\mbox{crit}} = \mbox{factli} \cdot \frac{ \left( \sum_{c}{V_c \cdot T_c \cdot z_c} \right) }{ \left( \sum_{c}{V_c \cdot z_c} \right) }\]

Where \(V_c\) is the component critical volume, \(T_c\) the absolute component critical temperature and \(z_c\) the component mole fraction.

The default is 1.0. A use case in CCS work is when the injection cell temperature of CO2 falls below the critical temperature of CO2 (~31 °C) whilst still being well above the critical pressure. In that case it might be worth setting a FACTLI value like 0.9 to prevent a spurious phase identity change.