Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


LaTeX Math Block
anchorOF
alignmentleft
G = \sum_{y=1}^{N_y} \frac{AG_y}{(1+r)^y} \rightarrow \rm max



LaTeX Math Block
anchorAWASG
alignmentleft
AG_y = \sum_{t=1+[y:365]_t}^{365+[y:365]_t} G_t = \sum_{t=1+[y:365]_t}^{365+[y:365]}}_t} 
\left( G_t^{+} - G_t^{-} \right)





LaTeX Math Block
anchorGtPlus
alignmentleft
G_t^{+} =  \sum_{k=1}^{N^{\uparrow}_P} \left[ R_O(t) \cdot q^{\uparrow}_{O, k}(t) + R_G(t) \cdot  q^{\uparrow}_{G, k}(t) \right] 



LaTeX Math Block
anchorGtMinus
alignmentleft
G_t^{-} = 
 \sum_{k=1}^{N^{\uparrow}_P} C^{\uparrow}_{L,k} \cdot q^{\uparrow}_{L, k}(t)
+\sum_{k=1}^{N^{\uparrow}_P} C^{\uparrow}_{O,k} \cdot q^{\uparrow}_{O, k} (t)
+\sum_{k=1}^{N^{\uparrow}_P} C^{\uparrow}_{G,k} \cdot q^{\uparrow}_{G, k} (t)
+\sum_{k=1}^{N^{\uparrow}_P} C^{\uparrow}_{W,k} \cdot q^{\uparrow}_{W, k}(t)
+\sum_{i=1}^{N^{\downarrow}_W} C^{\downarrow}_{W,j} \cdot q^{\downarrow}_{W, i}(t)
+\sum_{j=1}^{N^{\downarrow}_G} C^{\downarrow}_{G,j} \cdot q^{\downarrow}_{G, j}(t)
+ C_{WS} \cdot q_{WS}(t)
+ C_{GS} \cdot q_{GS}(t)




LaTeX Math Block
anchor8ZMLG
alignmentleft
q_{WS}(t) = \sum_{i=1}^{N^{\downarrow}_W}  q^{\downarrow}_{W, i}(t) - \sum_{k=1}^{N^{\uparrow}_P} q^{\uparrow}_{W, k}(t) 



LaTeX Math Block
anchorDDXYO
alignmentleft
C_{WS}(t)= \begin{cases} 
C^{\uparrow}_{WS}(t), & \mbox{if } q_{WS}(t)>0 
\\ 
C^{\downarrow}_{WS}(t), & \mbox{if } q_{WS}(t)<0 
\end{cases}



LaTeX Math Block
anchor3YBLD
alignmentleft
q_{GS}(t) = \sum_{j=1}^{N^{\downarrow}_G}  q^{\downarrow}_{G, j}(t) - \sum_{k=1}^{N^{\uparrow}_P} q^{\uparrow}_{G, k}(t)



LaTeX Math Block
anchor0I6LB
alignmentleft
C_{GS}(t)= \begin{cases} 
C^{\uparrow}_{GS}(t), & \mbox{if } q_{GS}(t) > 0 
\\ 
C^{\downarrow}_{GS}(t), & \mbox{if } q_{GS}(t) > 0 
\end{cases}
LaTeX Math Block
anchorRateLimit
alignmentleft
q^{\uparrow}_{LMIN, p} \leq q^{\uparrow}_{L, p}(t) \leq  q^{\uparrow}_{LMAX, p}
LaTeX Math Block
anchorRateLimit
alignmentleft
q^{\downarrow}_{WMIN, i} \leq q^{\downarrow}_{W, i}(t) \leq  q^{\downarrow}_{WMAX, i}
LaTeX Math Block
anchorRateLimit
alignmentleft
q^{\downarrow}_{GMIN, j} \leq q^{\downarrow}_{G, j}(t) \leq q^{\downarrow}_{GMAX, j}

...




where

LaTeX Math Inline
bodyN_y

yearsassessment period

LaTeX Math Inline
bodyt

days

running time in the form of the number of days past the start of production 

LaTeX Math Inline
bodyt=0

LaTeX Math Inline
bodyy_t

years

number of whole years past the start of production by the current moment 

LaTeX Math Inline
bodyt

LaTeX Math Inline
bodyr

discount rate





LaTeX Math Inline
body--uriencoded--q%5e%7B\uparrow%7D_%7BO, k%7D(t)

volume/day

oil production rate for 

LaTeX Math Inline
bodyk
-th producer

LaTeX Math Inline
body--

