0% found this document useful (0 votes)
40 views

NazariMoghaddam2017 Report ChokeModelsInADGPRS

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

NazariMoghaddam2017 Report ChokeModelsInADGPRS

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Delft University of Technology

Implementation of Choke Models in AD-GPRS

Nazari Moghaddam, Rasoul

Publication date
2017
Document Version
Final published version

Citation (APA)
Nazari Moghaddam, R. (2017). Implementation of Choke Models in AD-GPRS.

Important note
To cite this publication, please use the final published version (if applicable).
Please check the document version above.

Copyright
Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent
of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.
Takedown policy
Please contact us and provide details if you believe this document breaches copyrights.
We will remove access to the work immediately and investigate your claim.

This work is downloaded from Delft University of Technology.


For technical reasons the number of authors shown on this cover page is limited to a maximum of 10.
ISAPP Project: Coupled Well-Reservoir Models for Pressure Transient Analysis in
Horizontal Wells

Report

Implementation of Choke Models in AD-GPRS

September 2017

Delft University of Technology (TU Delft), The Netherlands


Faculty of Civil Engineering and Geosciences
Department of Geoscience and Engineering

Author:
Rasoul Nazari Moghaddam
[email protected]
(Post-Doctoral researcher)

Reviewer:
Prof. dr. ir. Jan Dirk Jansen (TU Delft)
[email protected]
(Supervisor)

1
Abstract
This report concerns the addition of a new well control option ‘Flow Through Surface Choke’
(CHK) to AD-GPRS, the Automatic Differentiation General Purpose Research Simulator
developed at Stanford University. The report provides background information on the
modelling of fluid flow through surface chokes and gives details of the implementation in
AD-GPRS.

Table of Contents

Abstract ...................................................................................................................................... 2
Table of Contents ....................................................................................................................... 2
AD-GPRS ................................................................................................................................... 3
The Structure of AD-GPRS........................................................................................................ 3
The Multi-Segment Well in AD-GPRS ..................................................................................... 5
Automatically Differentiable Expression Templates Library .................................................... 7
Flow Through Chokes ................................................................................................................ 8
Empirical models for critical flow .......................................................................................... 8
Empirical models for sub-critical flow ................................................................................... 9
Implementation of Choke Models in AD-GPRS...................................................................... 10
Constraint Equations and Jacobian Matrix Structures .......................................................... 10
Choke Option in the WCONPROD Keyword ...................................................................... 14
Acknowledgments .................................................................................................................... 15
References ................................................................................................................................ 15

Implementation of Choke Models in AD-GPRS 2


AD-GPRS
The Automatic Differentiation General Purpose Research Simulator (AD-GPRS) is a
simulator developed at Stanford University (SUPRI-B) for simulation of various processes in
the field of petroleum engineering. For example, AD-GPRS can be used to simulate
multiphase flow in reservoirs, wellbores and facilities, including various enhanced oil
recovery (EOR) processes, CO2 sequestration in saline aquifers and depleted oil reservoirs,
shale gas/oil production etc.
In this simulator, there are no assumptions about the underlying grid structure, hence both
structured and unstructured grids are supported for accurate representation of the complex
structure and heterogeneity of reservoir. A standard well or a multi-segment well (MSWell)
can be chosen while a drift-flux wellbore model can be defined to model pressure drop over
the well. Fully implicit or sequentially implicit time-discretization schemes are available.
Black oil and compositional formulations can be used in AD-GPRS. There are two
discretization options: two-point and multi-point flux. As linear solver, direct Lapack solvers
and several iterative linear solvers with many different pre-conditioners can be used.
AD-GPRS uses object–oriented design and programming with standard C++. It is a large and
complex program which currently includes hundreds of files separated into many sub-
directories. The main objective for the development of AD-GPRS was to make it a flexible
and efficient reservoir simulation research laboratory with extensible modelling and solution
capabilities. While this design is convenient for the developers to extend the simulator
through incorporating new physics, complex processes, or new formulations and solution
algorithms, it requires some effort for a new developer to become fully familiar with the
structure and details of the entire program. In the following, the structure of AD-GPRS is
briefly described.

