RelativePermeability

2020-06-21

Rrelperm

Rrelperm generates relative permeability values for two- and/or three-phase mixtures of water and hydrocarbons. It estimates the two-phase relative permeabilities for the water-oil and gas-liquid systems in a tabular format using the modified Brooks-Corey correlation (Brooks & Corey, 1964). It calculates the three-phase relative permeabilities using the modified Stone I, Stone II, and Baker’s linear models (Baker, 1988; Fayers & Matthews, 1984; Stone, 1970).

Relative Permeability Parameters

kr2p_ow() arguments

kr2p_gl() arguments

kr3p_StoneI_So() arguments

kr3p_StoneI_SwSg() arguments

kr3p_StoneII_So() arguments

kr3p_StoneII_SwSg() arguments

kr3p_Baker() arguments

Installation

The Rrelperm can be installed from CRAN with:

Two-phase Relative Permeability Examples

Three-phase Relative Permeability Examples

Example 1:

library(Rrelperm)
library(ggplot2)
library(ggtern)
#> Registered S3 methods overwritten by 'ggtern':
#>   method           from   
#>   grid.draw.ggplot ggplot2
#>   plot.ggplot      ggplot2
#>   print.ggplot     ggplot2
#> --
#> Remember to cite, run citation(package = 'ggtern') for further info.
#> --
#> 
#> Attaching package: 'ggtern'
#> The following objects are masked from 'package:ggplot2':
#> 
#>     aes, annotate, ggplot, ggplotGrob, ggplot_build, ggplot_gtable,
#>     ggsave, layer_data, theme_bw, theme_classic, theme_dark,
#>     theme_gray, theme_light, theme_linedraw, theme_minimal, theme_void
library(magrittr)

rel_perm_owg_st_i_swsg <- kr3p_StoneI_SwSg(SWCON = 0.13, SWCRIT = 0.13, SOIRW = 0.20, 
                                      SORW = 0.2, SOIRG = 0.1, SORG = 0.1, SGCON = 0, 
                                      SGCRIT = 0, KRWIRO = 0.45, KROCW = 1, KRGCL = 0.35, 
                                      NW = 4.25, NOW = 2.5, NG = 3, NOG = 2, 
                                      NP = 501)

rel_perm_owg_st_i_swsg <- as.data.frame(rel_perm_owg_st_i_swsg)
colnames(rel_perm_owg_st_i_swsg) <- c("Sw", "Sg", "So", "Kro")

head(rel_perm_owg_st_i_swsg, 10)
#>    Sw    Sg    So       Kro
#> 1   0 0.000 1.000 1.0000000
#> 2   0 0.002 0.998 0.9952956
#> 3   0 0.004 0.996 0.9906019
#> 4   0 0.006 0.994 0.9859188
#> 5   0 0.008 0.992 0.9812464
#> 6   0 0.010 0.990 0.9765846
#> 7   0 0.012 0.988 0.9719336
#> 8   0 0.014 0.986 0.9672932
#> 9   0 0.016 0.984 0.9626635
#> 10  0 0.018 0.982 0.9580444

rel_perm_owg_st_i_swsg$Kro_range <- cut(rel_perm_owg_st_i_swsg$Kro, breaks = seq(0,1, by = 0.1),
                                   right = TRUE, include.lowest = FALSE)

rel_perm_owg_st_i_swsg_oil <- rel_perm_owg_st_i_swsg[rel_perm_owg_st_i_swsg$Kro > 0, ]

rel_perm_owg_st_i_swsg_oil <- droplevels(rel_perm_owg_st_i_swsg_oil)

p3 <- ggtern(data = rel_perm_owg_st_i_swsg_oil, aes(x = Sw, y = Sg, z = So, value = Kro)) +
  geom_point(aes(value = Kro, fill = Kro_range, color = Kro_range), size = 1, shape = 22) +
  scale_T_continuous(limits = c(0.0,1.0), breaks = seq(0,1,by = 0.05)) +
  scale_L_continuous(limits = c(0.0,1.0), breaks = seq(0,1,by = 0.05)) +
  scale_R_continuous(limits = c(0.0,1.0), breaks = seq(0,1,by = 0.05)) +
  ggtitle("Three-phase Oil Relative Permeability - STONE I, SWSG") +
  theme_classic()