...

LaTeX Math Inline
bodyN_y

yearsassessment period

LaTeX Math Inline
bodyt

daysday within a given year

LaTeX Math Inline
bodyr

discount rate

LaTeX Math Inline
body--uriencoded--q%5e%7B\uparrow%7D_%7BO, k%7D(t)

volume/day

oil production rate for 

LaTeX Math Inline
bodyk
-th producer

LaTeX Math Inline
body--uriencoded--C%5e%7B\uparrow%7D_%7BO,k%7D(t)

cash/volume

cost of produced oil treatment and transportation from 

LaTeX Math Inline
bodyk
-th wellhead to CMS CTM

LaTeX Math Inline
bodyR_O(t)

cash/volumeoil selling price

LaTeX Math Inline
body--uriencoded--q%5e%7B\uparrow%7D_%7BG, k%7D(t)

volume/day

gas production rate for 

LaTeX Math Inline
bodyk
-th producer

LaTeX Math Inline
body--uriencoded--C%5e%7B\uparrow%7D_%7BG,k%7D(t)

cash/volume

cost of produced gas treatment and transportation from 

LaTeX Math Inline
bodyk
-th wellhead to CMS to CTM

LaTeX Math Inline
bodyR_G(t)

cash/volumegas selling price

LaTeX Math Inline
body--uriencoded--q%5e%7B\uparrow%7D_%7BW, k%7D(t)

volume/day

water production rate for 

LaTeX Math Inline
bodyk
-th producer

LaTeX Math Inline
body--uriencoded--C%5e%7B\uparrow%7D_%7BW,k%7D(t)

cash/volume

cost of produced water treatment and transportation from 

LaTeX Math Inline
bodyk
-th wellhead to CMS to CTM

LaTeX Math Inline
body--uriencoded--N%5e%7B\uparrow%7D_P(t)

counts

number of producers at 

LaTeX Math Inline
bodyt

LaTeX Math Inline
body--uriencoded--q%5e%7B\uparrow%7D_%7BL, k%7D(t)

volume/day

liquid production rate for 

LaTeX Math Inline
bodyk
-th producer

LaTeX Math Inline
body--uriencoded--C%5e%7B\uparrow%7D_%7BL, k%7D(t)

cash/volume

cost of fluid lift from reservoir to the 

LaTeX Math Inline
bodyk
-th wellhead, cash/volume




LaTeX Math Inline
body--uriencoded--q_%7BWS%7D(t)

volume/day

water supply/disposal rate

LaTeX Math Inline
body--uriencoded--C%5e%7B\uparrow%7D_%7BWS%7D(t)

cash/volumecost of water supply

LaTeX Math Inline
body--uriencoded--C%5e%7B\downarrow%7D_%7BWS%7D(t)

cash/volumecost of water disposal

LaTeX Math Inline
body--uriencoded--q_%7BGS%7D(t)

volume/daygas supply/disposal rate

LaTeX Math Inline
body--uriencoded--C%5e%7B\uparrow%7D_%7BGS%7D(t)

cash/volumecost of gas supply

LaTeX Math Inline
body--uriencoded--C%5e%7B\downarrow%7D_%7BGS%7D(t)

cash/volumecost of gas disposal

LaTeX Math Inline
body--uriencoded--q%5e%7B\downarrow%7D_%7BW, i%7D(t)

volume/day

water injection rate for 

LaTeX Math Inline
bodyi
-th water injector

LaTeX Math Inline
body--uriencoded--C%5e%7B\downarrow%7D_%7BW,i%7D(t)

cash/volume

cost of water injection, including treatment, transportation and pumping into 

LaTeX Math Inline
bodyi
-th well

LaTeX Math Inline
body--uriencoded--N%5e%7B\downarrow%7D_W(t)

counts

number of water injectors at 

LaTeX Math Inline
bodyt

LaTeX Math Inline
body--uriencoded--q%5e%7B\downarrow%7D_%7BG, i%7D(t)

volume/day

gas injection rate for 

LaTeX Math Inline
bodyi
-th gas injector

LaTeX Math Inline
body--uriencoded--C%5e%7B\downarrow%7D_%7BG,j%7D(t)

cash/volume

cost of gas injection, including purchase, treatment, transportation and pumping into 

LaTeX Math Inline
bodyi
-th well

LaTeX Math Inline
body--uriencoded--N%5e%7B\downarrow%7D_G(t)

counts

number of gas injectors at 

LaTeX Math Inline
bodyt

The objective function  

