FLOW_CONDITION for sources and sinks

We consider here how to impose mass or volumetric rates to regions that include one or more cells. The rate can be constant or changing with time. In the case of fluid injection, the energy entering the reservoir can be specified with one of the three following options:

  1. temperature of the fluid being injected. In this case, the pressure used in the computation of the fluid enthalpy (i.e. the energy content of the fluid being injected), is taken equal to the pressure of the grid block where the source term is included. Since this pressure is changing (usually a pressure build-up as the flow enters the grid block), the energy contents of the of the fluid being injected is also changing.

  2. enthalpy of the fluid being injected

  3. energy rate.

For injection, the resulting temperature of the perforated grid block will be controlled by: the warming up of the rock, the energy content of the fluid being injected, and the heat dispersion by advection and by diffusion towards the surrounding grid blocks. For production, the temperature of the perforated grid block depends only on fluid flows and temperature conditions of the surrounding grid blocks, as for any other grid block of the reservoir.

FLOW_CONDITION <flow_condition_name>
TYPE
  RATE <rate_type> <scaling_type>
  <ENERGY_VARIABLE> <energy_var_type>
/
RATE <r_w> <r_o> <r_g> <r_s> <r_e> <r_w_u> <r_o_u> <r_g_u> <r_s_u> <r_e_u>
<ENERGY_VARIABLE> <energy_var_data> <energy_var_units>
/

Where:

  • <flow_condition_name>: the name of the flow condition to be used in the SOURCE_SINK coupler when defining source/sinks to be associated with this flow condition.

  • <rate_type>: [mass_rate,volumetric_rate,scaled_mass_rate]

    • mass_rate: to specifies a mass rate

    • volumetric_rate: to specify a volumetric rate

    • scaled_mass_rate: to specify an overall mass rate to be distributed between all grid blocks the condition is applied to

    • scaled_volumetric_rate: to specify an overall volumentric rate to be distributed between all grid blocks the condition is applied to

  • <scaling_type> [volume, perm] (for “scaled_mass_rate” and “scaled_volumetric_rate”):

    • volume: when applying the condition to multi-block regions, scales the rate of each block by the block volume. Grid blocks with larger volume will be subject to higher rates.

    • Perm: when applying the condition to multi-block regions, scales the rate of each block by the block permeability. Grid blocks with larger peremability will be subject to higher rates.

  • <ENERGY_VARIABLE> is optional, and is read only for injectors. if included can be either TEMPERATURE or ENTHALPY, and the energy computed with this variable overwrites the energy rate specified in <r_energy>

  • <energy_var_type>: “dirichlet” only option, . It assigns <energy_var_data> to the region associated with the flow condition.

  • <r_w>: water rate, can be either a constant value or a time series in case of time-dependent data (see transient data block ).

  • <r_o>: oil rate, can be either a constant value or a time series in case of time-dependent data (see transient data block).

  • <r_g>: gas rate, can be either a constant value or a time series in case of time-dependent data (see transient data block).

  • <r_s>: solvent rate, can be either a constant value or a time series in case of time- dependent data (see transient data block).

  • <r_e>: energy rate, can be either a constant value or a time series in case of time- dependent data (see transient data block).

  • <r_w_u>: specifies the water rate units, must be entered or the software returns an error

  • <r_o_u>: specifies the oil rate units, must be entered or the software returns an error

  • <r_g_u>: specifies the gas rate units, must be entered or the software returns an error

  • <r_s_u>: specifies the solvent rate units, must be entered or the software returns an error

  • <r_e_u>: specifies the energy rate units, must be entered or the software returns an error

  • <energy_var_data>: specifies the value of temperature or the enthalpy of the fluid being injected. This can be either a constant value or a time series in case of time-dependent data (see transient data block).

  • <energy_var_units> specify either the temperature or the enthalpy units. If not entered is defaulted to “C” or “J”. For time series is defined in the transient data block.

Positive rates are considered to be injections, and negative rates extractions. The option for the rate units are:

  • mass rates: “kg/s”, “kg/day”, “kg/year”

  • volumetric rates: “m^3/s”, “m^3/day”, “m^3/year”

The option for the energy rate units are: “MW”, “KW”

Based on the flow model option selected different component can be injected or produced. Few examples are shown below to help understanding the application of the source/sink conditions for each flow model.

Source/sink condition TOIL_IMS example:

FLOW_CONDITION wat_injection
  TYPE
    RATE mass_rate
    TEMPERATURE dirichlet !other option is “ENTHALPY”
  /
  !Wat(kg/s), oil(kg/s), Energy rate (MW)
  RATE 0.1d0 0.d0 0.0d0 kg/s kg/s MW
  TEMPERATURE 50 C
/

Source/sink condition BLACK_OIL example:

FLOW_CONDITION gas_injector_cond
  TYPE
    RATE volumetric_rate
    TEMPERATURE dirichlet
  /
  RATE 0.0000000 0.000000 1000 0 m^3/day m^3/day m^3/day MW
  TEMPERATURE 15.0 C
/

Source/sink condition TODD_LONGSTAFF example:

FLOW_CONDITION gas_injector_cond
  TYPE
    RATE volumetric_rate
    TEMPERATURE dirichlet
  /
  RATE 0.0000000 0.000000 100 0 m^3/day m^3/day m^3/day MW
  TEMPERATURE 15.0 C
/

Source/sink condition – SOLVENT_TL example:

FLOW_CONDITION gas_injector_cond
  TYPE
    RATE volumetric_rate
    TEMPERATURE dirichlet
  /
  ! Inject gas and solvent
  RATE 0.0 0.0 500.0 500.0 0.0 m^3/day m^3/day m^3/day m^3/day kW
  TEMPERATURE 15.0 C
/