Arps declines with linear buildup period

Description

Extend Arps decline curve objects by replacing early-time declines with a buildup period in which rate is a linear function of time.

Usage

1
    arps.with.buildup(decl, initial.rate, time.to.peak)

Arguments

decl

an Arps decline object as produced by arps.decline.

initial.rate

initial rate [volume / time] (at time = 0) for buildup period.

time.to.peak

time to peak rate (i.e.~length of buildup period).

Value

arps.with.buildup returns an object having class "arps", which may be used as an argument to methods such as arps.q, arps.Np, arps.D, or print.arps.

This object implements a decline curve which behaves as decl for all time greater than time.to.peak, but implements a linear buildup of rate interpolated between initial.rate at time zero and arps.q(decl, time.to.peak) at time.to.peak.

See Also

arps.decline

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
## 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)
# add buildup from initial rate of 50 bopd, over 30 days
decline.with.buildup <- arps.with.buildup(decline,
    rescale.by.time(50, from="day", to="year", method="rate"),
    rescale.by.time(30, from="day", to="year", method="time"))
# forecast 5 years and compare
forecast.time <- seq(0, 5, 0.1)
plot(arps.q(decline, forecast.time) ~ forecast.time, log="y", type="l",
    lty="dashed", col="red")
lines(arps.q(decline.with.buildup, forecast.time) ~ forecast.time,
    lty="dotted", col="blue")