The Structure of AD-GPRS


AD-GPRS employs automatic differentiation to construct the Jacobian allowing for an easy
extension to new physics and constitutive relations. Basically, in AD-GPRS, the Jacobian
matrices are calculated separately for the reservoir part and for the facilities part. Then, the
equation selector is used to recast the Jacobian with desired variables and implicitness levels.
After that, the Jacobian matrices are passed to the linear solver and pieced together. Finally,
the solution goes back in the opposite direction. All of these procedures are controlled by
SimMaster. A schematic view of SimMaster is shown in Figure 1.

Implementation of Choke Models in AD-GPRS 3


SimMaster

EqnSelector LinearSolver
1) Switch variables 1) Solve
AX=B
2) Full set to primary set

3) Reduce implicitness level


Reservoir Facilities
1) Calc props 1) Calc Jac
and RHS
2) Calc Jac and
RHS

Figure 1. Structure of SimMaster in AD-GPRS


As mentioned, the Jacobian matrices are calculated separately for the reservoir part and for
the facilities part. Figures 2 and 3 depict the system model for each of them. As shown in
Figure 2, each reservoir includes a grid and a formulation, where the grid part generates the
grid information and passes it to the formulation part. The formulation part calculates the grid
block properties and builds the reservoir part of the Jacobian matrix and the right-hand side
(RHS). In GPRS, the grid information is either internally generated (currently only for
Cartesian grids), or read in from the output of an external gridding software package.
The system model for the well part has a similar structure (as shown in Figure 3). In this part,
well information is generated from the well completion data and passed to the well control
module, which calculates the well part of the Jacobian matrix and the RHS. Currently, six
types of well controls are implemented: bottom hole pressure target (BHP), oil flow rate at
standard conditions (ORAT), gas flow rate at standard conditions (GRAT), water flow rate at
standard conditions (WRAT), liquid flow rate at standard condition (LRAT) and reservoir
fluid volume rate (RESV) control. In this research, an important well control option, flow
through surface choke (CHK) has been added to the simulator. In this report, it is aimed to
explain this implementation, and provide the necessary background information required for
the modelling of fluid flow through surface chokes.

Implementation of Choke Models in AD-GPRS 4


Figure 2. Structure of the reservoir model in AD-GPRS

Figure 3. Structure of the well model in AD-GPRS

The Multi-Segment Well in AD-GPRS


Multiphase flow effects in wellbores and pipes can have a strong impact on the performance
of reservoirs and surface facilities. In the case of horizontal or multilateral wells, for example,
pressure losses in the well can lead to a loss of production at the toe or overproduction at the
heel. The modelling of advanced (multilateral, horizontal, smart) wells requires more
sophisticated well models than are required for conventional wells. Models for advanced
wells must allow pressure, flow rate and fluid compositions to vary with position in the

Implementation of Choke Models in AD-GPRS 5


wellbore, and enable different fluid streams to co-mingle at branch junctions. This can be
accomplished by discretizing the well into segments and solving the mass balance equations
and pressure drop equation for each segment. In AD-GPRS, a Multi-Segment Well (MSWell)
can have an arbitrary number of segments. In addition, an MSWell model may have many
perforations along the wellbore. It is assumed that a segment can have at most one
perforation. The segments are numbered from heel to toe. The toe-end of a perforated
segment is always located in the centre of the perforated reservoir cell. In the black oil
implementation, the system contains four primary variables in each segment at each time step
which are free gas holdup (𝛼𝑔 ), liquid holdup (𝛼𝑤 ), mixture velocity (𝑉𝑚 ), and pressure
(𝑃𝑠𝑒𝑔 ). The pressure of a segment is defined at the toe-end of the segment. Since the toe-end
of a perforated segment is aligned with the centre of a reservoir cell, the flux between the
reservoir and the well can be calculated from the pressures of the perforated segment and the
reservoir cell directly. It is noted that the gas and liquid phase fractions, 𝛼𝑔 and 𝛼𝑤 , are
defined for the entire segment. The mixture velocity of a segment, 𝑉𝑚 , is defined at the heel
end of a segment. Figure 4 shows a schematic of a well segment in the MSWell model.
The governing equations for the system are the mass balance equation for each component
and a pressure equation. These four equations are solved to determine the four primary
unknowns. For the pressure equation, the components of the pressure drop can be selected to
be either Hydrostatic + Friction + Acceleration (HFA), Hydrostatic + Friction (HF) or
Hydrostatic only (H). In addition, there are two options for the computation of superficial
phase flow rate. Both homogeneous flow (all phases flow with the same velocity) and the a
drift-flux model (slip between phases is allowed) can be selected.

