| Type: | Package | 
| Title: | Estimate the Water Influx into Hydrocarbon Reservoirs | 
| Version: | 0.1.0 | 
| Date: | 2020-05-10 | 
| Description: | Generate a table of cumulative water influx into hydrocarbon reservoirs over time using un-steady and pseudo-steady state models. Van Everdingen, A. F. and Hurst, W. (1949) <doi:10.2118/949305-G>. Fetkovich, M. J. (1971) <doi:10.2118/2603-PA>. Yildiz, T. and Khosravi, A. (2007) <doi:10.2118/103283-PA>. | 
| License: | GPL-3 | 
| URL: | https://susaenergy.github.io/Raquifer_ws/ | 
| Imports: | Rdpack, magrittr, dplyr, pracma, gsl | 
| RdMacros: | Rdpack | 
| Suggests: | knitr, rmarkdown, testthat, ggplot2 | 
| Language: | en-US | 
| Encoding: | UTF-8 | 
| LazyData: | TRUE | 
| VignetteBuilder: | knitr | 
| RoxygenNote: | 7.1.0 | 
| NeedsCompilation: | no | 
| Packaged: | 2020-05-13 04:29:48 UTC; ftn60 | 
| Author: | Farshad Tabasinejad [aut, cre] | 
| Maintainer: | Farshad Tabasinejad <farshad.tabasinejad@susaenergy.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2020-05-18 15:30:06 UTC | 
Raquifer: Estimate the Water Influx into Hydrocarbon Reservoirs
Description
Generate a table of cumulative water influx into hydrocarbon reservoirs over time using un-steady and pseudo-steady state models. Van Everdingen, A. F. and Hurst, W. (1949) <doi:10.2118/949305-G>. Fetkovich, M. J. (1971) <doi:10.2118/2603-PA>. Yildiz, T. and Khosravi, A. (2007) <doi:10.2118/103283-PA>.
Generate a table of cumulative water influx into hydrocarbon reservoirs over time using un-steady and pseudo-steady state models. Van Everdingen, A. F. and Hurst, W. (1949) <doi:10.2118/949305-G>. Fetkovich, M. J. (1971) <doi:10.2118/2603-PA>. Yildiz, T. and Khosravi, A. (2007) <doi:10.2118/103283-PA>.
Author(s)
Maintainer: Farshad Tabasinejad farshad.tabasinejad@susaenergy.com
Maintainer: Farshad Tabasinejad farshad.tabasinejad@susaenergy.com
See Also
Useful links:
Useful links:
A list object for aquifer prameters
Description
Create an object of class 'aquifer'
Usage
aquifer_param(
  input_unit = NULL,
  output_unit = NULL,
  model = NULL,
  flow_type = NULL,
  water_drive = NULL,
  phi = NULL,
  perm_h = NULL,
  perm_v = NULL,
  h_a = NULL,
  r_a = NULL,
  r_R = NULL,
  w_a = NULL,
  l_a = NULL,
  tetha = NULL,
  mu_water = NULL,
  c_water = NULL,
  c_rock = NULL,
  pressure = NULL
)
Arguments
| input_unit | a unit system for parameters, a character string either 'SI' or 'Field' | 
| output_unit | a unit system for properties, a character string either 'SI' or 'Field' | 
| model | state of flow in the aquifer, a character string either 'uss' for the un-steady state flow or 'pss' for the pseudo-steady state flow | 
| flow_type | a character string either 'radial' or 'linear' | 
| water_drive | a character string either 'edge' or 'bottom' | 
| phi | aquifer porosity, a numeric fraction | 
| perm_h | aquifer horizontal permeability in 'md' in both 'SI' and 'Field' input unit systems. A NULL value must be used for the combination of 'uss', 'linear', and 'bottom' flow | 
| perm_v | aquifer vertical permeability in 'md' in both 'SI' and 'Field' input unit systems. A NULL value must be used for the combination of 'uss', 'linear', 'edge' flow. A NULL value must be used for the combination of 'uss', 'radial', 'edge' flow. A NULL value must be used for the combination of 'pss', 'radial', 'edge' flow. | 
| h_a | aquifer height in 'm' or 'ft' in 'SI' and 'Field' input unit systems, respectively. | 
| r_a | aquifer radius in 'm' or 'ft' in 'SI' and 'Field' input unit systems, respectively. A NULL value must be used for the combination of 'uss', 'linear', 'edge' flow. A NULL value must be used for the combination of 'uss', 'linear', 'bottom' flow. | 
| r_R | reservoir radius in 'm' or 'ft' in 'SI' and 'Field' input unit systems, respectively. A NULL value must be used for the combination of 'uss', 'linear', 'edge' flow. A NULL value must be used for the combination of 'uss', 'linear', 'bottom' flow. | 
| w_a | aquifer width in 'm' or 'ft' in 'SI' and 'Field' input unit systems, respectively. A NULL value must be used for the combination of 'uss', 'radial', 'edge' flow. A NULL value must be used for the combination of 'uss', 'radial', 'bottom' flow. A NULL value must be used for the combination of 'pss', 'radial', 'edge' flow. | 
| l_a | aquifer length in 'm' or 'ft' in 'SI' and 'Field' input unit systems, respectively. A NULL value must be used for the combination of 'uss', 'radial', 'edge' flow. A NULL value must be used for the combination of 'uss', 'radial', 'bottom' flow. A NULL value must be used for the combination of 'pss', 'radial', 'edge' flow. | 
| tetha | fraction of reservoir encircled by the aquifer, reported in "degrees" in both 'SI' and 'Field' input unit systems. A NULL value must be used for the combination of 'uss', 'radial', 'bottom' flow. A NULL value must be used for the combination of 'uss', 'linear', 'edge' flow. A NULL value must be used for the combination of 'uss', 'linear', 'bottom' flow. | 
| mu_water | water viscosity in 'mPa.s' or 'cp' in 'SI' and 'Field' input unit systems, respectively | 
| c_water | water compressibility in '1/kPa' or '1/psi' in 'SI' and 'Field' input unit systems, respectively | 
| c_rock | rock compressibility in '1/kPa' or '1/psi' in 'SI' and 'Field' input unit systems, respectively | 
| pressure | a numeric vector of pressure data at the boundary of reservoir/aquifer. Must have the same length as the 'aquifer_time()' object | 
Value
a list of class 'aquifer' with all the required parameters for the aquifer_predict() S3 methods
Examples
aquifer_param_01 <- aquifer_param(input_unit = "Field", output_unit = "Field",
model = "uss", flow_type = "radial", water_drive = "edge", phi = 0.2, perm_h = 100,
h_a = 47, r_a = 2e4, r_R = 2e3, tetha = 360, mu_water = 0.34, c_water = 4e-6,
c_rock = 3e-6, pressure = c(3456, 3425, 3387, 3350, 3312))
aquifer_param_01
aquifer_param_02 <- aquifer_param(input_unit = "SI", output_unit = "SI",
model = "uss", flow_type = "radial", water_drive = "bottom", phi = 0.2, perm_h = 100,
perm_v = 25, h_a = 25, r_a = 6000, r_R = 600, mu_water = 0.34, c_water = 6e-7,
c_rock = 4.5e-7, pressure = c(3456, 3425, 3387, 3350, 3312) * 6.895)
aquifer_param_02
aquifer_param_03 <- aquifer_param(input_unit = "Field", output_unit = "Field",
model = "pss", flow_type = "radial", water_drive = "edge", phi = 0.2, perm_h = 100,
h_a = 47, r_a = 2e4, r_R = 2e3, tetha = 360, mu_water = 0.34, c_water = 4e-6,
c_rock = 3e-6, pressure = c(3456, 3425, 3387, 3350, 3312))
aquifer_param_03
aquifer_param_04 <- aquifer_param(input_unit = "Field", output_unit = "Field",
model = "uss", flow_type = "linear", water_drive = "edge", phi = 0.2, perm_h = 100,
h_a = 47, w_a = 30000, l_a = 10000, mu_water = 0.34, c_water = 4e-6,
c_rock = 3e-6, pressure = c(3456, 3425, 3387, 3350, 3312))
aquifer_param_04
aquifer_param_05 <- aquifer_param(input_unit = "Field", output_unit = "Field",
model = "uss", flow_type = "linear", water_drive = "bottom", phi = 0.2, perm_v = 10,
h_a = 47, w_a = 4000, l_a = 4000, mu_water = 0.34, c_water = 4e-6,
c_rock = 3e-6, pressure = c(3456, 3425, 3387, 3350, 3312))
aquifer_param_05
Generic function for cumulative water influx predictions
Description
Generate a data frame of cumulative water influx estimates according to the class of 'aquifer_lst' and 'time_lst' objects
Usage
aquifer_predict(aquifer_lst, time_lst)
Arguments
| aquifer_lst | a list object of class 'aquifer' | 
| time_lst | a list object of class 'time' | 
Value
a data frame of cumulative water influx estimates according to the class of 'aquifer_lst' and 'time_lst' objects
References
Yildiz T, Khosravi A (2007). “An Analytical Bottomwaterdrive Aquifer Model for Material-Balance Analysis.” SPE Reservoir Evaluation \& Engineering, 10(06), 618–628. ISSN 1094-6470, doi: 10.2118/103283-PA, https://doi.org/10.2118/103283-PA.
Nabor GW, Barham RH (1964). “Linear Aquifer Behavior.” Journal of Petroleum Technology, 16(05), 561–563. ISSN 0149-2136, doi: 10.2118/791-PA, https://doi.org/10.2118/791-PA.
Fetkovich MJ (1971). “A Simplified Approach to Water Influx Calculations-Finite Aquifer Systems.” Journal of Petroleum Technology, 23(07), 814–828. ISSN 0149-2136, doi: 10.2118/2603-PA, https://doi.org/10.2118/2603-PA.
Van Everdingen AF, Hurst W (1949). “The Application of the Laplace Transformation to Flow Problems in Reservoirs.” Journal of Petroleum Technology, 1(12), 305–324. ISSN 0149-2136, doi: 10.2118/949305-G, https://doi.org/10.2118/949305-G.
Examples
aquifer_time_1 <- aquifer_time(c(0:4) * 365, unit = "day")
aquifer_param_01 <- aquifer_param(input_unit = "Field", output_unit = "Field",
model = "uss", flow_type = "radial", water_drive = "edge", phi = 0.2, perm_h = 100,
h_a = 47, r_a = 2e4, r_R = 2e3, tetha = 360, mu_water = 0.34, c_water = 4e-6,
c_rock = 3e-6, pressure = c(3456, 3425, 3387, 3350, 3312))
results_01 <- aquifer_predict(aquifer_param_01, aquifer_time_1)
results_01
S3 method for class 'aquifer_predict'
Description
Return a data frame of estimated cumulative water influx for the Fetkovich pseudo-steady state linear flow model, bottom-water-drive
Usage
## S3 method for class 'fetk_lin_bottom'
aquifer_predict(aquifer_lst, time_lst)
Arguments
| aquifer_lst | a list object of class 'aquifer' | 
| time_lst | a list object of class 'time' | 
Value
a data frame of cumulative water influx estimates using the Fetkovich pseudo-steady state linear flow model, bottom-water-drive
S3 method for class 'aquifer_predict'
Description
Return a data frame of estimated cumulative water influx for the Fetkovich pseudo-steady state linear flow model, edge-water-drive
Usage
## S3 method for class 'fetk_lin_edge'
aquifer_predict(aquifer_lst, time_lst)
Arguments
| aquifer_lst | a list object of class 'aquifer' | 
| time_lst | a list object of class 'time' | 
Value
a data frame of cumulative water influx estimates using the Fetkovich pseudo-steady state linear flow model, edge-water-drive
S3 method for class 'aquifer_predict'
Description
Return a data frame of estimated cumulative water influx for the Fetkovich pseudo-steady state radial flow model, edge-water-drive
Usage
## S3 method for class 'fetk_rad_edge'
aquifer_predict(aquifer_lst, time_lst)
Arguments
| aquifer_lst | a list object of class 'aquifer' | 
| time_lst | a list object of class 'time' | 
Value
a data frame of cumulative water influx estimates using the Fetkovich pseudo-steady state radial flow model, edge-water-drive
S3 method for class 'aquifer_predict'
Description
Return a data frame of estimated cumulative water influx for the Nabor-Barham un-steady state linear flow model, bottom-water-drive
Usage
## S3 method for class 'nb_lin_bottom'
aquifer_predict(aquifer_lst, time_lst)
Arguments
| aquifer_lst | a list object of class 'aquifer' | 
| time_lst | a list object of class 'time' | 
Value
a data frame of cumulative water influx estimates using the Nabor-Barham un-steady state linear flow model, bottom-water-drive
S3 method for class 'aquifer_predict'
Description
Return a data frame of estimated cumulative water influx for the Nabor-Barham un-steady state linear flow model, edge-water-drive
Usage
## S3 method for class 'nb_lin_edge'
aquifer_predict(aquifer_lst, time_lst)
Arguments
| aquifer_lst | a list object of class 'aquifer' | 
| time_lst | a list object of class 'time' | 
Value
a data frame of cumulative water influx estimates using the Nabor-Barham un-steady state linear flow model, edge-water-drive
S3 method for class 'aquifer_predict'
Description
Return a data frame of estimated cumulative water influx for the Van Everdingen-Hurst un-steady state radial flow model, edge-water-drive
Usage
## S3 method for class 'veh_rad_edge'
aquifer_predict(aquifer_lst, time_lst)
Arguments
| aquifer_lst | a list object of class 'aquifer' | 
| time_lst | a list object of class 'time' | 
Value
a data frame of cumulative water influx estimates using the Van Everdingen-Hurst un-steady state radial flow model, edge-water-drive
S3 method for class 'aquifer_predict'
Description
Return a data frame of estimated cumulative water influx for the Yildiz-Khosravi un-steady state radial flow model, bottom-water-drive
Usage
## S3 method for class 'ykh_rad_bottom'
aquifer_predict(aquifer_lst, time_lst)
Arguments
| aquifer_lst | a list object of class 'aquifer' | 
| time_lst | a list object of class 'time' | 
Value
a data frame of cumulative water influx estimates using the Yildiz-Khosravi un-steady state radial flow model, bottom-water-drive
A list object of class 'time' for aquifer models
Description
Create an object of class 'time'
Usage
aquifer_time(x, unit = "day")
Arguments
| x | a vector of times or a daily sequence of dates | 
| unit | time/date unit of vector x | 
Value
a list of class 'time' with all the required parameters for the aquifer_predict() S3 methods
Examples
aquifer_time_1 <- aquifer_time(c(0:4) * 365, unit = "day")
aquifer_time_1
aquifer_time_2 <- aquifer_time(c(0:4), unit = "month")
aquifer_time_2
aquifer_time_3 <- aquifer_time(c(0:4), unit = "year")
aquifer_time_3
aquifer_time_4 <- aquifer_time(seq(as.Date("2020/1/1"), by = "year",
length.out = 5), unit = "date")
aquifer_time_4