Engineering lesson
Fit permeability from core flood pressure and rate data
The site's permeability calibration fits log10(k) against porosity from supplied core pairs. It does not directly regress a core-flood pressure–rate curve; convert such measurements to permeability first using their documented geometry and fluid properties.
By PetroCalcHub Team · Updated October 24, 2026 · Free to read and use
Correctly identify the supported fitting task
For a single-phase core flood, Darcy's law gives k from rate, pressure drop, viscosity, core length and area on a consistent unit basis. Multiple rate points can test linearity and end effects.
The linked calibration workflow accepts porosity–permeability pairs, not those raw pressure and rate measurements. The lesson separates the preliminary Darcy reduction from the subsequent rock-property regression.
Inspect a logarithmic regression
The default synthetic pairs span several decades of permeability. Fitting logarithms makes residuals describe multiplicative rather than equal absolute permeability differences.
A prediction at 20% porosity is meaningful only within the selected data population and measurement conditions. Preserve stress, flow direction, fluid and facies metadata outside the numerical pair table.
Use independent checks
Retain more measurements than the two coefficients need, inspect residual structure and test held-out samples. A high fit score can still conceal a mixed geological population.
The worked case is synthetic and exactly log-linear. It verifies the calculation path without claiming an empirical relationship for a real formation.
Explore the example
Original recorded synthetic cases solved with the site's permeability-calibration engine. The full inputs, outputs and diagnostic rows are in the downloadable JSON. These are discrete solved states; the lesson does not interpolate a new solve.
Select one of 5 recorded scenarios. Intermediate states are not interpolated.
Porosity for local prediction (%) = 20. Predicted local permeability (mD): 100; Log10 intercept (k in mD) (dimensionless): -2.
- Predicted local permeability (mD)
Worked example
Local Porosity-Permeability Calibration Calculator
Fixed controls: .
Relation and unit basis
yi = log10(ki in mD); fitted yi = a+b*porosity_percent; minimize sum(log residual^2); predicted k = 10^(a+b*porosity_percent) mD; log RMSE = sqrt(S/N).; R_squared = 1-S/sum((yi-mean_y)^2); multiplicative RMSE factor = 10^log_RMSE.
Porosity for local prediction is varied within the supported input range. This is a locally calibrated empirical log-linear transform, not a universal porosity-to-permeability equation, Kozeny-Carman pore-geometry model, NMR transform or effective-permeability upscaling method. Porosity alone does not identify pore connectivity, grain size, diagenesis, fracture contribution or directional permeability.
1. Define the baseline
Porosity for local prediction (%) = 20
Fixed controls: .
2. Select the relation
yi = log10(ki in mD); fitted yi = a+b*porosity_percent; minimize sum(log residual^2); predicted k = 10^(a+b*porosity_percent) mD; log RMSE = sqrt(S/N).; R_squared = 1-S/sum((yi-mean_y)^2); multiplicative RMSE factor = 10^log_RMSE.
Porosity for local prediction is varied within the supported input range. This is a locally calibrated empirical log-linear transform, not a universal porosity-to-permeability equation, Kozeny-Carman pore-geometry model, NMR transform or effective-permeability upscaling method. Porosity alone does not identify pore connectivity, grain size, diagenesis, fracture contribution or directional permeability.
3. Substitute the values
phi = 20 %; with the fixed controls above, the workflow evaluates Predicted local permeability = 100 mD; Log10 intercept (k in mD) = -2 dimensionless
Retain intermediate precision. The displayed values are rounded only after evaluation.
4. Read the result
Predicted local permeability (mD) = 100; Log10 intercept (k in mD) (dimensionless) = -2
Only measured positive permeabilities from 1e-9 to 1e6 mD and porosities from 0.01 to 60 percent are accepted. Zero values, below-detection-limit/censored data and missing fields are rejected, not replaced with tiny invented numbers. No outlier removal, weighting, uncertainty interval or facies classification is performed. Exponentiating the fitted log trend does not estimate arithmetic mean permeability without an additional statistical correction and assumptions. No such correction is silently applied. High training R-squared is not out-of-sample validation; reserve independent core data before applying the relationship to logs or reservoir simulation.
Result and interpretation
Predicted local permeability (mD) = 100; Log10 intercept (k in mD) (dimensionless) = -2
Only measured positive permeabilities from 1e-9 to 1e6 mD and porosities from 0.01 to 60 percent are accepted. Zero values, below-detection-limit/censored data and missing fields are rejected, not replaced with tiny invented numbers. No outlier removal, weighting, uncertainty interval or facies classification is performed. Exponentiating the fitted log trend does not estimate arithmetic mean permeability without an additional statistical correction and assumptions. No such correction is silently applied. High training R-squared is not out-of-sample validation; reserve independent core data before applying the relationship to logs or reservoir simulation.
Change the evaluation porosity after fitting the same synthetic pairs. This is interpolation of a fitted trend, not a new core-flood solve.
Exact scenario data
Original recorded synthetic cases solved with the site's permeability-calibration engine. The full inputs, outputs and diagnostic rows are in the downloadable JSON. These are discrete solved states; the lesson does not interpolate a new solve.
| Porosity for local prediction (%) | Predicted local permeability (mD) | Log10 intercept (k in mD) (dimensionless) |
|---|---|---|
| 10 | 1 | -2 |
| 15 | 10 | -2 |
| 20 | 100 | -2 |
| 25 | 1,000 | -2 |
| 30 | 10,000 | -2 |
Scroll the table to see all columns. The highlighted row is the worked baseline. Downloads retain full numerical precision.
Test your understanding
Work through the question before revealing its answer. Use the stated assumptions and include units in every numerical step.
1. Can raw differential-pressure values be pasted into the permeability column?
Show the worked answer
No. They must first be reduced to permeability with the core geometry, viscosity and flow rate, and converted to the required unit.
2. Reproduce the baseline Predicted local permeability (mD) without rounding intermediate values.
Show the worked answer
phi = 20 %; with the fixed controls above, the workflow evaluates Predicted local permeability = 100 mD; Log10 intercept (k in mD) = -2 dimensionless. Predicted local permeability (mD) = 100. Only measured positive permeabilities from 1e-9 to 1e6 mD and porosities from 0.01 to 60 percent are accepted. Zero values, below-detection-limit/censored data and missing fields are rejected, not replaced with tiny invented numbers. No outlier removal, weighting, uncertainty interval or facies classification is performed. Exponentiating the fitted log trend does not estimate arithmetic mean permeability without an additional statistical correction and assumptions. No such correction is silently applied. High training R-squared is not out-of-sample validation; reserve independent core data before applying the relationship to logs or reservoir simulation.
3. Compare the first and last recorded scenarios. Which input changes?
Show the worked answer
Porosity for local prediction (%) changes from 10 to 30. Other controls remain as stated in the premise. Predicted local permeability (mD) changes from 1 to 10000.
4. What would be needed to apply this example to a different physical system?
Show the worked answer
Replace the synthetic controls with compatible documented inputs and check the relation's assumptions. Porosity for local prediction is varied within the supported input range. This is a locally calibrated empirical log-linear transform, not a universal porosity-to-permeability equation, Kozeny-Carman pore-geometry model, NMR transform or effective-permeability upscaling method. Porosity alone does not identify pore connectivity, grain size, diagenesis, fracture contribution or directional permeability. Only measured positive permeabilities from 1e-9 to 1e6 mD and porosities from 0.01 to 60 percent are accepted. Zero values, below-detection-limit/censored data and missing fields are rejected, not replaced with tiny invented numbers. No outlier removal, weighting, uncertainty interval or facies classification is performed. Exponentiating the fitted log trend does not estimate arithmetic mean permeability without an additional statistical correction and assumptions. No such correction is silently applied. High training R-squared is not out-of-sample validation; reserve independent core data before applying the relationship to logs or reservoir simulation.
Before using the result
- Reduce core-flood measurements before regression.
- Use permeability units in the k column.
- Keep measurement and facies metadata.
Only measured positive permeabilities from 1e-9 to 1e6 mD and porosities from 0.01 to 60 percent are accepted. Zero values, below-detection-limit/censored data and missing fields are rejected, not replaced with tiny invented numbers. No outlier removal, weighting, uncertainty interval or facies classification is performed. Exponentiating the fitted log trend does not estimate arithmetic mean permeability without an additional statistical correction and assumptions. No such correction is silently applied. High training R-squared is not out-of-sample validation; reserve independent core data before applying the relationship to logs or reservoir simulation.
Continue learning
Start with the broader workflow guide · Related method guide
Sources and method
The explanation and synthetic examples are original PetroCalcHub teaching material. The references below support the definitions and model context. They do not supply field validation for the synthetic scenarios.