Figure 4. A schematic of a well segment in the MSWell model (Jiang, 2007)

As mentioned earlier, it is aimed to explain the choke implementation into AD-GPRS which
has been performed as a part of this research. The choke option was implemented in MSWell

Implementation of Choke Models in AD-GPRS 6


in the well model (Figure 3). However, before continuing, it is required to gain some
understanding of the “Automatically Differentiable Expression Library” which is a basic
template required for the implementation of the choke formulations. In the following, the data
structures in this library are briefly described.

Automatically Differentiable Expression Templates Library


The Automatically Differentiable Expression Templates Library (ADETL) is a large
optimized generic library, which is composed of various data structures and algorithms for the
purpose of automatic differentiation (AD). ADETL provides core infrastructure for AD-
GPRS. With this library, only nonlinear residual equations need to be written and the
associated Jacobian matrix can be automatically generated. In the next section, it is explained
that the choke formulations have been implemented into the program in terms of the residual
equations used for the generation of the Jacobian matrix.
The most important data type that is introduced by ADETL is the ADscalar, which contains a
value member in the double type, and a gradient member in a customized data type (currently
the default option is the block_sparse_vector with a fixed block size of 4). An ADscalar can
be independent, dependent, or constant. When it is independent, the gradient member contains
only one derivative of value 1 at a certain column (i.e., its independent position). If it is
dependent, the gradient member stores the derivatives with respect to all related independent
variables. The gradient member will be empty if the ADscalar is a constant. The ADvector,
which is also a frequently-used data type in ADETL, represents a vector of ADscalars. It has
an interface that is composed of those standard functions in the STL vector type and several
additional ones specifically for the purpose of AD. A schematic of ADscalar and ADvector
types are illustrated in Figure 5.

Figure 5. Schematic of the ADscalar and ADvector data types available in ADETL.
As mentioned, an ADscalar data type contains a value member and a gradient member or
members in a customized data type. In the next section, it will be explained that the ADscalar
data type should be used to define the variable parameters (such as gas and liquid flow rates)
to keep the gradient members with respect to the other parameters. Constants used in choke
models can be defined as simple double type value.

Implementation of Choke Models in AD-GPRS 7


Flow Through Chokes
A wellhead choke controls the surface pressure and production rate from a well. Chokes are
usually selected so that fluctuations in the line pressure downstream of the choke have no
effect on the production rate. This requires that flow through the choke is at critical flow
conditions, i.e. that the flow rate in the throat of the choke is so high that it reaches the sonic
velocity of the gas-liquid mixture flowing through the choke. Under critical flow conditions,
the flow rate is a function of the upstream (tubing head) pressure only. For this condition to
occur, the downstream pressure must be approximately 0.6 or less of the tubing head pressure.
Because in most real cases fluid flow at the top of a well is multiphase, models for multiphase
flow through chokes have been considered here. In particular we will use an empirical model
which is computationally much more efficient than more complex first-principles models.

Empirical models for critical flow


