Page tree

Versions Compared

Key

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

Given:

  • a function 
    LaTeX Math Inline
    body--uriencoded--q%5e*(t, %7B\bf p%7D)
     of real-value argument 
    LaTeX Math Inline
    bodyt \in \R
     and set of model parameters 
    LaTeX Math Inline
    body--uriencoded--%7B\bf p%7D = \%7B q%5e*_0, \, \tau_0, \, b \%7D
  • a training data set: 
    LaTeX Math Inline
    body--uriencoded--\%7B (t_k, q_k)\%7D_%7Bk = 1..N%7D = \%7B (t_0, q_0), (t_1, q_1), ..., (t_N, q_N) \%7D

the matching procedure assumes searching for thee specific set of model parameters 

LaTeX Math Inline
body--uriencoded--%7B\bf p%7D
 to minimize the goal function:

LaTeX Math Block
alignmentleft
G({\bf p}) = \sum_{k=1}^N \, \Psi \left( q^*(t_k) - q_k \right) \rightarrow \textrm{min}

where 

LaTeX Math Inline
body\Psi(z)
 is the discrepancy distance function.

Most popular choices are

LaTeX Math Inline
body--uriencoded--\Psi(z) = z%5e2
 and
LaTeX Math Inline
body--uriencoded--\Psi(z) = %7Cz%7C
.


There are few approaches to match the Arps decline to the historical data (or a training dataset within):

Anchor
Unconstrained
Unconstrained
Unconstrained matching



All three model parameters 

LaTeX Math Inline
body--uriencoded--\%7B q%5e*_0, \, \tau_0, \, b \%7D
 are being varied to achieve the best fit to the training dataset.

Exponential Production DeclineHyperbolic Production DeclineHarmonic Production Decline

LaTeX Math Inline
bodyb=0

LaTeX Math Inline
body0<b<1

LaTeX Math Inline
bodyb=1

LaTeX Math Block
anchor1
alignmentleft
q(t)=q^*_0 \exp \left( -  t/\tau_0 \right)
LaTeX Math Block
anchor003NF
alignmentleft
q(t) = \frac{q^*_0}{ \left( 1+b \cdot  t/\tau_0 \right)^{1/b} }
LaTeX Math Block
anchor1
alignmentleft
q(t)=\frac{q^*_0}{1+t/\tau_0} 


The best-fit model may not match: 

  • the initial production rate 
    LaTeX Math Inline
    body--uriencoded--q%5e*(t=0) \neq q_0
  • the current production rate 
    LaTeX Math Inline
    body--uriencoded--q%5e*(t=t_N) \neq q_N
  • the current cumulative production 
    LaTeX Math Inline
    body--uriencoded--Q%5e*(t=t_N) \neq Q_N

Anchor
Initial
Initial
Match the value of the initial rate 
LaTeX Math Inline
body--uriencoded--q%5e*(t=0) = q_0



The value of the model rate at the initial time moment is set to training dataset

LaTeX Math Inline
body--uriencoded--q%5e*(t=0) = q%5e*_0 = q_0
 and the two other model properties
LaTeX Math Inline
body--uriencoded--\%7B \tau_0, \, b \%7D
 are being varied to achieve the best fit to the training dataset.

Exponential Production DeclineHyperbolic Production DeclineHarmonic Production Decline

LaTeX Math Inline
bodyb=0

LaTeX Math Inline
body0<b<1

LaTeX Math Inline
bodyb=1

LaTeX Math Block
anchor1
alignmentleft
q(t)=q_0 \exp \left( -t/\tau_0 \right)
LaTeX Math Block
anchor003NF
alignmentleft
q(t) = \frac{q_0}{ \left( 1+b \cdot t/\tau_0 \right)^{1/b} }
LaTeX Math Block
anchor1
alignmentleft
q(t)=\frac{q_0}{1+t/\tau_0} 


The best-fit model may not match: 

  • the current production rate 
    LaTeX Math Inline
    body--uriencoded--q%5e*(t=t_N) \neq q_N
  • the current cumulative production 
    LaTeX Math Inline
    body--uriencoded--Q%5e*(t=t_N) \neq Q_N

Anchor
Current_rate
Current_rate
Match the value of the current rate 
LaTeX Math Inline
body--uriencoded--q%5e*(t=t_N) = q_N



The value of the model rate at the current time moment is set to training dataset: 

LaTeX Math Inline
body--uriencoded--q%5e*(t=t_N) = q_N
 and the two other model properties
LaTeX Math Inline
body--uriencoded--\%7B \tau_0, \, b \%7D
 are being varied to achieve the best fit to the training dataset.


Exponential Production DeclineHyperbolic Production DeclineHarmonic Production Decline

LaTeX Math Inline
bodyb=0

LaTeX Math Inline
body0<b<1

LaTeX Math Inline
bodyb=1

LaTeX Math Block
anchor1
alignmentleft
q(t)=q_N \cdot \exp \big[ -(t-t_N)/\tau_0 \big]
LaTeX Math Block
anchor003NF
alignmentleft
q(t) = q_N \cdot \left[ \frac{1+b \cdot t_N/\tau_0 }
{ 1+b \cdot t/\tau_0  } \right]^{1/b}
LaTeX Math Block
anchor1
alignmentleft
q(t) =  q_N \cdot  \left[ \frac{1+t_N/\tau_0 }
{ 1+ t/\tau_0  } \right]



