arps {aRpsDCA} | R Documentation |
Arps decline classes and S3 methods
Description
Create Arps decline curve objects and compute rates, cumulative production, and nominal declines.
Usage
arps.decline(qi, Di, b=NA, Df=NA)
## S3 method for class 'arps'
arps.q(decl, t)
## S3 method for class 'arps'
arps.Np(decl, t)
## S3 method for class 'arps'
arps.D(decl, t)
Arguments
qi |
initial rate [volume / time], i.e. q(t = 0). |
Di |
nominal Arps decline exponent [1 / time]. |
b |
Arps hyperbolic exponent. |
Df |
nominal Arps decline exponent [1 / time]. |
t |
time at which to evaluate rate, cumulative, or nominal decline [time]. |
decl |
an Arps decline object as returned by |
Details
Depending on whether arguments b
and Df
are supplied,
arps.decline
will select an exponential, hyperbolic, or
hyperbolic-to-exponential decline and return an object appropriately.
The returned object will have class "exponential"
,
"hyperbolic"
, or "hyp2exp"
in addition to class
"arps"
.
Assumes consistent units of time between qi
, Di
, Df
,
and t
.
To convert, see the decline-rate conversion functions referenced below.
Value
arps.decline
returns an object having class "arps"
, suitable
for use as an argument to S3 methods discussed here.
q.arps
returns the rate for each element of t
applying
decline decl
, in the same units as the value of qi
for
decl
.
Np.arps
returns the cumulative production for each element of t
applying decline decl
, in the same units as the value of
qi * t
for decl
.
D.arps
returns the nominal decline for each element of t
applying decline decl
, in the same units as the value of Di
for decl
.
See Also
print.arps
, exponential
, hyperbolic
,
hyp2exp
, as.effective
, as.nominal
,
rescale.by.time
.
Examples
## exponential decline with
## qi = 1000 Mscf/d, Di = 95% effective / year
## rate for t from 0 to 25 days
decline <- arps.decline(1000,
as.nominal(0.95, from.period="year", to.period="day"))
arps.q(decline, seq(0, 25))
## hyperbolic decline with
## qi = 500 bopd, Di = 3.91 nominal / year, b = 1.5,
## cumulative production at t = 5 years
decline <- arps.decline(
rescale.by.time(500, from="day", to="year", method="rate"),
3.91, 1.5)
arps.Np(decline, 5)