At critical conditions, there are a number of empirical correlations such as those of Gilbert,
Ros, Baxendell and Achong. Each of these has been determined from a limited set of
measurements for specific fluid properties and choke types and it is therefore not possible to
make a general recommendation which of them is the preferred one (For more details see
Jansen, 2017). All of them can be written in the form
𝐵
(𝐸𝑅𝑔𝑙 )
𝑃1 = −𝐴𝑞𝑙,𝑠𝑐 +𝐷 (1)
(𝐹𝑑𝑐ℎ )𝑐

where 𝑃1 is the pressure upstream of the choke, 𝑞𝑙,𝑠𝑐 is the liquid flow rate through the choke,
𝑅𝑔𝑙 is the producing gas-liquid ratio, 𝑑𝑐ℎ is the choke diameter and A, B, C, D, E and F are
experimentally-determined constants which are different for different empirical models.
These constant are given in Table 1 in two different units.

Implementation of Choke Models in AD-GPRS 8


Table 1. Empirical coefficients for different choke models (Jansen, 2017).
SI Units
Model A B C D E F
Gilbert 3.75E10 0.546 1.89 1.01E5 5.61 2.52E3
Ros 6.52E10 0.500 2.00 1.01E5 5.61 2.52E3
Baxendell 3.58E10 0.546 1.93 1.01E5 5.61 2.52E3
Achong 1.43E10 0.650 1.88 1.01E5 5.61 2.52E3
Field Units
Model A B C D E F
Gilbert 10.0 0.546 1.89 14.7 1.00 1.00
Ros 17.4 0.500 2.00 14.7 1.00 1.00
Baxendell 9.56 0.546 1.93 14.7 1.00 1.00
Achong 3.82 0.650 1.88 14.7 1.00 1.00

Empirical models for sub-critical flow


For sub-critical flow, an extension of the above empirical models was used as proposed by
Jansen (2017). From equation (1) it follows that the flow rate at the critical pressure ratio is
given by:
(𝐷 − 𝑃1,𝑐𝑟𝑖𝑡 )(𝐹𝑑𝑐ℎ )𝑐
𝑞𝑙, 𝑠𝑐,𝑐𝑟𝑖𝑡 = 𝐵 (2)
𝐴(𝐸𝑅𝑔𝑙 )

The upstream pressure is related to downstream pressure as 𝑃1,𝑐𝑟𝑖𝑡 ≈ 1.7𝑃4 . Hence an


appropriate expression that fulfils the following conditions can be used as an extension of the
empirical model for sub-critical flow.
𝑞𝑙, 𝑠𝑐 = 0 ∶ 𝑃1 = 𝑃4 (3a)
𝑑𝑃1 (3b)
𝑞𝑙, 𝑠𝑐 =0 ∶ =0
𝑑𝑞𝑙, 𝑠𝑐

𝑞𝑙, 𝑠𝑐 = 𝑞𝑙,𝑠𝑐,𝑐𝑟𝑖𝑡 ∶ 𝑃1 = 𝑃1,𝑐𝑟𝑖𝑡 (3c)

𝑑𝑃1 (3d)
𝑞𝑙, 𝑠𝑐 = 𝑞𝑙,𝑠𝑐,𝑐𝑟𝑖𝑡 ∶ = 𝑃1,𝑐𝑟𝑖𝑡 ′
𝑑𝑞𝑙, 𝑠𝑐

where 𝑃1,𝑐𝑟𝑖𝑡 ′ can be obtained using Equation 1 as follow:


𝐵
′ (𝐸𝑅𝑔𝑙 )
𝑃1,𝑐𝑟𝑖𝑡 = −𝐴 (4)
(𝐹𝑑𝑐ℎ )𝑐

Implementation of Choke Models in AD-GPRS 9


The following third-order polynomial can be an appropriate expression:
𝑃1 = 𝑐0 + 𝑐1 𝑞𝑙,𝑠𝑐 + 𝑐2 𝑞𝑙,𝑠𝑐 2 + 𝑐3 𝑞𝑙,𝑠𝑐 3 (5)

provided that the four coefficients are derived from Equation 3a to 3d. It can be shown that
these coefficients are (Jansen, 2017):
𝑐0 = 𝑃4 (6a)