This ensures the smooth transition from historical data

LaTeX Math Inline
body[(t_1,q_1)... (t_N, q_N)]
 to the production forecasts in future time moments
LaTeX Math Inline
body--uriencoded--[(t_%7BN+1%7D,q_%7BN+1%7D), ...]
.

The best-fit model may not match: 

  • the initial production rate 
    LaTeX Math Inline
    body--uriencoded--q%5e*(t=0) \neq q_0
  • the current cumulative production 
    LaTeX Math Inline
    body--uriencoded--Q%5e*(t=t_N) \neq Q_N

Anchor
Current_cumulative
Current_cumulative
Match the value of the current cumulative 
LaTeX Math Inline
body--uriencoded--Q%5e*(t=t_N) = Q_N



The value of the model rate at the initial time moment

LaTeX Math Inline
body--uriencoded--q%5e*(t=0) = q%5e*_0
is set to achieve the match between the values of current cumulative from model prediction and training dataset  
LaTeX Math Inline
body--uriencoded--Q%5e*(t=t_N) = Q_N
:

Exponential Production DeclineHyperbolic Production DeclineHarmonic Production Decline

LaTeX Math Inline
bodyb=0

LaTeX Math Inline
body0<b<1

LaTeX Math Inline
bodyb=1

LaTeX Math Block
anchor1
alignmentleft
q(t) = \frac{Q_N/\tau_0}{1-\exp(-t_N/\tau_0)}  \cdot \exp(-t/\tau_0) 
LaTeX Math Block
anchor003NF
alignmentleft
q(t) = \frac{(1-b) \cdot Q_N/\tau_0}{ 1 - \left( 1 + b \, t_N/\tau_0 \right) ^{-b/(1-b)}} \cdot \frac{1}{\left(1 + b\, t/\tau_0 \right)^{1/b}}
LaTeX Math Block
anchor1
alignmentleft
q(t)=\frac{Q_N/\tau_0}{\ln (1+ t_N/\tau_0)} \cdot \frac{1}{1+t/\tau_0}
LaTeX Math Block
anchor1
alignmentleft
Q(t) - Q_N = [ q^*_N - q(t)] \, \tau_0
LaTeX Math Block
anchor1
alignmentleft
Q(t) - Q_N = \frac{q^*_N^b \, (\tau_0 + b \, t_N)}{1-b} \left[ q^*_N^{1-b} - q^{1-b}(t) \right]
LaTeX Math Block
anchor1
alignmentleft
Q(t) - Q_N = q^*_N \, (\tau_0 + t_N) \cdot \ln \frac{q^*_N}{q(t)}


The best-fit model may not match: 

  • the initial production rate 
    LaTeX Math Inline
    body--uriencoded--q%5e*(t=0) \neq q_0
  • the current production rate 
    LaTeX Math Inline
    body--uriencoded--q%5e*(t=t_N) \neq q_N

Anchor
Current_rate_cumulative
Current_rate_cumulative
Match the value of the current rate and cumulative 
LaTeX Math Inline
body--uriencoded--q%5e*(t=t_N) = q_N
LaTeX Math Inline
body--uriencoded--Q%5e*(t=t_N) = Q_N



To ensure the smooth transition from historical data

LaTeX Math Inline
body[(t_1,q_1)... (t_N, q_N)]
 to the production forecasts in future time moments
LaTeX Math Inline
body--uriencoded--[(t_%7BN+1%7D,q_%7BN+1%7D), ...]
one may wish to constrain the model by firm matching the production at the last historical moment
LaTeX Math Inline
body(t_N, q_N)
 which leads to the following form of Arp's model:

Exponential Production DeclineHyperbolic Production DeclineHarmonic Production Decline

LaTeX Math Inline
bodyb=0

LaTeX Math Inline
body0<b<1

LaTeX Math Inline
bodyb=1

LaTeX Math Block
anchor1
alignmentleft
q(t)=q_N \cdot \exp \big[ -(t-t_N)/\tau_0 \big]
LaTeX Math Block
anchor003NF
alignmentleft
q(t) = q_N \cdot \left[ \frac{1+b \cdot t_N/\tau_0 }
{ 1+b \cdot t/\tau_0  } \right]^{1/b}
LaTeX Math Block
anchor1
alignmentleft
q(t) =  q_N \cdot  \left[ \frac{1+t_N/\tau_0 }
{ 1+  t/\tau_0  } \right]
LaTeX Math Block
anchor1
alignmentleft
Q(t) - Q_N = [ q_N - q(t)] \, \tau_0
LaTeX Math Block
anchor1
alignmentleft
Q(t) - Q_N = \frac{q_N^b \, (\tau_0 + b \, t_N)}{1-b} \left[ q_N^{1-b} - q^{1-b}(t) \right]
LaTeX Math Block
anchor1
alignmentleft
Q(t) - Q_N = q_N \, (\tau_0 + t_N) \cdot \ln \frac{q_N}{q(t)}


The best-fit model may not match: 

  • the initial production rate 
    LaTeX Math Inline
    body--uriencoded--q%5e*(t=0) \neq q_0


See Also


Petroleum Industry / Upstream /  Production / Subsurface Production / Field Study & Modelling / Production Analysis / Decline Curve Analysis / DCA Arps @model