LaTeX Math Block Reference
anchorOF
can be rewritten in terms of Surface flowrates 
LaTeX Math Inline
body\{ q^{\uparrow}_L, q^{\downarrow}_W, q^{\downarrow}_G \}
:

\downarrow%7D_%7BG, i%7D(t)

volume/day

gas injection rate for 

LaTeX Math Inline
bodyi
-th gas injector

LaTeX Math Inline
body--uriencoded--C%5e%7B\downarrow%7D_%7BG,j%7D(t)

cash/volume

cost of gas injection, including purchase, treatment, transportation and pumping into 

LaTeX Math Inline
bodyi
-th well

LaTeX Math Inline
body--uriencoded--N%5e%7B\downarrow%7D_G(t)


counts


number of gas injectors at 

LaTeX Math Inline
bodyt


The objective function  

LaTeX Math Block Reference
anchorOF
can be rewritten in terms of Surface flowrates 
LaTeX Math Inline
body\{ q^{\uparrow}_L, q^{\downarrow}_W, q^{\downarrow}_G \}
 and usual subject to engineering restrictions:


LaTeX Math Block
anchorOF_L
alignmentleft
G_t = \sum_{p=1}^{N^{\uparrow}_P} C^{\uparrow}_{OGW}(t)  \cdot q^{\uparrow}_{L, p}(t)
- \sum_{i=1}^{N^{\downarrow}_W} C^{\downarrow}_{W,i} \cdot q^{\downarrow}_{W, i}(t) 
- \sum_{j=1}^{N^{\downarrow}_G} C^{\downarrow}_{G,j} \cdot q^{\downarrow}_{G, j}(t)
- C_{WS} \cdot q_{WS}(t)
- C_{GS} \cdot q_{GS}(t)



LaTeX Math Block
anchorKPBIE
alignmentleft
C^{\uparrow}_{OGW}(t) = \left[  (R_O(t) -  C^{\uparrow}_{O,p}) + (R_G(t) - C^{\uparrow}_{G,p}) \cdot  Y_{G,p}(t) \right]  \cdot (1- Y_{W,p}(t)) 
- C^{\uparrow}_{L,p} - C^{\uparrow}_{W,p} \cdot Y_{W,p}(t) 



LaTeX Math Block
anchorRateLimit
alignmentleft
0 \leq q^{\uparrow}_{L, p}(t) \leq  q^{\uparrow}_{LMAX, p}(t)



LaTeX Math Block
anchorRateLimit
alignmentleft
0 \leq q^{\downarrow}_{W, i}(t) \leq  q^{\downarrow}_{WMAX, i}(t)



LaTeX Math Block
anchorRateLimit
alignmentleft
0 \leq q^{\downarrow}_{G, j}(t) \leq q^{\downarrow}_{GMAX, j}(t)



