Engineering lesson
Sonic porosity and matrix transit time assumptions
Sonic porosity depends on the selected transit-time model and matrix and fluid assumptions. A matrix transit time is a lithology-related model input, not a universal rock constant.
By PetroCalcHub Team · Updated October 24, 2026 · Free to read and use
Identify the equation before interpreting porosity
Time-average and Raymer–Hunt–Gardner relations are different models. The linked calculator implements its stated Raymer–Hunt–Gardner variant; its coefficients should not be mixed with a Wyllie substitution.
The numerical case uses that calculator's documented inputs and varies matrix transit time while retaining the measured log response.
Lithology and fluid affect the reference
A sandstone, limestone or dolomite matrix can have different sonic reference behavior. Compaction, gas, secondary porosity and anisotropy can also affect transit time.
Changing the matrix value until sonic porosity matches another log is a calibration choice, not independent confirmation of lithology.
Audit the measurement units
Microseconds per foot and microseconds per metre differ by a length conversion. A slowness is time per distance, the reciprocal of velocity.
Keep the original log unit and any environmental correction with the result. A physically bounded porosity still needs geological and measurement consistency.
Explore the example
Replayed with the same equation record and calculation engine as /calculators/sonic-porosity-raymer-hunt-gardner-method. Original synthetic inputs; engine outputs are saved in the downloadable record.
Select one of 5 recorded scenarios. Intermediate states are not interpolated.
Matrix Transit Time (us/ft) = 55. Phi_sonic (fraction): 0.209375.
- Phi_sonic (fraction)
Worked example
Sonic Porosity Raymer-Hunt-Gardner Method
Fixed controls: Delta_t = 80 us/ft; C_RHG = 0.67 dimensionless. Delta_t_ma is varied as shown.
Relation and unit basis
Phi_sonic = C_RHG * (Delta_t - Delta_t_ma) / Delta_t
Delta_t: Sonic Log Transit Time Reading (us/ft). Delta_t_ma: Matrix Transit Time (us/ft). C_RHG: Raymer-Hunt-Gardner Empirical Constant (dimensionless).
1. Define the baseline
Matrix Transit Time (us/ft) = 55
Fixed controls: Delta_t = 80 us/ft; C_RHG = 0.67 dimensionless. Delta_t_ma is varied as shown.
2. Select the relation
Phi_sonic = C_RHG * (Delta_t - Delta_t_ma) / Delta_t
Delta_t: Sonic Log Transit Time Reading (us/ft). Delta_t_ma: Matrix Transit Time (us/ft). C_RHG: Raymer-Hunt-Gardner Empirical Constant (dimensionless).
3. Substitute the values
Delta_t = 80; Delta_t_ma = 55; C_RHG = 0.67 → Phi_sonic = 0.209375 fraction
Retain intermediate precision. The displayed values are rounded only after evaluation.
4. Read the result
Phi_sonic (fraction) = 0.209375
Matrix transit-time sensitivity uses the documented Raymer–Hunt–Gardner variant. It does not identify lithology.
Result and interpretation
Phi_sonic (fraction) = 0.209375
Matrix transit-time sensitivity uses the documented Raymer–Hunt–Gardner variant. It does not identify lithology.
Only the selected matrix transit-time input changes. The measured sonic response stays fixed.
Exact scenario data
Replayed with the same equation record and calculation engine as /calculators/sonic-porosity-raymer-hunt-gardner-method. Original synthetic inputs; engine outputs are saved in the downloadable record.
| Matrix Transit Time (us/ft) | Phi_sonic (fraction) |
|---|---|
| 45 | 0.293125 |
| 50 | 0.25125 |
| 55 | 0.209375 |
| 60 | 0.1675 |
| 65 | 0.125625 |
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 a matrix value in μs/ft be entered unchanged into a μs/m field?
Show the worked answer
No. Slowness must be converted with its distance denominator before calculation.
2. Reproduce the baseline Phi_sonic (fraction) without rounding intermediate values.
Show the worked answer
Delta_t = 80; Delta_t_ma = 55; C_RHG = 0.67 → Phi_sonic = 0.209375 fraction. Phi_sonic (fraction) = 0.209375. Matrix transit-time sensitivity uses the documented Raymer–Hunt–Gardner variant. It does not identify lithology.
3. Compare the first and last recorded scenarios. Which input changes?
Show the worked answer
Matrix Transit Time (us/ft) changes from 45 to 65. Other controls remain as stated in the premise. Phi_sonic (fraction) changes from 0.293125 to 0.125625.
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. Delta_t: Sonic Log Transit Time Reading (us/ft). Delta_t_ma: Matrix Transit Time (us/ft). C_RHG: Raymer-Hunt-Gardner Empirical Constant (dimensionless). Matrix transit-time sensitivity uses the documented Raymer–Hunt–Gardner variant. It does not identify lithology.
Before using the result
- Identify the implemented sonic model.
- Match matrix and fluid assumptions.
- Convert slowness units explicitly.
Matrix transit-time sensitivity uses the documented Raymer–Hunt–Gardner variant. It does not identify lithology.
Continue learning
Start with the broader workflow 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.