hyperbolic: Arps hyperbolic declines

Description Usage Arguments Details Value See Also Examples

Description

Compute rates, cumulative production values, and instantaneous nominal declines for Arps hyperbolic decline curves.

Usage

1
2
3
hyperbolic.q(qi, Di, b, t)
hyperbolic.Np(qi, Di, b, t)
hyperbolic.D(Di, b, t)

Arguments

qi

initial rate [volume / time], i.e. q(t = 0).

Di

initial nominal Arps decline exponent [1 / time].

b

Arps hyperbolic exponent.

t

time at which to evaluate rate or cumulative [time].

Details

Assumes consistent units of time between qi, D, and t. To convert, see the decline-rate conversion functions referenced below.

When appropriate, internally uses harmonic.q and harmonic.Np to avoid singularities in calculations for b near 1.

Value

hyperbolic.q returns the rate for each element of t, in the same units as qi.

hyperbolic.Np returns the cumulative production for each element of t, in the same units as qi * t.

hyperbolic.D returns the nominal instantaneous decline for each element of t. This can be converted to effective decline and rescaled in time by use of as.effective and rescale.by.time.

See Also

as.effective, as.nominal, rescale.by.time.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## qi = 1000 Mscf/d, Di = 95% effective / year, b = 1.2, t from 0 to 25 days
hyperbolic.q(1000, as.nominal(0.95, from.period="year", to.period="day"),
    1.2, seq(0, 25))

## qi = 500 bopd, Di = 3.91 nominal / year, b = 0.5, t = 5 years
hyperbolic.Np(rescale.by.time(500, from.period="day", to.period="year"),
    3.91, 0.5, 5)

## Di = 85% effective / year, b = 1.5, t = 6 months
hyperbolic.D(as.nominal(0.85), 1.5, 0.5)

Example output

 [1] 1000.0000  991.8714  983.8869  976.0423  968.3341  960.7585  953.3121
 [8]  945.9915  938.7934  931.7148  924.7525  917.9037  911.1654  904.5351
[15]  898.0099  891.5875  885.2652  879.0407  872.9117  866.8759  860.9312
[22]  855.0755  849.3066  843.6227  838.0219  832.5021
[1] 84744.78
[1] 0.783015

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