| 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)