Back to Input Deck Cards

Back to SUBSURFACE_FLOW

Back to MODE

WELL_MODEL

Defines options for the Well Model.

SIMULATION Options

WELLBORE_MODEL

WELL_MODEL_OUTPUT

WELL_COUPLER

Examples

SIMULATION Options

(under SUBSURFACE_FLOW in SIMULATION PROCESS_MODELS block)

FLOW_COUPLING
Options:
FULLY_IMPLICIT

Well model is embedded in the flow Jacobian/residual and fully implicitly coupled.

QUASI_IMPLICIT

Well model is run during the source/sink calculation for the flow mode, but well primary variables are not solved fully implicitly with the flow mode.

SEQUENTIAL

Well model is run after flow, as a child process model.

TYPE
Options:
HYDROSTATIC

Well model solves for bottom-hole pressure as a primary variable, and all well segment pressures are computed directly from the bottom-hole pressure through a hydrostatic calculation.

WIPP_DARCY

Darcy flow is solved throughout the well.

CLOSED_LOOP_U_SHAPE

Closed-loop heat exchanger (TH mode) in which fluid enters the pipe at one end, circulates along the well trajectory, and exits at the other end. The pipe is closed to the reservoir; only heat is exchanged.

WELLBORE_MODEL

(within SUBSURFACE block)

Required Cards:

WELLBORE_MODEL <name>

Specifies the name of the wellbore model and opens the block.

WELL_GRID

Opens the well grid card. The following is a list of all possible options to specify the well grid. Not all are necessary.

MATCH_RESERVOIR

Match well segment centers with reservoir cell centers. Can be used instead of NUMBER_OF_SEGMENTS

NUMBER_OF_SEGMENTS

Number of well segments. Used in conjunction with TOP_OF_HOLE and BOTTOM_OF_HOLE to draw a vertical wellbore.

TOP_OF_HOLE <float> <float> <float>

<x,y,z> coordinate of the top of the well

BOTTOM_OF_HOLE <float> <float> <float>

<x,y,z> coordinate of the bottom of the well

CASING <float>

0 = uncased, 1 = cased

WELL_TRAJECTORY

Opens the WELL_TRAJECTORY block. This can be used instead of the combination <NUMBER_OF_SEGMENTS, TOP_OF_HOLE, BOTTOM_OF_HOLE> to model a flexible well trajectory. Keywords within the WELL_TRAJECTORY block are read sequentially: sequence matters. Currently, the method used to draw a flexible well trajectory is slow for large problems. A better algorithm is in development.

SURFACE_ORIGIN <float> <float> <float>

<x,y,z> coordinate of the top of the well. This keyword must come first in the WELL_TRAJECTORY block. After SURFACE_ORIGIN, an arbitrary number of the following keywords can be read.

SEGMENT_DXYZ <CASED/UNCASED> <float> <float> <float>

When constructing the well, the <dx,dy,dz> of the line segment along which to move from the current location. By default, negative is downward in the vertical dimension. For example, if this comes after the SURFACE_ORIGIN keyword, the well will extend <dx,dy,dz> from the SURFACE_ORIGIN. Keyword CASED or UNCASED is required.

SEGMENT_RADIUS_TO_HORIZONTAL_X <CASED/UNCASED> <float>

Radius (m) with which to kick off to horizontal from the current location to horizontal in the x-direction. For example, if this comes after the SEGMENT_DXYZ keyword, the well will curve to horizontal starting where SEGMENT_DXYZ ended.

SEGMENT_RADIUS_TO_HORIZONTAL_X <CASED/UNCASED> <float>

Radius (m) with which to kick off to horizontal from the current location to horizontal in the y-direction. For example, if this comes after the SEGMENT_DXYZ keyword, the well will curve to horizontal starting where SEGMENT_DXYZ ended.

SEGMENT_RADIUS_TO_HORIZONTAL_ANGLE <CASED/UNCASED> <float> <float>

Radius (m) with which to kick off to horizontal from the current location to horizontal at an angle between the x- and y-axes. For example, if this comes after the SEGMENT_DXYZ keyword, the well will curve to horizontal starting where SEGMENT_DXYZ ended.

WELL

Opens the WELL block, to specify properties of the well itself.

DIAMETER <float>

well diameter