𝑐1 = 0 (6b)

𝑃1,𝑐𝑟𝑖𝑡 ′ 3(𝑃1,𝑐𝑟𝑖𝑡 − 0.5𝑃1,𝑐𝑟𝑖𝑡 ′ 𝑞𝑙,𝑠𝑐,𝑐𝑟𝑖𝑡 − 𝑃4 ) (6c)


𝑐2 = +
2𝑞𝑙,𝑠𝑐,𝑐𝑟𝑖𝑡 𝑞𝑙,𝑠𝑐,𝑐𝑟𝑖𝑡 2

2(𝑃1,𝑐𝑟𝑖𝑡 − 0.5𝑃1,𝑐𝑟𝑖𝑡 ′ 𝑞𝑙,𝑠𝑐,𝑐𝑟𝑖𝑡 − 𝑃4 ) (6d)


𝑐3 =
𝑞𝑙,𝑠𝑐,𝑐𝑟𝑖𝑡 3

It is noted that there is no discontinuity between the results obtained from the critical and the
sub-critical choke models at critical pressure. Hence, these models can be implemented in the
simulator without the risk of sharp changes of calculated upstream pressures near critical
values.

Implementation of Choke Models in AD-GPRS


The choke formulations have been implemented in AD-GPRS in terms of the residual
equations for construction of the Jacobian matrix. In the following, it is briefly explained how
the well constraint equation are involved in the Jacobian matrix.

Constraint Equations and Jacobian Matrix Structures


Wells in the field are subject to various control strategies. These controls are represented by
constraint equations. For the MSWell model, the constraint equation takes the place of the
“pressure equation” for the top segment. This can be shown clearly in a simple example of a
two-phase reservoir model with 3 × 2 grid blocks illustrated in Figure 6.

Figure 6. A simple example of a two-phase reservoir model with 𝟑 × 𝟐 grid blocks


(Jiang, 2007)

Implementation of Choke Models in AD-GPRS 10


In this model, for fully implicit oil-water simulation, there are two equations per cell.
Therefore, the total number of the reservoir equations of this case is twelve. Since each
segment has four equations, the three-segment well results in twelve well equations. The total
number of the equations in the system is 24. A partitioned Jacobian matrix can be formed and
Newton iteration can be repeated using:
𝐽𝑅𝑅 𝐽𝑅𝑊 𝛿𝑢𝑟 𝑅𝑟
( ).( ) = −( ) (7)
𝐽𝑊𝑅 𝐽𝑊𝑊 𝛿𝑢𝑤 𝑅𝑤

where 𝐽𝑅𝑊 is the sector of the Jacobian corresponding to the derivatives of the reservoir
equations with respect to the MSWell variables, and 𝐽𝑅𝑅 , 𝐽𝑊𝑅 , and 𝐽𝑊𝑊 are defined in a
similar manner. 𝑅𝑟 and 𝑅𝑤 are the residual vectors of the reservoir and well equations
respectively. 𝛿𝑢𝑟 and 𝛿𝑢𝑤 are the corrections for the reservoir and well variables from the
Newton iteration. Now assuming a well with pressure control, the constraint equation can be
written as:
𝑅1 𝑠𝑒𝑔 = 𝑃1 𝑠𝑒𝑔 − 𝑝𝑡𝑎𝑟𝑔𝑒𝑡 (8)

The above equation has only one non-zero derivatives:


𝜕𝑅1 𝑠𝑒𝑔
=1 (9)
𝜕𝑃1 𝑠𝑒𝑔

The structure of the corresponding Jacobian matrix is shown in Figure 7. The dark blue cells
represent non-zero elements. The first twelve rows of the matrix are derived from the
reservoir equations, and the remaining twelve rows are from the well equations. The
constraint equation is the first well equation, which corresponds to the 13th row of the matrix
and is labelled with “ctrl”. The first twelve columns represent the reservoir variables and the
remaining columns represent the well unknowns.

Implementation of Choke Models in AD-GPRS 11


