mbal_perform_param_oil: A list object of class 'mbal_oil' for material balance...

Description Usage Arguments Value Examples

View source: R/mbal_oil_model.R

Description

Create an object of class 'mbal_oil'

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
mbal_perform_param_oil(
  input_unit = "Field",
  output_unit = "Field",
  aquifer_model = NULL,
  N = NULL,
  m = NULL,
  phi = NULL,
  swi = NULL,
  Np = NULL,
  Rp = NULL,
  Wp = NULL,
  Gi = NULL,
  Wi = NULL,
  We = NULL,
  pb = NULL,
  p = NULL,
  pvt = NULL,
  cf = NULL,
  phi_a = NULL,
  perm_h_a = NULL,
  perm_v_a = NULL,
  h_a = NULL,
  r_a = NULL,
  r_R = NULL,
  w_a = NULL,
  l_a = NULL,
  tetha = NULL,
  muw_a = NULL,
  cw_a = NULL,
  cf_a = NULL,
  wf = NULL,
  sorg = NULL,
  sorw = NULL
)

Arguments

input_unit

a unit system for parameters, only the character string 'Field' is accepted

output_unit

a unit system for properties, only the character string 'Field' is accepted

aquifer_model

defaulted to NULL, otherwise must be a character string, one of the following eight options: 'uss_rad_edge', 'uss_rad_bottom', 'uss_lin_edge', 'uss_lin_bottom', 'pss_rad_edge', 'pss_lin_edge', 'pss_lin_bottom', 'pot'. For further information about each model, please see 'Raquifer' package reference manual (https://cran.r-project.org/web/packages/Raquifer/index.html)

N

original oil in place, STB

m

ratio of original gas cap volume to original oil leg volume, a numeric fraction

phi

reservoir porosity, a numeric fraction

swi

initial water saturation in the reservoir, a numeric fraction

Np

cumulative oil production, STB

Rp

ratio of cumulative produced gas to cumulative produced oil

Wp

cumulative water production, STB

Gi

cumulative gas injection, SCF

Wi

cumulative water injection, STB

We

cumulative aquifer water influx, BBL

pb

bubble point pressure, a numeric value, psi

p

reservoir pressure, a numeric vector, psi

pvt

a data frame of PVT properties including pressure 'p' in 'psi', oil formation volume factor 'Bo' in 'bbl/stb', solution gas-oil ratio 'Rs' in 'scf/stb', oil viscosity 'muo' in 'cp', volatilized oil-gas ratio 'Rv' in 'stb/scf', gas formation volume factor 'Bg' in 'bbl/scf', gas viscosity 'mug' in 'cp', water formation volume factor 'Bw' in 'bbl/stb', and water viscosity 'muw' in 'cp'

cf

formation compressibility, a numeric value or vector, 1/psi

phi_a

aquifer porosity, a numeric fraction

perm_h_a

aquifer horizontal permeability, md. Used in 'uss_rad_edge', 'uss_rad_bottom', 'uss_lin_edge', 'pss_rad_edge', 'pss_lin_edge' and 'pot' aquifer models

perm_v_a

vertical permeability, md. Used in 'uss_rad_bottom', 'uss_lin_bottom', 'pss_rad_bottom', and 'pss_lin_bottom' aquifer models

h_a

aquifer height, ft

r_a

aquifer radius, ft. Used in 'uss_rad_edge', 'uss_rad_bottom', 'pss_rad_edge', and 'pot' aquifer models

r_R

reservoir radius, ft. Used in 'uss_rad_edge', 'uss_rad_bottom', 'pss_rad_edge', and 'pot' aquifer models

w_a

aquifer width, ft. Used in 'uss_lin_edge', 'uss_lin_bottom', 'pss_lin_edge', and 'pss_lin_bottom' aquifer models

l_a

aquifer length, ft. Used in 'uss_lin_edge', 'uss_lin_bottom', 'pss_lin_edge', and 'pss_lin_bottom' aquifer models

tetha

fraction of reservoir encircled by the aquifer, degrees. Used in 'uss_rad_edge', 'pss_rad_edge', and 'pot' aquifer models

muw_a

aquifer water viscosity, cp

cw_a

aquifer water compressibility, a numeric value, 1/psi

cf_a

aquifer formation compressibility, a numeric value, 1/psi

wf

weight factor, a numeric vector of zeros and ones. A zero value excludes the entire row of reservoir history data at a particular time from the material balance analysis

sorg

residual oil saturation in gas invaded zone (gas cap expansion or gas injection), a numeric fraction

sorw

residual oil saturation in water invaded zone (aquifer encroachment or water injection), a numeric fraction

Value

a list of class ’mbal_oil’ with all the required parameters for the mbal_perform_oil() S3 methods

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
p_pvt <- c(3330, 3150, 3000, 2850, 2700, 2550, 2400)

Bo <- c(1.2511, 1.2353, 1.2222, 1.2122, 1.2022, 1.1922, 1.1822)

Rs <- c(510, 477, 450, 425, 401, 375, 352)

Bg <- c(0.00087, 0.00092, 0.00096, 0.00101, 0.00107, 0.00113, 0.00120)

cw <- 2e-6

Bwi <- 1.0

Bw <- Bwi * exp(cw * (p_pvt[1] - p_pvt))

Rv <- rep(0, length(p_pvt))

muo <- rep(0.5, length(p_pvt))

muw <- rep(0.25, length(p_pvt))

mug <- rep(0.02, length(p_pvt))

pvt_table <- data.frame(p = p_pvt, Bo = Bo, Rs = Rs, Rv = Rv, Bg = Bg,
                       Bw = Bw, muo = muo, mug = mug, muw = muw)

p <- c(3330, 3150, 3000, 2850, 2700, 2550, 2400)

We <- rep(0, length.out = length(p))

Np <- c(0, 3.295, 5.903, 8.852, 11.503, 14.513, 17.730) * 1e6

Rp <- c(0, 1050, 1060, 1160, 1235, 1265, 1300)

Wp <- rep(0, length.out = length(p))

Wi <- rep(0, length.out = length(p))

Gi <- rep(0, length.out = length(p))

wf <- c(1, 1, 1, 0, 1, 0, 1)

mbal_param_oil_lst <- mbal_perform_param_oil(input_unit = "Field", output_unit = "Field",
aquifer_model = NULL, N = 1.37e8, m = 0.377, phi = 0.2, swi = 0.2, Np = Np,
Rp = Rp, Wp = Wp, Gi = Gi, Wi = Wi, We = We, pb = 3330, p = p, pvt = pvt_table,
cf = 0, wf = wf, sorg = 0.2, sorw = 0)

dplyr::glimpse(mbal_param_oil_lst)

Rmbal documentation built on July 8, 2020, 7:16 p.m.