#> Warning: Ignoring unknown aesthetics: value

p3

Example 3:

library(Rrelperm)
library(ggplot2)
library(ggtern)
library(magrittr)

rel_perm_owg_st_ii_swsg <- kr3p_StoneII_SwSg(SWCON = 0.13, SWCRIT = 0.13, SOIRW = 0.20, 
                                      SORW = 0.2, SOIRG = 0.1, SORG = 0.1, SGCON = 0, 
                                      SGCRIT = 0, KRWIRO = 0.45, KROCW = 1, KRGCL = 0.35, 
                                      NW = 4.25, NOW = 2.5, NG = 3, NOG = 2, 
                                      NP = 501)

rel_perm_owg_st_ii_swsg <- as.data.frame(rel_perm_owg_st_ii_swsg)
colnames(rel_perm_owg_st_ii_swsg) <- c("Sw", "Sg", "So", "Kro")

head(rel_perm_owg_st_ii_swsg, 10)
#>    Sw    Sg    So       Kro
#> 1   0 0.000 1.000 1.0000000
#> 2   0 0.002 0.998 0.9948119
#> 3   0 0.004 0.996 0.9896374
#> 4   0 0.006 0.994 0.9844763
#> 5   0 0.008 0.992 0.9793287
#> 6   0 0.010 0.990 0.9741946
#> 7   0 0.012 0.988 0.9690740
#> 8   0 0.014 0.986 0.9639669
#> 9   0 0.016 0.984 0.9588733
#> 10  0 0.018 0.982 0.9537932

rel_perm_owg_st_ii_swsg$Kro_range <- cut(rel_perm_owg_st_ii_swsg$Kro, breaks = seq(0,1, by = 0.1),
                                   right = TRUE, include.lowest = FALSE)

rel_perm_owg_st_ii_swsg_oil <- rel_perm_owg_st_ii_swsg[rel_perm_owg_st_ii_swsg$Kro > 0, ]

rel_perm_owg_st_ii_swsg_oil <- droplevels(rel_perm_owg_st_ii_swsg_oil)

p5 <- ggtern(data = rel_perm_owg_st_ii_swsg_oil, aes(x = Sw, y = Sg, z = So, value = Kro)) +
  geom_point(aes(value = Kro, fill = Kro_range, color = Kro_range), size = 1, shape = 22) +
  scale_T_continuous(limits = c(0.0,1.0), breaks = seq(0,1,by = 0.05)) +
  scale_L_continuous(limits = c(0.0,1.0), breaks = seq(0,1,by = 0.05)) +
  scale_R_continuous(limits = c(0.0,1.0), breaks = seq(0,1,by = 0.05)) +
  ggtitle("Three-phase Oil Relative Permeability - STONE II, SWSG") +
  theme_classic()
#> Warning: Ignoring unknown aesthetics: value

p5

Example 4:

References

Baker, L. E. (1988). Three-Phase Relative Permeability Correlations. https://doi.org/10.2118/17369-MS

Brooks, R. H., & Corey, A. T. (1964). Hydraulic Properties of Porous Media. Hydrology Papers, (3), 27. Retrieved from https://mountainscholar.org/bitstream/handle/10217/61288/HydrologyPapers_n3.pdf

Fayers, F. J., & Matthews, J. D. (1984). Evaluation of Normalized Stone’s Methods for Estimating Three-Phase Relative Permeabilities. Society of Petroleum Engineers Journal, 24(02), 224–232. https://doi.org/10.2118/11277-PA

Stone, H. L. (1970). Probability Model for Estimating Three-Phase Relative Permeability. Journal of Petroleum Technology, 22(02), 214–218. https://doi.org/10.2118/2116-PA