Figure 7. The structure of Jacobian matrix with pressure controlled well (Jiang, 2007)
A similar procedure can be followed when using the oil-rate target. For the oil-rate constraint
equation, the mass rate of the oil component from all the perforations is equal to the specified
rate:
𝑛𝑝𝑒𝑟𝑓 𝑛𝑝

𝑅1 𝑠𝑒𝑔 = 𝑅𝑐𝑡𝑟𝑙 = ∑ (∑ 𝜌𝑝 𝜆𝑝 𝑥0,𝑝 𝑊𝐼(𝑃𝑝 𝑟𝑒𝑠 − 𝑃𝑠𝑒𝑞 )) − 𝜌𝑜 𝑞𝑜 = 0 (10)


𝑗=1 𝑝=1

It is noted that 𝑅𝑐𝑡𝑟𝑙 depends on both formation and segment pressures at the perforations. It is
a function of the sand face fluid saturation as well. Therefore, the derivatives of Equation 8
𝜕𝑅 𝑠𝑒𝑔 𝜕𝑅 𝑠𝑒𝑔
with respect to formation pressure ( 𝜕𝑃1 𝑟𝑒𝑠 ), segment pressure (𝜕𝑃1𝑠𝑒𝑔 ), and sand face fluid
𝑗 𝑗
𝜕𝑅1 𝑠𝑒𝑔
saturation ( 𝜕𝑆 𝑠𝑒𝑔 ), should be taken into account. As can be seen in Figure 8, these values are
𝑗

non-zero.

Implementation of Choke Models in AD-GPRS 12


Figure 8. The structure of Jacobian matrix with oil-rate controlled well (Jiang, 2007)
From the above two examples, it is clear how the Jacobian matrix can be affected by the
constraint equation. Now assume that the choke equation is replaced with 𝑝𝑡𝑎𝑟𝑔𝑒𝑡 in Equation
8. In this case, the 𝑝𝑡𝑎𝑟𝑔𝑒𝑡 should be replaced by Equation 1 for critical flow or Equation 2 for
sub-critical flow. However, as the upstream pressure is not a constant anymore and related to
other variables, the derivatives of the constraint equation with respect to other variables
should be taken into accounts. This is the reason for using the ADscalar data type as it makes
the automatic differentiation possible. Therefore, the constraint equation for critical flow can
be defined as:
𝐵
𝑠𝑒𝑔 𝑠𝑒𝑔 (𝐸𝑅𝑔𝑙 𝑠𝑒𝑔 )
𝑅1 = 𝑃1 − (−𝐴𝑞𝑙,1 𝑠𝑒𝑔 (𝐹𝑑 𝑐
+ 𝐷) (11)
𝑐ℎ )

or similarly:
(𝐷 − 𝑃1 𝑠𝑒𝑔 )(𝐹𝑑𝑐ℎ )𝑐
𝑅1 𝑠𝑒𝑔 = 𝑞𝑙,1 𝑠𝑒𝑔 − ( 𝐵 ) (12)
𝐴(𝐸𝑅𝑔𝑙 𝑠𝑒𝑔 )

It is noted that 𝑞𝑙,1 𝑠𝑒𝑔 , 𝑅𝑔𝑙 𝑠𝑒𝑔 and 𝑃1 𝑠𝑒𝑔 should have an ADscalar data type. Hence the
derivatives of the constraint equation can be calculated automatically within AD-GPRS. For
the sub-critical flow, the constraint equation is defined as
𝑅1 𝑠𝑒𝑔 = 𝑃1 𝑠𝑒𝑔 − (𝑐0 + 𝑐1 𝑞𝑙,1 𝑠𝑒𝑔 + 𝑐2 𝑞𝑙,1 𝑠𝑒𝑔 2 + 𝑐3 𝑞𝑙,1 𝑠𝑒𝑔 3 ) (11)

