arps: Arps decline classes and S3 methods

Description Usage Arguments Details Value See Also Examples

Description

Create Arps decline curve objects and compute rates, cumulative production, and nominal declines.

Usage

1
2
3
4
5
6
7
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 arps.decline.

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
## 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)

Example output

 [1] 1000.0000  991.8317  983.7301  975.6946  967.7249  959.8202  951.9800
 [8]  944.2040  936.4914  928.8418  921.2547  913.7296  906.2660  898.8633
[15]  891.5211  884.2389  877.0161  869.8524  862.7471  855.6999  848.7103
[22]  841.7778  834.9019  828.0821  821.3181  814.6093
[1] 197890.1

aRpsDCA documentation built on May 2, 2019, 9:42 a.m.