Learn R Programming

Rdca (version 0.1.0)

decline_fit_param: Arps decline_fit object

Description

Create an object of class 'decline_fit'

Usage

decline_fit_param(
  input_unit = "Field",
  output_unit = "Field",
  fluid = "oil",
  model = "exponential",
  fit_data = "rate",
  prod_data,
  initial_param,
  lower = NULL,
  upper = NULL,
  control = 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'

fluid

fluid type, a character string either 'oil' or 'gas'

model

decline model, a character string. 'exponential', 'harmonic', 'hyperbolic', and 'modified_hyperbolic' models are currently available

fit_data

a character string, either 'rate', or 'cum'

prod_data

a numeric vector of rates or cumulative according to 'fit_data'

initial_param

a numeric vector of initial estimates for the Arps decline model

lower

an optional numeric vector of lower bounds for the Arps decline model parameters. See 'minpack.lm' package for details

upper

an optional numeric vector of upper bounds for the Arps decline model parameters. See 'minpack.lm' package for details

control

an optional list of control settings. See 'minpack.lm' package for details

Value

a list of class 'decline_fit' with all the required parameters for the decline_fit() S3 methods

Examples

Run this code
# NOT RUN {
prod_data <- 3000 * exp(-0.00234 * c(1:300))
dcl_fit_param_exp <- decline_fit_param(input_unit = "Field", output_unit = "Field",
fluid = "oil", model = "exponential", fit_data = "rate", prod_data = prod_data,
initial_param = c(1000, 0.1, 0), lower = NULL, upper = NULL, control = NULL)

dcl_fit_param_exp

prod_data <- 4500 / (1 + 0.002 * 0.834 * c(1:400)) ^ (1 / 0.834)
dcl_fit_param_mod_hyp <- decline_fit_param(input_unit = "Field", output_unit = "Field",
fluid = "oil", model = "modified_hyperbolic", fit_data = "rate", prod_data = prod_data,
initial_param = c(10000, 0.1, 0.8, 0.01), lower = NULL,upper = NULL,
control = list(maxiter = 100))

dcl_fit_param_mod_hyp
# }

Run the code above in your browser using DataLab