...
- a function
LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t, %7B\bf p%7D) |
---|
|
of real-value argument and set of model parameters LaTeX Math Inline |
---|
body | --uriencoded--%7B\bf p%7D = \%7B pq%5e*_m\%7D_%7Bm = 1..M%7D = \%7Bp_1, p_2, ... p_M0, \, \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, aq_0), (t_1, q_1), ..., (t_N, q_N) \%7D |
---|
|
...
LaTeX Math Block |
---|
|
FG({\bf p}) = \sum_{k=1}^N \, \Psi \left( q^*(t_k) - q_k \right) \rightarrow \textrm{min} |
...
There are few approaches to match the Arps decline to the historical data (or a training dataset within):
- Unconstrained matching
- Constrained matching:
The constrained matching is used to one may wish to ensure the smooth transition from the training dataset to future model predictions.
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.
qD_0\, | LaTeX Math Block |
---|
| q(t) = \frac{ |
|
qD \cdot t | LaTeX Math Block |
---|
| q(t)=\frac{ |
|
qD \, t LaTeX Math Block |
---|
| Q(t)=\frac{q_0-q(t)}{D_0} |
| LaTeX Math Block |
---|
| Q(t)=\frac{q_0}{D_0 \, (1-b)} \, \left[ 1- \left( \frac{q(t)}{q_0} \right)^{1-b} \right]
|
| LaTeX Math Block |
---|
| Q(t)=\frac{q_0}{D_0} \, \ln \left[ \frac{q_0}{q(t)} \right] = \frac{q_0}{D_0} \ln q_0 + \frac{q_0}{D_0} \cdot \ln 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 |
---|
|
- the current cumulative production
LaTeX Math Inline |
---|
body | --uriencoded--Q%5e*(t=t_N) \neq Q_N |
---|
|
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.
D \, t | LaTeX Math Block |
---|
| q(t) = \frac{q_0}{ \left( 1+b \cdot |
|
D \cdot t | LaTeX Math Block |
---|
| q(t)=\frac{q_0}{1+ |
|
D \, t LaTeX Math Block |
---|
| Q(t)=\frac{q_0-q(t)}{D_0} |
| LaTeX Math Block |
---|
| Q(t)=\frac{q_0}{D_0 \, (1-b)} \, \left[ 1- \left( \frac{q(t)}{q_0} \right)^{1-b} \right]
|
| LaTeX Math Block |
---|
|
Q(t)=\frac{q_0}{D_0} \, \ln \left[ \frac{q_0}{q(t)} \right] = \frac{q_0}{D_0} \ln q_0 + \frac{q_0}{D_0} \cdot \ln q(t)
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 |
---|
|
Match the value of the current rate LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=t_N) = q_N |
---|
|
...
To ensure the smooth transition from historical data The value of the model rate at the current time moment is set to training dataset: [(t_1,q_1)... (--uriencoded--q%5e*(t=t_N |
|
, )] to the production forecasts in future time moments and the two other model properties [(t_%7BN+1%7D,q_%7BN+1%7D), ...] are being varied to achieve the best fit to the training dataset. one may wish to constrain the model by firm matching the production at the last historical moment
which leads to the following form of Arp's model:
D_0 \cdot | LaTeX Math Block |
---|
| q(t) = q_N \cdot \left[ \frac{1+b \cdot |
|
D0 \cdot t_ND\cdot t | LaTeX Math Block |
---|
| q(t) = q_N \cdot \left[ \frac{1+ |
|
D0 \cdot t_ND\cdot t LaTeX Math Block |
---|
| Q(t) - Q_N = [ q_N - q(t)] \, \tau_0 |
| LaTeX Math Block |
---|
| 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 |
---|
|
Q(t) - Q_N = q_N \, (\tau_0 + t_N) \cdot \ln \frac{q_N}{q(t)}
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 |
---|
|
...
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 The value of the model rate at the initial time moment [_%7BN+1%7D,q_%7BN+1%7D), ...] is set to achieve the match between the values of current cumulative from model prediction and training dataset one may wish to constrain the model by firm matching the production at the last historical moment LaTeX Math Inline |
---|
body | --uriencoded--Q%5e*(t=t_N |
---|
|
, q) which leads to the following form of Arp's model:q \cdot \exp \big[ -D_0/\tau_0}{1-\exp(-t_N/\tau_0)} \cdot \exp( |
|
tN\big] q_N \cdot \frac{(1-b) \cdot Q_N/\tau_0}{ 1 - \left |
|
[\frac{cdot Dcdot t_N }
{ 1+b \cdot D_0 \cdot t } \right]right) ^{-b/(1-b)}} \cdot \frac{1}{\left(1 + b\, t/\tau_0 \right)^{1/b}} |
| |
= q_N \cdot \left[ \frac{1+D_0 \cdot t_N=\frac{Q_N/\tau_0}{\ln (1+ t_N/\tau_0)} \cdot \frac{1}{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 |
---|
|
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 |
---|
|
...
The value of the model rate at the current time moment and decline pace are set to match both current rate LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=t_N) = q_N |
---|
|
and current cumulative LaTeX Math Inline |
---|
body | --uriencoded--Q%5e*(t=t_N) = Q_N |
---|
|
.
This makes Exponential Production Decline and Harmonic Production Decline are fully set while Hyperbolic Production Decline has opportunity to vary one model parameter LaTeX Math Inline |
---|
body | --uriencoded--\%7B b \%7D |
---|
|
to achieve the best fit to the training dataset.
}
{ 1+ D_0 \cdot t } \right]Q- = [ q_N - q(t)] \, /\tau_0}{1-\exp(-t_N/\tau_0)} \cdot \exp(-t/\tau_0) |
| |
1Q - Q_Nq_N^b, (cdot Q_N/\tau_0}{ 1 - \left( 1 + b \, t_N |
|
)}{/\tau_0 \right) ^{-b/(1-b)}} \ |
|
left[ q_N^-b-q^{1-b}(t) \right]b\, t/\tau_0 \right)^{1/b}} |
| |
Q - = q_N \, (/\tau_0}{\ln (1+ t_N/\tau_0)} \cdot |
|
\ln{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
...