FRICTION_COEFFICIENT <float>

A friction coefficient of 1.0 adds no friction effects to wellbore fluxes.

SKIN <float>

A skin factor of 0 adds no skin effects to the well fluxes.

WELL_INDEX_MODEL <keyword string>
PEACEMAN_ISO

A traditional Peaceman equation, most applicable for modeling one horizontal dimension.

PEACEMAN_2D

A 2D extension of the Peaceman equation, most applicable for a vertical wellbore in a 3D structured domain.

PEACEMAN_3D

A 3D generalized Peaceman relationship for a well of arbitrary orientation in a 3D grid.

The following keywords apply only to the CLOSED_LOOP_U_SHAPE well type:

INLET_TEMPERATURE <float>

Temperature of the fluid entering the pipe [C]. Required.

PIPE_INNER_DIAMETER <float>

Inner diameter of the pipe [m]. Required.

PIPE_MASS_FLOW_RATE <float> <optional units>

Mass flow rate of the circulating fluid [kg/s]. Required and must be non-negative. The mass flow rate is constant along the pipe, so mass and energy are conserved as the fluid density changes with temperature. The mean fluid velocity used in the Reynolds number is computed locally from the mass flow rate, the local fluid density, and the pipe cross-sectional area. This keyword replaces the obsolete PIPE_FLOW_VELOCITY keyword, which is no longer supported.

PIPE_WALL_THICKNESS <float>

Thickness of the pipe wall [m]. Must be specified together with PIPE_WALL_THERMAL_CONDUCTIVITY.

PIPE_WALL_THERMAL_CONDUCTIVITY <float> <optional units>

Thermal conductivity of the pipe wall [W/m-C]. Must be specified together with PIPE_WALL_THICKNESS.

INSULATOR_THICKNESS <float>

Thickness of insulation surrounding the pipe wall [m]. Must be specified together with INSULATOR_THERMAL_CONDUCTIVITY.

INSULATOR_THERMAL_CONDUCTIVITY <float> <optional units>

Thermal conductivity of the insulation [W/m-C]. Must be specified together with INSULATOR_THICKNESS.

USE_WELL_INDEX

Include a Peaceman-type thermal well index (based on the reservoir thermal conductivity and grid cell dimensions) as an additional thermal resistance between the pipe and the reservoir cell.

NUSSELT_MODE <keyword string>

Correlation for the Nusselt number used to compute the convective heat transfer coefficient within the pipe. Default is ZHANG_2015.

ZHANG_2015

Turbulent correlation of Zhang et al. (2015), Nu = 8.7e-5 Re^0.92 Pr^1.89, for Re > 2300; NUSSELT_LAMINAR otherwise.

LAMINAR

Constant laminar Nusselt number (see NUSSELT_LAMINAR).

CHEN_2021

Gnielinski-type turbulent correlation for Re > 10000, NUSSELT_LAMINAR for Re < 2300, and linear interpolation between. Supports the optional entrance correction.

NUSSELT_LAMINAR <float>

Laminar Nusselt number. Default is 4.36.

USE_NUSSELT_ENTRANCE_FACTOR

Apply the entrance correction 1 + (r/NUSSELT_Z_REF)^(2/3) to the turbulent Nusselt number, where r is the inner pipe radius (CHEN_2021 only).

NUSSELT_Z_REF <float>

Reference length used in the Nusselt entrance correction [m]. Default is 1.

WELL_BOUNDARY_CONDITIONS

Opens the WELL_BOUNDARY_CONDITIONS block, for directly specifying well conditions. This is an expert feature. For most users, it is recommended to use the USE_WELL_COUPLER keyword instead.

USE_WELL_COUPLER

Links the well model to a WELL_COUPLER.

WELL_COUPLER

(within SUBSURFACE block)

This card links a particular FLOW_CONDITION and TRANSPORT_CONDITION to the appropriate WELL Model to define a well coupler. It is set up similar to the INITIAL_CONDITION card, by first creating a list of flow and/or transport conditions, and then applying them to appropriate WELLs using this card.

Required Cards:

WELL_COUPLER <optional string>

Opens the WELL_COUPLER block, labeling it with the <optional string>. The label is useful for output purposes.

FLOW_CONDITION <string>

Name of the associated FLOW_CONDITION