LaTeX Math Block
anchorRateLimit
alignmentleft
\sum_{p
LaTeX Math Block
anchorOF_L
alignmentleft
G_t = \sum_{p=1}^{N^{\uparrow}_P} C^{\uparrow}_{OGW}(t) \cdot q^{\uparrow}_{L, p}(t) - \sum_{i
=1}^{N^{\
downarrow
uparrow}_
W
P} 
C^
q^{\
downarrow
uparrow}_{
W
L,
i
 p}
\cdot
(t) \leq q^{\uparrow}_{LMAX}



LaTeX Math Block
anchorRateLimit
alignmentleft
q^{\downarrow}_{
W, i
WMIN}(t) \leq 
-
\sum_{
j=1}^{N^{\downarrow}_G} C^
i=1}^{N^{\downarrow}_
{G,j
W} 
\cdot
q^{\downarrow}_{
G
W, 
j
i}(t)
- C_{WS} \cdot q_{WS}(t) - C_{GS} \cdot q_{GS}(t)
 
\leq q^{\downarrow}_{WMAX}



LaTeX Math Block
anchor
KPBIE
RateLimit
alignment
leftC^{\uparrow}_{OGW}(t) = \left[ (R_O(t) - C^{\uparrow}_{O,p}) + (R_G(t) - C^{\uparrow}_{G,p}) \cdot Y_{g,p}(t) \right] \cdot (1- Y_{w,p}(t)) - C^{\uparrow}_{L,p} - C^
left
\sum_{j=1}^{N^{\downarrow}_G} q^{\downarrow}_{G, j}(t)
\leq q^{\downarrow}_{GMAX}




LaTeX Math Block
anchorRateLimit
alignmentleft
q^{\downarrow}_{WMIN}(t) = \sum_{p=1}^{N^{\uparrow}_P} q^{\uparrow}_{W,
p} \cdot
 
Y_{w,
p}(t) 




where

LaTeX Math Inline
body--uriencoded--Y_%7Bw%7BW,k%7D(t) = q_%7BW,k%7D / q_%7BL,k%7D

Watercut in 

LaTeX Math Inline
bodyk
-th well

LaTeX Math Inline
body--uriencoded--Y_%7Bg%7BG,k%7D(t) = q_%7BG,k%7D / q_%7BO,k%7D

Gas-Oil Ratio in 

LaTeX Math Inline
bodyk
-th well

...

Expand
titleSandface Formalism



The objective function  

LaTeX Math Block Reference
anchorOF_L
can be further rewritten in terms of Sandface flowrates 
LaTeX Math Inline
body\{ q^{\uparrow}_t, q^{\downarrow}_w, q^{\downarrow}_g \}
:

LaTeX Math Block
anchorG_sf
alignmentleft
G = \sum_{k=1}^{N^{\uparrow}_P} G^{\uparrow}_{t,k} \cdot q^{\uparrow}_{t, k}
- \sum_{i=1}^{N^{\downarrow}_W} G^{\downarrow}_{w,i}  \cdot 
q^{\downarrow}_{w, i}
- \sum_{j=1}^{N^{\downarrow}_G} G^{\downarrow}_{g,j}  \cdot q^{\downarrow}_{g, j} - C^{\uparrow}_{WS,k
- C_{WS} \cdot q_{WS}(t)
- C_{GS} \cdot q^{\uparrow}q_{WSGS}(t)
 \rightarrow \rm max


LaTeX Math Block
anchorGtp
alignmentleft
G^{\uparrow}_{t,k} = \frac{\left[  (R_O -  C^{\uparrow}_{O,k}) + (R_G - C^{\uparrow}_{G,k}) \cdot  Y_{gG,k} \right]  \cdot (1- Y_{wW,k}) 
- C^{\uparrow}_{L,k} - C^{\uparrow}_{W,k} \cdot Y_{wW,k} }
{B_{w,k} Y_{wW,k} + \left[ (B_{o,k} - R_{s,k} B_{g,k}) + (B_{g,k} - R_{v,k} B_{o,k}) \, Y_{gG,k} \right] \cdot (1-Y_{w,k})}


LaTeX Math Block
anchorGw
alignmentleft
G^{\downarrow}_{w,i} = B_{w,i} C^{\downarrow}_{W,i} 


LaTeX Math Block
anchorGg
alignmentleft
G^{\downarrow}_{g,i} = B_{g,i} \cdot C^{\downarrow}_{G,i}


where

LaTeX Math Inline
bodyB_{w,k} = B_w(p_{wf,k}(t))

Water FVF for 

LaTeX Math Inline
bodyk
-th well

LaTeX Math Inline
bodyp_{wf,k}(t)

BHPin 

LaTeX Math Inline
bodyk
-th well

LaTeX Math Inline
bodyB_{o,k} = B_o(p_{wf,k}(t))

Oil FVF for 

LaTeX Math Inline
bodyk
-th well

LaTeX Math Inline
bodyR_{s,k} = R_s(p_{wf,k}(t))

 Solution GOR in 

LaTeX Math Inline
bodyk
-th well

LaTeX Math Inline
bodyB_{g,k} = B_g(p_{wf,k}(t))

Gas FVF for 

LaTeX Math Inline
bodyk
-th well

LaTeX Math Inline
bodyR_{v,k} = R_v(p_{wf,k}(t))

 Vaporized Oil Ratio in 

LaTeX Math Inline
bodyk
-th well




Expand
titleDerivation


Panel
borderColorwheat
bgColormintcream
borderWidth7


LaTeX Math Block
anchor427RB
alignmentleft
G(t) = \sum_{p=1}^{N^{\uparrow}_P} \left[ 
(R_O -  C^{\uparrow}_{O,p}) \cdot q^{\uparrow}_{O, p} + (R_G - C^{\uparrow}_{G,p}) \cdot  q^{\uparrow}_{G, p} 
- C^{\uparrow}_{L,p}  - C^{\uparrow}_{W,p} \cdot q^{\uparrow}_{W, p}
\right]  
- \sum_{i=1}^{N^{\downarrow}_W} C^{\downarrow}_{W,j} \cdot q^{\downarrow}_{W, i} 
- \sum_{j=1}^{N^{\downarrow}_G} C^{\downarrow}_{G,j} \cdot q^{\downarrow}_{G, j}


LaTeX Math Block
anchor427RB
alignmentleft
G(t) = \sum_{p=1}^{N^{\uparrow}_P} \left[ 
\left[  (R_O -  C^{\uparrow}_{O,p}) + (R_G - C^{\uparrow}_{G,p}) \cdot  Y_{gG,p} \right]  \cdot q^{\uparrow}_{O, p} 
- C^{\uparrow}_{L,p}  - C^{\uparrow}_{W,p} \cdot Y_{wW,p} \cdot q^{\uparrow}_{L, p}
\right]  
- \sum_{i=1}^{N^{\downarrow}_W} C^{\downarrow}_{W,j} \cdot q^{\downarrow}_{W, i} 
- \sum_{j=1}^{N^{\downarrow}_G} C^{\downarrow}_{G,j} \cdot q^{\downarrow}_{G, j}


LaTeX Math Block
anchor427RB
alignmentleft
G(t) = \sum_{p=1}^{N^{\uparrow}_P} \left[ 
\left[  (R_O -  C^{\uparrow}_{O,p}) + (R_G - C^{\uparrow}_{G,p}) \cdot  Y_{gG,p} \right]  \cdot (1- Y_{wW,p}) 
- C^{\uparrow}_{L,p} - C^{\uparrow}_{W,p} \cdot Y_{w,p} 
\right]  \cdot q^{\uparrow}_{L, p}
- \sum_{i=1}^{N^{\downarrow}_W} C^{\downarrow}_{W,j} \cdot q^{\downarrow}_{W, i} 
- \sum_{j=1}^{N^{\downarrow}_G} C^{\downarrow}_{G,j} \cdot q^{\downarrow}_{G, j}

Translating 

LaTeX Math Inline
bodyq^{\downarrow}_{W, i}
 and 
LaTeX Math Inline
bodyq^{\downarrow}_{G, j}
 to Sandface flowrates 
LaTeX Math Inline
bodyq^{\downarrow}_{w, i}
 and 
LaTeX Math Inline
bodyq^{\downarrow}_{g, j}
 with formation volume factor and substituting liquid production rate 
LaTeX Math Inline
bodyq^{\uparrow}_{L, p}
 from 
LaTeX Math Block Reference
anchorqL
pageLiquid production rate = qL
 one arrives to:

LaTeX Math Block
anchor427RB
alignmentleft
G(t) = \sum_{p=1}^{N^{\uparrow}_P}  \frac{\left[  (R_O -  C^{\uparrow}_{O,p}) + (R_G - C^{\uparrow}_{G,p}) \cdot  Y_{g,p} \right]  \cdot (1- Y_{w,p}) 
- C^{\uparrow}_{L,p} - C^{\uparrow}_{W,p} \cdot Y_{wW,p} }
{B_w Y_{wW,p} + \left[ (B_o - R_s B_g) + (B_g - R_v B_o) \, Y_{gG,p} \right] \cdot (1-Y_{wW,p})}
 
 \cdot q^{\uparrow}_{t, p}
- \sum_{i=1}^{N^{\downarrow}_W} C^{\downarrow}_{W,j} \cdot B_w \cdot q^{\downarrow}_{w, i} 
- \sum_{j=1}^{N^{\downarrow}_G} C^{\downarrow}_{G,j} \cdot B_g \cdot q^{\downarrow}_{g, j}

which is equivalent to 

LaTeX Math Block Reference
anchorG_sf
.






Depending on Lift mechanism the rates in equation 

LaTeX Math Block Reference
anchorG_sf
 may be set directly or calculated from THP and formation pressure 
LaTeX Math Inline
bodyp_e
(which is a usual case in injection wells):

LaTeX Math Block
anchor3WM13
alignmentleft
q^{\uparrow}_{t, k} = J_{t,k} \cdot ( p_{e,k} - p_{wf,k} )


LaTeX Math Block
anchor9HEU2
alignmentleft
G^q^{\downarrow}_{w,i} = J_{w,i} \cdot ( p_{wf,i} - p_{e,i} )


LaTeX Math Block
anchorFQ5IH
alignmentleft
G^q^{\downarrow}_{g,i} = J_{g,i} \cdot ( p_{wf,i} - p_{e,i} )


Producing wells may spontaneously vary between Constant rate production: qL = const and Constant pressure production: pwf = const (see Constant rate production: qL = const for alternation details).


...

Constant rate production: qL = const ] [ Constant pressure production: pwf pwf = const ]