Heterogeneity Index describes a numerical evaluation of the level of differences or diversity in the spread of geological characteristics within an underground reservoir. This index is used to describe the spatial variety of important reservoir characteristics like porosity, permeability, and lithology.
The Dykstra-Parsons Method involves arranging permeability values in descending order to create a log-normal probability graph. The percentage of samples with permeability higher than each value is computed. In order to prevent 0% or 100% extremes, the percentage calculated is adjusted by adding 1 to ānā, which represents the sample size. This approach gives a thorough distribution of permeability frequencies, providing understanding of the variability within the reservoir.
data = read.csv('C:/Users/hp ZBook/OneDrive/Desktop/karpur.csv')
head(data)
## depth caliper ind.deep ind.med gamma phi.N R.deep R.med SP
## 1 5667.0 8.685 618.005 569.781 98.823 0.410 1.618 1.755 -56.587
## 2 5667.5 8.686 497.547 419.494 90.640 0.307 2.010 2.384 -61.916
## 3 5668.0 8.686 384.935 300.155 78.087 0.203 2.598 3.332 -55.861
## 4 5668.5 8.686 278.324 205.224 66.232 0.119 3.593 4.873 -41.860
## 5 5669.0 8.686 183.743 131.155 59.807 0.069 5.442 7.625 -34.934
## 6 5669.5 8.686 109.512 75.633 57.109 0.048 9.131 13.222 -39.769
## density.corr density phi.core k.core Facies
## 1 -0.033 2.205 0.339000 2442.590 F1
## 2 -0.067 2.040 0.334131 3006.989 F1
## 3 -0.064 1.888 0.331000 3370.000 F1
## 4 -0.053 1.794 0.349000 2270.000 F1
## 5 -0.054 1.758 0.350644 2530.758 F1
## 6 -0.058 1.759 0.353152 2928.314 F1
data = data[order(data$k.core, decreasing=TRUE), ]
K = data$k.core
#Calculating Number of Samples >= k
sample = c(1: length(K))
# Calculating % >= k
k_percent = (sample * 100) / length(K)
# plot best strighat line between sorted
xlab = "Portion of Total Samples Having Larger or Equal K "
ylab = "Permeability (md)"
plot(k_percent, K, log = 'y', xlab = xlab, ylab = ylab, pch = 10, cex = 0.5, col = "#001c49")
log_k = log(K)
model = lm(log_k ~ k_percent)
plot(k_percent,log_k, xlab = xlab, ylab = ylab, pch = 10, cex = 0.5, col = "#001c49")
abline(model, col = 'red', lwd = 2)
new_data = data.frame(k_percent = c(50, 84.1))
predicted_values = predict(model, new_data)
heterogenity_index = (predicted_values[1] - predicted_values[2]) / predicted_values[1]
heterogenity_index
## 1
## 0.2035464