TRANSPORT_CONDITION <string>

Name of the associated TRANSPORT_CONDITION

WELL <string>

Name of the associated WELL Model

Examples

WELL_COUPLER well1
  FLOW_CONDITION injection_well_1
  WELL well1
/

WELL_COUPLER well
  FLOW_CONDITION Injection
  TRANSPORT_CONDITION background
  WELL well1
/

WELL_MODEL_OUTPUT

(within SUBSURFACE block) Opens a block to insert certain well model information into the output files for the flow mode.

WELL_LIQ_PRESSURE

Liquid (aqueous) pressure in the well

WELL_GAS_PRESSURE

Gas pressure in the well

WELL_LIQ_Q

Liquid flow rate at each segment in the well. Negative is out of the well (into the reservoir).

WELL_GAS_Q

Gas flow rate at each segment in the well. Negative is out of the well (into the reservoir).

Examples

SIMULATION
 SIMULATION_TYPE SUBSURFACE
 PROCESS_MODELS
   SUBSURFACE_FLOW flow
    MODE SCO2
   END
   WELL_MODEL well
    OPTIONS
      FLOW_COUPLING FULLY_IMPLICIT
      TYPE HYDROSTATIC
    END
  END
 END
END
...
WELLBORE_MODEL well1

 WELL_GRID
  NUMBER_OF_SEGMENTS 4
   WELL_TRAJECTORY
    # Must start from SURFACE_ORIGIN and proceed sequentially.
    # Will populate 1 well segment per reservoir cell occupied
    # Must specify if each segment is CASED or UNCASED
    SURFACE_ORIGIN 15.d0 5.d0 2.d2
    SEGMENT_DXYZ CASED 0.d0 0.d0 -149.d0
    SEGMENT_DXYZ UNCASED 0.d0 0.d0 -51.d0
  /
  /

  WELL
    DIAMETER 0.16d0
    FRICTION_COEFFICIENT 1.d0
    SKIN_FACTOR 0.d0
    WELL_INDEX_MODEL PEACEMAN_3D
  /

  USE_WELL_COUPLER

END

WELLBORE_MODEL well2

  WELL_GRID
    NUMBER_OF_SEGMENTS 4
    WELL_TRAJECTORY
      # Must start from SURFACE_ORIGIN and proceed sequentially.
      # Will populate 1 well segment per reservoir cell occupied
      # Must specify if each segment is CASED or UNCASED
      SURFACE_ORIGIN 35.d0 5.d0 2.d2
      SEGMENT_DXYZ CASED 0.d0 0.d0 -149.d0
      SEGMENT_DXYZ UNCASED 0.d0 0.d0 -51.d0
    /
  /

  WELL
    DIAMETER 0.16d0
    FRICTION_COEFFICIENT 1.d0
    SKIN_FACTOR 0.d0
    WELL_INDEX_MODEL PEACEMAN_3D
  /

  USE_WELL_COUPLER

END
 ...
WELL_COUPLER well1
  FLOW_CONDITION injection_well_1
  WELL well1
END

WELL_COUPLER well2
  FLOW_CONDITION injection_well_2
  WELL well2
END
...

Closed-loop U-shaped heat exchanger (TH mode):

SIMULATION
  SIMULATION_TYPE SUBSURFACE
  PROCESS_MODELS
    SUBSURFACE_FLOW flow
      MODE TH
    /
    WELL_MODEL well
      TYPE CLOSED_LOOP_U_SHAPE
    END
  /
END
...
WELLBORE_MODEL well
  WELL_GRID
    WELL_TRAJECTORY
      SURFACE_ORIGIN         1.5  0.5  9.
      SEGMENT_DXYZ   CASED   0.   0.  -7.
      SEGMENT_DXYZ UNCASED   2.   0.   0.
      SEGMENT_DXYZ   CASED   0.   0.   7.
    /
  /
  WELL
    INLET_TEMPERATURE 5.                     # [C]
    PIPE_INNER_DIAMETER 0.1                  # [m]
    PIPE_WALL_THICKNESS 5.d-3                # [m]
    PIPE_WALL_THERMAL_CONDUCTIVITY 40. W/m-C
    PIPE_MASS_FLOW_RATE 1.818051d-4 kg/s
    USE_WELL_INDEX
  /
END