where 𝑐0 to 𝑐3 are defined from Equation 6. In this case, 𝑃1,𝑐𝑟𝑖𝑡 ′ , 𝑞𝑙,1 𝑠𝑒𝑔 , 𝑅𝑔𝑙 𝑠𝑒𝑔 and 𝑃1 𝑠𝑒𝑔
should have the ADscalar data type.

Implementation of Choke Models in AD-GPRS 13


It should be highlighted that, if the upstream pressure (obtained from the previous iteration) is
equal to 1.7𝑃4 or above, the flow is critical and the appropriate constraint equation (Equation
12) is used, otherwise Equation 11 is used as a constraint equation.

Choke Option in the WCONPROD Keyword


In AD-GPRS, most of the keywords are designed to be consistent with Eclipse keywords. The
WCONPROD keyword specifies control data for production wells. Before choke
implementation, the keyword should have been followed by nine parameters of well name,
open/shut flag for the well, control mode, oil rate target or upper limit, water rate target or
upper limit, gas rate target or upper limit, liquid rate target or upper limit, reservoir fluid
volume rate target or upper limit and BHP target or lower limit. However, after choke
implementation, three parameters of choke downstream pressure, choke size and choke model
have been added to this keyword. Therefore, the required parameters for the WCONPROD
keyword can be summarized as follow:
WCONPROD
1.Well name.
2. Open/shut for the well.
3. Control mode:
 ORAT: Controlled by oil rate target
 WRAT: Controlled by water rate target
 GRAT: Controlled by gas rate target
 LRAT: Controlled by liquid rate target
 RESV: Controlled by reservoir fluid volume rate target
 BHP: Controlled by BHP target
 CHK: Controlled by surface choke
DEFAULT: BHP
4. Oil rate target or upper limit, m3/day
5. Water rate target or upper limit, m3/day
6. Gas rate target or upper limit, m3/day
7. Liquid rate target or upper limit, m3/day
8. Reservoir fluid volume rate target or upper limit, m3/day
9. BHP target or lower limit, bar.
10. Choke downstream pressure
11. Choke size, m
12. Choke model:
1. Gilbert
2. Ros

Implementation of Choke Models in AD-GPRS 14


3. Baxendell
4. Achong
DEFAULT: Gilbert
As an example, the following code defines a Gilbert (default) choke model with a
downstream choke pressure of 10 bars and a choke size of 4 cm.

WCONPROD
W1 OPEN CHK 5* 10 10 0.04 1*/

Acknowledgments
This research was carried out within the context of the Integrated Systems Approach to
Petroleum Production (ISAPP) knowledge centre. ISAPP is a joint project of TNO, Delft
University of Technology, ENI, Statoil and Petrobras. The authors acknowledge
Schlumberger for providing multiple academic Eclipse licenses for this work. The authors
also acknowledge Stefano Raniolo for assistance in setting up the simulation models.

Reference
Jansen, J.D., 2017: Nodal analysis of oil and gas production systems. SPE Textbook Series.
SPE, Richardson. ISBN: 978-1-61399-564-8.

Other relevant documents


AD-GPRS, 2015: AD-GPRS, Stanford University’s Automatic Differentiation based General
Purpose Research Simulator, Technical Documentation. Department of Energy Resources
Engineering, Stanford University.
AD-GPRS Manual, 2015: AD-GPRS, Stanford University’s Automatic Differentiation based
General Purpose Research Simulator, Manual. Department of Energy Resources
Engineering, Stanford University.
Pan, H. and Cao, H., 2006: Overview of General Purpose Research Simulator (GPRS).
Department of Energy Resources Engineering, Stanford University.
Jiang, Y., 2007: Techniques for modelling complex reservoirs and advanced wells, PhD
Thesis, Stanford University.
Shi, H., Jiang, Y., Batias, J., ?: Implementation document of multi-segment well black oil
model, GPRS Technical Report. Department of Energy Resources Engineering, Stanford
University.
Zhou, Y., ?: Automatically differentiable expression templates library (ADETL). User
Manual. Department of Energy Resources Engineering, Stanford University.

Implementation of Choke Models in AD-GPRS 15

You might also like