Skip to content
Brent$117.6Gas TTF$1,192USD453.87 ₸
MunaiHub
Logs and petrophysicsPorosity and lithology Intermediate 21 min read

Porosity from the density log

Density porosity (ϕD\phi_D) is an estimate of porosity (the share of the rock volume taken up by pores) from the bulk density of the rock, which the gamma-gamma density log measures. The density tool sends gamma rays into the rock and counts those that come back. The density of a rock is made up of the densities of the mineral matrix (the solid mineral part) and of the fluid in the pores, each counted in proportion to its volume. If we know both end-point densities, we can find the pore fraction from the measured density. The whole difficulty of the method lies in choosing these two numbers and in allowing for shale (clay) and gas.

Why it matters

The density log is the main source of porosity from well logs. The formula is simple, the physics is clear, and the tool is part of almost every logging suite. But the simplicity is deceptive. An error of 0.05 g/cm³ in the matrix density shifts the result by almost 2.5 porosity units (percentage points of porosity). Residual gas (gas left in the pores) that is ignored shifts it by five porosity units or more. And porosity feeds into both the volume of oil and gas in place and the saturation calculation. What separates a porosity calculation from plugging numbers into a formula is the ability to justify the matrix and fluid densities, correct the result for shale and gas, check it against core and state the uncertainty.

Quick refresher

  • Bulk density is the sum of the component densities, each weighted by its volume fraction. It comes from a mass balance, not from experience: the formula has no fitting coefficients, but everything depends on choosing the right matrix and fluid densities.
  • Choose the matrix density from the minerals of the formation: quartz 2.65, calcite 2.71, dolomite 2.87 g/cm³. For a mixture, take the average weighted by volume fractions. Even three per cent of pyrite or fifteen per cent of dolomite shifts the result noticeably. The best source is the grain density measured on core.
  • The fluid in the calculation is whatever fills the pores 10–15 cm from the borehole wall: filtrate with residual hydrocarbons. Its density depends on salinity, temperature and pressure.
  • An error in the matrix density counts with the weight (1−ϕ)(1 - \phi), so it always matters. An error in the fluid density counts with the weight ϕ\phi, so it matters in high-porosity rocks. An error of 0.01 g/cm³ in the measured density itself is 0.6 porosity units.
  • In a shaly formation ϕD\phi_D is close to the total porosity, and the effective porosity is ϕD−VshϕD,sh\phi_D - V_{sh}\phi_{D,sh}. The porosity of the sand laminae (thin sand layers) of a laminated formation is a different quantity: it is larger by the factor 1/(1−Vsh)1/(1 - V_{sh}).
  • Residual gas makes the fluid much lighter than water, so a calculation that assumes water in the pores overestimates porosity. The correction uses the flushed-zone saturation, or the neutron log together with the density log.
Key relationships
ρb=∑iVi ρi\rho_b = \sum_i V_i\,\rho_i

bulk density as the sum of the contributions of the components (the fractions add up to one)

ϕD=ρma−ρbρma−ρf\phi_D = \dfrac{\rho_{ma} - \rho_b}{\rho_{ma} - \rho_f}

density porosity of a clean rock

δϕD≈(1−ϕ) δρma+ϕ δρf−δρbρma−ρf\delta\phi_D \approx \dfrac{(1 - \phi)\,\delta\rho_{ma} + \phi\,\delta\rho_f - \delta\rho_b}{\rho_{ma} - \rho_f}

how errors in the input quantities carry over into porosity

ϕe=ϕD−Vsh ρma−ρshρma−ρf\phi_e = \phi_D - V_{sh}\,\dfrac{\rho_{ma} - \rho_{sh}}{\rho_{ma} - \rho_f}

effective porosity of a shaly formation

Common pitfalls
  • Using 2.65 for any sandstone and 2.71 for any carbonate without checking the composition against core, cuttings (rock chips from drilling) or the photoelectric factor (a log curve that responds to the minerals).
  • Treating the filtrate as fresh water with a density of 1.00 when the mud is salty or oil-based.
  • Confusing the effective porosity of a formation with the porosity of its sand laminae.
  • Calculating the porosity of a gas-bearing formation as if the pores held water, and taking the overestimated result for the truth.

After this lesson you can

  • write the bulk density of a rock as a mass balance of its components and derive the density-porosity formula from it
  • choose the matrix density from the mineral composition and core data (measurements on rock samples cut from the well), and calculate it for a mixture of minerals
  • choose the fluid density of the zone of investigation, allowing for the salinity of the mud filtrate (the liquid that seeps from the mud into the rock), the temperature and residual hydrocarbons
  • estimate how much each input quantity adds to the porosity error
  • correct porosity for shale and residual gas, and distinguish total porosity (all the pore space) from effective porosity
  • calibrate the parameters of the calculation against core

Density as a mass balance

The density log measures the bulk density of the rock: the mass of a unit volume of rock, including the fluid in its pores (Density log and photoelectric factor (Pe)). A cubic centimetre of rock is made of parts: mineral grains, water or filtrate, and sometimes oil, gas or shale material. The mass of the whole equals the sum of the masses of the parts. So the density of the rock is the sum of the component densities, each weighted by its share of the volume.

Bulk density of a rock as the sum of the contributions of its components
ρb=∑iVi ρi,∑iVi=1\rho_b = \sum_i V_i\,\rho_i, \qquad \sum_i V_i = 1
where:
  • ρb\rho_bbulk density of the rock from the log, g/cm³
  • ViV_ivolume fraction of the ii-th component: a mineral, shale or fluid, fraction
  • ρi\rho_idensity of that component, as the tool reads it, g/cm³

Units: g/cm³ or kg/m³: any density units, the same for all terms

Holds when
  • All components are included: the volume fractions add up to one.
  • The rock is uniform within the volume the tool sees: 10–15 cm from the borehole wall and 15–45 cm along the borehole.
  • The reading is corrected for the mudcake (the layer of mud solids on the borehole wall) and the borehole. For ordinary minerals and liquids the tool reads practically the true density; for gas, salt and gypsum it does not (why).

This is a mass balance, not an empirical relationship (one found by fitting data), and that is the main strength of the method: it has no fitting coefficients. For a clean rock made of one mineral with one fluid, the sum becomes ρb=(1−ϕ)ρma+ϕρf\rho_b = (1 - \phi)\rho_{ma} + \phi\rho_f. Shale, a mixture of minerals or gas only means the same sum with more terms.

Solve the clean-rock equation for porosity and you get the main formula of the method. It is the same formula as in the topics Porosity and Density log and photoelectric factor (Pe).

Porosity from the density log
ϕD=ρma−ρbρma−ρf\phi_D = \frac{\rho_{ma} - \rho_b}{\rho_{ma} - \rho_f}
where:
  • ϕD\phi_Ddensity porosity, fraction
  • ρma\rho_{ma}density of the mineral matrix, g/cm³
  • ρb\rho_bbulk density from the log, g/cm³
  • ρf\rho_fdensity of the fluid in the pores of the zone of investigation, g/cm³

Units: densities in the same units; porosity is dimensionless

Holds when
  • The rock is clean and of known mineral composition.
  • The pores in the zone of investigation are filled with a fluid of known density.
  • The reading is reliable: the hole is not washed out and the correction Δρ\Delta\rho is small.

The numerator shows how much lighter the rock is than a solid matrix. The denominator shows how much lighter the fluid itself is than the matrix. The result is the total porosity: isolated pores lower the density in the same way as connected ones.

Matrix density: what to use

Matrix (grain) density ρma\rho_{ma} is the density of the solid part of the rock, without the pores. Put into the formula the value for the mineral, or the mixture of minerals, that the formation is made of.

Mineral densities for the porosity calculation
Mineral
Quartz
ρma\rho_{ma}, g/cm³
2.65
Where it occurs
sandstones, siltstones (finer-grained than sandstones), cherts (hard silica rock)
Mineral
Calcite
ρma\rho_{ma}, g/cm³
2.71
Where it occurs
limestones, carbonate cement (the mineral that glues grains together) in sandstones
Mineral
Dolomite
ρma\rho_{ma}, g/cm³
2.87
Where it occurs
dolomites and dolomitised limestones
Mineral
Anhydrite
ρma\rho_{ma}, g/cm³
2.98
Where it occurs
inclusions and cement in carbonates
Mineral
Potassium feldspars
ρma\rho_{ma}, g/cm³
2.52–2.57
Where it occurs
arkosic sandstones (rich in feldspar)
Mineral
Plagioclases
ρma\rho_{ma}, g/cm³
2.6–2.75
Where it occurs
polymictic sandstones (grains of many kinds)
Mineral
Micas
ρma\rho_{ma}, g/cm³
2.8–3.1
Where it occurs
micaceous sandstones and siltstones
Mineral
Siderite
ρma\rho_{ma}, g/cm³
3.9
Where it occurs
concretions (hard rounded lumps), cement
Mineral
Pyrite
ρma\rho_{ma}, g/cm³
5.0
Where it occurs
scattered grains, concretions

These are the densities as the tool reads them. For quartz, calcite, dolomite, anhydrite and pyrite, the reading differs from the true density by no more than 0.02 g/cm³. For feldspars and siderite, it is 0.03–0.07 g/cm³ below the true density. For rock salt and sylvite (a potassium salt), the difference is much larger (advanced section).

The matrix rarely consists of a single mineral. The density of a mixture is the average of the mineral densities, weighted by their volume fractions in the solid part of the rock.

Matrix density of several minerals
ρma=∑jfj ρj,∑jfj=1\rho_{ma} = \sum_j f_j\,\rho_j, \qquad \sum_j f_j = 1
where:
  • ρma\rho_{ma}density of the mineral matrix, g/cm³
  • fjf_jvolume fraction of the jj-th mineral in the solid part of the rock (not in the whole rock), fraction
  • ρj\rho_jdensity of the jj-th mineral, g/cm³

Units: g/cm³

Holds when
  • The fractions are volume fractions, as thin sections give them (thin slices of rock studied under a microscope). Mass fractions from X-ray analysis must first be divided by the mineral densities and then normalised (scaled so that they add up to one).
  • The composition is constant throughout the formation for which the value is adopted.

A small share of a mineral with a similar density shifts the matrix density only slightly. A small share of a heavy mineral shifts it a lot: 20% of calcite cement raises the density of a quartz matrix only from 2.65 to 2.66, but 3% of pyrite raises it to 2.72 g/cm³.

Worked exampleThree per cent of pyrite and a quarter of feldspar
Given (assumed data)
Density reading
ρb=2.29\rho_b = 2.29 g/cm³, the fluid is fresh filtrate, 1.00 g/cm³
Case 1
clean quartz sandstone
Case 2
quartz sandstone with 3% pyrite in the solid phase
Case 3
sandstone with 25% potassium feldspar (2.55 g/cm³)
Solution
  1. Quartz: ϕD=2.65−2.292.65−1.00=0.218\phi_D = \dfrac{2.65 - 2.29}{2.65 - 1.00} = 0.218.
  2. With pyrite, the matrix density is 0.97⋅2.65+0.03⋅5.000.97\cdot 2.65 + 0.03\cdot 5.00, that is 2.72 g/cm³. Then ϕD=0.250\phi_D = 0.250, which is 3.2 porosity units higher.
  3. With feldspar, the matrix density is 0.75⋅2.65+0.25⋅2.550.75\cdot 2.65 + 0.25\cdot 2.55, that is 2.625 g/cm³. Then ϕD=0.206\phi_D = 0.206, which is 1.2 porosity units lower.
Answer: The same reading of 2.29 g/cm³ means a porosity of 21.8% in a quartz sandstone, 25.0% with 3% pyrite and 20.6% with 25% feldspar.

What it means. A heavy mineral “hides” pores. A rock with pyrite weighs as much as a clean sandstone with lower porosity, so a calculation with 2.65 would underestimate its porosity by 3.2 porosity units. Feldspar works the other way, but more weakly. Neither admixture shows in the density itself. Thin sections, cuttings, the photoelectric factor and, most reliably, the grain density measured on core reveal them. The data in this example are assumed for illustration.

Where to get the matrix density in practice:

  • Core. The grain density is measured on every sample together with the porosity. This is the direct and best source. From the samples we build a distribution of values for each formation and rock type (Core analysis).
  • Lithology from logs. The photoelectric factor and the combination of the density and neutron logs show whether the rock is quartz, calcite or dolomite, and in what proportions (Lithology and porosity from crossplots).
  • Cuttings and thin sections. Mineral composition, cement, heavy minerals.
  • Tight zones. In a bed of the same rock that is known to have no pores, the density on the log is close to the matrix density.

Fluid density: what is really in the pores

The tool sees 10–15 cm of rock behind the borehole wall. This is the flushed zone (Borehole environment: invaded zone and mudcake). In a permeable formation (one that lets fluids flow through) the pores there are filled with mud filtrate. Only what the filtrate could not push out remains of the formation water, oil or gas. So the fluid density ρf\rho_f in the formula is, first of all, the density of the filtrate.

Fluid densities in the zone of investigation
Fluid
Fresh filtrate at the surface
Density, g/cm³
1.00
Remark
for fresh water the tool reading equals the true density
Fluid
Fresh filtrate at a depth of 3 km
Density, g/cm³
about 0.97
Remark
100 °C and 30 MPa: heating expands the water more than pressure compresses it
Fluid
Salty filtrate, 100 g/kg NaCl
Density, g/cm³
1.07 at the surface
Remark
from the formula 1+0.73P1 + 0.73P
Fluid
Brine, 200 g/kg NaCl
Density, g/cm³
1.15 at the surface
Remark
the tool reads 0.01 less
Fluid
Filtrate of an oil-based mud
Density, g/cm³
0.75–0.90
Remark
depends on the base fluid
Fluid
Oil in the formation
Density, g/cm³
0.6–0.9
Remark
little of it is left in the flushed zone
Fluid
Gas in the formation
Density, g/cm³
0.05–0.25
Remark
lighter still for the tool: the apparent density is close to zero

The mass fraction of salt PP is written as a fraction of one: 100 g of salt per kilogram of solution is 0.10.

Two things set the density of the filtrate of a water-based mud: how much salt it contains, and the temperature and pressure it is under.

Filtrate density at reservoir conditions (estimate)
ρmf≈(1+0.73 P) kT,p\rho_{mf} \approx (1 + 0.73\,P)\,k_{T,p}
where:
  • ρmf\rho_{mf}density of the filtrate in the zone of investigation, g/cm³
  • PPmass fraction of NaCl in the filtrate, fraction
  • kT,pk_{T,p}ratio of the density of water at reservoir temperature and pressure to its density at the surface: about 1.00 at 50 °C and 15 MPa, 0.97 at 100 °C and 30 MPa, 0.94 at 150 °C and 45 MPa, —

Units: g/cm³

Holds when
  • The factor 1+0.73P1 + 0.73P is an approximation for NaCl solutions at 24 °C and atmospheric pressure.
  • We assume that brine expands when heated and compresses under pressure roughly like fresh water. The uncertainty of the estimate is up to 0.01 g/cm³.
  • For filtrates of complex composition and for oil-based muds, the density is measured or taken from the mud data.

From 20 to 100 °C, water loses about 4% of its density, and each 10 MPa of pressure gives back 0.4–0.5%. At a depth of 3 km the net effect is about −2.5%. The correction is small. It is worth applying in hot, deep wells and at high porosity.

If oil or gas has remained in the flushed zone, the fluid is a mixture. Its density is also built up from the volume fractions.

Fluid density of the flushed zone with residual hydrocarbons
ρf=Sxo ρmf+(1−Sxo) ρh\rho_f = S_{xo}\,\rho_{mf} + (1 - S_{xo})\,\rho_h
where:
  • ρf\rho_faverage density of the fluid in the pores of the zone of investigation, g/cm³
  • SxoS_{xo}fraction of the pore volume of the flushed zone occupied by filtrate, fraction
  • ρmf\rho_{mf}density of the filtrate, g/cm³
  • ρh\rho_hdensity of the residual hydrocarbons; for gas, its apparent density, g/cm³

Units: g/cm³

Holds when
  • The zone of investigation contains only filtrate and residual hydrocarbons; no formation water is left, or it cannot be told from the filtrate by density.
  • For gas, use the apparent density (the value the density tool shows, which differs from the true density of gas). For methane, ρa,g≈1.334 ρg−0.188\rho_{a,g} \approx 1.334\,\rho_g - 0.188 (derivation).

Residual oil changes the fluid density only a little. 30% of oil with a density of 0.80 gives 0.94 g/cm³ instead of 1.00. At a porosity of 25%, a calculation that assumes water overestimates the porosity by less than one porosity unit. The same 30% of gas gives about 0.70 g/cm³, and an error of several porosity units.

What each error costs

All three quantities in the formula are known only roughly. To see which of them matters more, we take the derivative of the formula with respect to each one (this shows how fast the result changes when that quantity changes). This gives a linear estimate of the error.

Error of density porosity
δϕD≈(1−ϕ) δρma+ϕ δρf−δρbρma−ρf\delta\phi_D \approx \frac{(1 - \phi)\,\delta\rho_{ma} + \phi\,\delta\rho_f - \delta\rho_b}{\rho_{ma} - \rho_f}
where:
  • δϕD\delta\phi_Dporosity error, fraction
  • δρma, δρf\delta\rho_{ma},\ \delta\rho_ferrors in the assumed matrix and fluid densities: assumed value minus true value, g/cm³
  • δρb\delta\rho_berror in the measured density, g/cm³
  • ϕ\phiporosity, fraction
  • ρma, ρf\rho_{ma},\ \rho_fmatrix and fluid densities assumed in the calculation, g/cm³

Units: densities in g/cm³; porosity as a fraction

Holds when
  • The errors are small compared with the difference ρma−ρf\rho_{ma} - \rho_f (linear approximation).
  • Independent random errors add in quadrature (as the square root of the sum of their squares). Systematic errors add with their signs.

The error in the matrix density counts with the weight (1−ϕ)(1 - \phi): it matters at any porosity, and in tight rocks (rocks with very low porosity) it is the main error. The error in the fluid density counts with the weight ϕ\phi: in tight rocks it is almost unnoticeable, but in high-porosity rocks it is of similar size to the matrix error. The measurement error counts in full: 0.01 g/cm³ is 0.6 porosity units.

Contribution of the uncertainty in matrix and fluid density and of the measurement error to the density-porosity error0102030400.00.51.01.52.0Porosity, %Error, porosity unitstotal (root sum of squares)matrix, ±0.02 g/cm³fluid, ±0.05 g/cm³measurement, ±0.015 g/cm³

Chart: porosity from 0 to 40% along the horizontal axis, porosity error from 0 to 2 porosity units along the vertical axis. The matrix-error line falls smoothly from 1.2 at zero porosity to 0.7 at 40%. The fluid-error line rises from zero to 1.2. The horizontal line of the measurement error is at 0.9. The upper curve, the sum, is almost horizontal: about 1.5 from 0 to 25% and 1.7 at 40%. Points are marked on it at porosities of 6 and 20%.

CalculatedHow much each uncertainty adds to the density-porosity error, plotted against porosity itself (quartz matrix, fresh-water fluid). The uncertainties are ±0.02 g/cm³ for the matrix density, ±0.05 g/cm³ for the fluid density and ±0.015 g/cm³ for the measurement; the figure also shows their sum. Calculated from the formula above; the points are the two cases of the example below.
Worked examplePorosity uncertainty of a good and a tight reservoir
Given (assumed data)
Rock and fluid
quartz sandstone, 2.65 g/cm³; fresh filtrate, 1.00 g/cm³
Uncertainty in the matrix density
±0.02 g/cm³
Uncertainty in the fluid density
±0.05 g/cm³
Density measurement error
±0.015 g/cm³
Formations
porosity of about 20% and about 6%
Solution
  1. Formation with ϕ=0.20\phi = 0.20. Matrix: 0.80⋅0.02/1.65=0.00970.80\cdot 0.02/1.65 = 0.0097. Fluid: 0.20⋅0.05/1.65=0.00610.20\cdot 0.05/1.65 = 0.0061. Measurement: 0.015/1.65=0.00910.015/1.65 = 0.0091 (all as fractions).
  2. Independent errors add up as the square root of the sum of their squares: 1.5 porosity units, which is 7% of the value.
  3. Formation with ϕ=0.06\phi = 0.06: the contributions are 0.0114, 0.0018 and 0.0091, and the total is 1.5 porosity units, which is 24% of the value.
Answer: The absolute uncertainty in both formations is about 1.5 porosity units. But for the tight formation this is 24% of its pore volume, and for the good one 7%.

What it means. The uncertainty of density porosity hardly depends on the porosity itself. It is about one and a half porosity units for the usual uncertainty in the input data. That is why the relative error in pore volume is several times larger in tight reservoirs, and why core data and an accurate matrix density matter most there. In a tight formation we can ignore the fluid uncertainty altogether. The data in this example are assumed for illustration.

Shaly formation: total and effective porosity

Shale material (the clay in the rock) is one more component, with its own density. Together with its bound water (water held tightly on the clay) it usually has a density of 2.2 to 2.65 g/cm³. The more compacted the sequence, the less water the shale holds and the denser it is. So take the shale density from the log in the same depth interval, not from a reference table. Shale dispersed in the pores of a sandstone does not carry the load of the overlying rocks, because the matrix grains carry it. So it can be lighter than the shales of the adjacent units. Then the correction calculated from the adjacent shales is too small. The term VshρshV_{sh}\rho_{sh} is added to the mass balance, and the correction follows from it.

Effective porosity of a shaly formation from density
ϕe=ϕD−Vsh ϕD,sh,ϕD,sh=ρma−ρshρma−ρf\phi_e = \phi_D - V_{sh}\,\phi_{D,sh}, \qquad \phi_{D,sh} = \frac{\rho_{ma} - \rho_{sh}}{\rho_{ma} - \rho_f}
where:
  • ϕe\phi_eeffective porosity: the pore volume outside the shale, as a fraction of the volume of the whole rock, fraction
  • ϕD\phi_Dporosity calculated with the formula for a clean rock, fraction
  • VshV_{sh}shale volume, fraction
  • ϕD,sh\phi_{D,sh}“density porosity of shale”: what the same formula gives in pure shale, fraction
  • ρsh\rho_{sh}density of wet shale; taken from the log in the adjacent shales, g/cm³
  • ρma, ρf\rho_{ma},\ \rho_fmatrix and fluid densities, the same as in the calculation of ϕD\phi_D, g/cm³

Units: densities in g/cm³; porosity and shale volume as fractions

Holds when
  • The shale in the formation is the same as in the reference shale unit; for dispersed shale this holds less well.
  • The shale volume VshV_{sh} has been found independently (Determining shale volume).
  • There is no gas in the zone of investigation.

It follows from the mass balance, with a third component added to the fluid and the matrix: shale, with volume fraction VshV_{sh} and density ρsh\rho_{sh}. If the shale is lighter than the matrix, the correction reduces the porosity. If their densities are equal, there is no correction. What we subtract is mainly the clay-bound water of the shales. So ϕD\phi_D is close to the total porosity, and ϕe\phi_e is close to the effective porosity.

For a laminated formation (sand layers separated by shale layers) another form of the same correction is useful: the density of the sand laminae themselves, with the contribution of the shale laminae taken out.

Density of the sand laminae of a laminated formation
ρb,sd=ρb−Vsh ρsh1−Vsh\rho_{b,sd} = \frac{\rho_b - V_{sh}\,\rho_{sh}}{1 - V_{sh}}
where:
  • ρb,sd\rho_{b,sd}bulk density of the sand laminae, g/cm³
  • ρb\rho_bbulk density of the formation from the log, the average over the laminae, g/cm³
  • VshV_{sh}fraction of the formation volume occupied by shale laminae, fraction
  • ρsh\rho_{sh}density of the shale laminae, g/cm³

Units: g/cm³

Holds when
  • The shale is laminated: the laminae are thinner than the vertical resolution of the tool (the thinnest bed it can separate), so the tool averages them over the volume.
  • The shale laminae have the same density as the adjacent thick shales.

We calculate the porosity of the laminae ϕsd\phi_{sd} from this density with the ordinary formula. It refers to the volume of the laminae, not of the whole formation: ϕe=(1−Vsh) ϕsd\phi_e = (1 - V_{sh})\,\phi_{sd}. If you confuse the two quantities, you are wrong by a factor of (1−Vsh)(1 - V_{sh}).

Worked exampleShaly sandstone: three different porosities
Given (assumed data)
Density reading
ρb=2.34\rho_b = 2.34 g/cm³
Shale volume from the gamma ray and SP logs
Vsh=0.25V_{sh} = 0.25
Density of the adjacent shales
ρsh=2.48\rho_{sh} = 2.48 g/cm³
Matrix and fluid
quartz, 2.65 g/cm³; fresh filtrate, 1.00 g/cm³
Solution
  1. As for a clean rock: ϕD=2.65−2.341.65=0.188\phi_D = \dfrac{2.65 - 2.34}{1.65} = 0.188.
  2. “Porosity of shale”: ϕD,sh=2.65−2.481.65=0.103\phi_{D,sh} = \dfrac{2.65 - 2.48}{1.65} = 0.103.
  3. Effective porosity: ϕe=0.188−0.25⋅0.103=0.162\phi_e = 0.188 - 0.25\cdot 0.103 = 0.162.
  4. If the shale is laminated, ρb,sd=2.34−0.25⋅2.480.75=2.293\rho_{b,sd} = \dfrac{2.34 - 0.25\cdot 2.48}{0.75} = 2.293 g/cm³, and the porosity of the laminae is ϕsd=0.216\phi_{sd} = 0.216. Check: 0.75⋅0.216=0.1620.75\cdot 0.216 = 0.162.
Answer: Total porosity is about 18.8%, effective porosity 16.2%, and the porosity of the sand laminae 21.6%.

What it means. All three numbers are correct, but they answer different questions. When we count the oil and gas in place, the pore volume comes out the same both ways: effective porosity over the whole thickness of the formation, or the porosity of the laminae over their combined thickness, which is three quarters of the formation. The mistake happens when the porosity of the laminae is multiplied by the whole thickness: the pore volume is then too high by a third. Check in advance which of these quantities the saturation model works with (Water saturation in shaly sands). The data in this example are assumed for illustration.

Gas in the zone of investigation

In a gas-bearing formation the filtrate does not push all the gas out of the flushed zone. The gas that remains (residual gas) makes the fluid much lighter than water. And to the tool, gas looks even “lighter” than its mass suggests: its apparent density at ordinary reservoir pressures is close to zero (Density log and photoelectric factor (Pe)). If we calculate porosity as if the pores held water, the result is too high, and the more gas is left, the higher it is.

To correct the calculation, we need to know how much filtrate there is in the flushed zone. The flushed-zone resistivity tells us. By Archie's equation with a=1a = 1 and m=n=2m = n = 2, the volume fraction of filtrate in the rock is ϕSxo=Rmf/Rxo\phi S_{xo} = \sqrt{R_{mf}/R_{xo}} (Archie's equation and saturation of clean reservoirs). Put this into the mass balance and you get the porosity without successive approximations (repeated trial-and-error steps).

Porosity of a gas-bearing formation from density and flushed-zone resistivity
ϕ=ρma−ρb+Wxo (ρmf−ρa,g)ρma−ρa,g,Wxo=RmfRxo\phi = \frac{\rho_{ma} - \rho_b + W_{xo}\,(\rho_{mf} - \rho_{a,g})}{\rho_{ma} - \rho_{a,g}}, \qquad W_{xo} = \sqrt{\frac{R_{mf}}{R_{xo}}}
where:
  • ϕ\phiporosity, fraction
  • ρma, ρb\rho_{ma},\ \rho_bmatrix density and bulk density from the log, g/cm³
  • WxoW_{xo}volume fraction of filtrate in the rock of the flushed zone, ϕSxo\phi S_{xo}, fraction
  • ρmf\rho_{mf}density of the filtrate, g/cm³
  • ρa,g\rho_{a,g}apparent gas density, g/cm³
  • Rmf, RxoR_{mf},\ R_{xo}resistivities of the filtrate and of the flushed zone at reservoir temperature, Ω·m

Units: densities in g/cm³, resistivities in Ω·m

Holds when
  • The formation is clean; the flushed zone contains only filtrate and residual gas.
  • Archie's equation is applied to the flushed zone with a=1a = 1 and m=n=2m = n = 2. With other coefficients the filtrate fraction itself depends on porosity, and the problem has to be solved by successive approximations.
  • RxoR_{xo} is measured with a microresistivity tool and corrected for mudcake.
  • For light oil, use its density in place of ρa,g\rho_{a,g}.

The mass balance has three terms: matrix (1−ϕ)ρma(1 - \phi)\rho_{ma}, filtrate WxoρmfW_{xo}\rho_{mf} and gas (ϕ−Wxo)ρa,g(\phi - W_{xo})\rho_{a,g}. The resistivity gives the volume of filtrate, so porosity is the only unknown. If there is no gas, Wxo=ϕW_{xo} = \phi, and the formula becomes the ordinary one.

Worked exampleGas-bearing sandstone: the calculation assuming water and the corrected one
Given (assumed data)
Density reading
ρb=2.167\rho_b = 2.167 g/cm³; clean quartz sandstone
Reservoir conditions
about 80 °C and 26 MPa
Filtrate
90 g/kg NaCl; at reservoir conditions ρmf=1.05\rho_{mf} = 1.05 g/cm³, Rmf=0.036R_{mf} = 0.036 Ω·m
Flushed-zone resistivity
Rxo=1.74R_{xo} = 1.74 Ω·m
Gas
methane, 0.15 g/cm³ at reservoir conditions
Solution
  1. Calculation assuming water: ϕD=2.65−2.1672.65−1.05=0.302\phi_D = \dfrac{2.65 - 2.167}{2.65 - 1.05} = 0.302.
  2. Apparent gas density ρa,g\rho_{a,g}: 1.334⋅0.15−0.188=0.0121.334\cdot 0.15 - 0.188 = 0.012 g/cm³.
  3. Volume fraction of filtrate: Wxo=0.036/1.74=0.144W_{xo} = \sqrt{0.036/1.74} = 0.144.
  4. The contribution of the filtrate is 0.144⋅(1.05−0.012)=0.1490.144\cdot(1.05 - 0.012) = 0.149. The numerator is 2.65−2.167+0.149=0.6322.65 - 2.167 + 0.149 = 0.632, the denominator is 2.65−0.012=2.6382.65 - 0.012 = 2.638, and the porosity is ϕ=0.240\phi = 0.240.
  5. The filtrate saturation of the flushed zone is Sxo=0.144/0.240=0.60S_{xo} = 0.144/0.240 = 0.60, so residual gas occupies 40% of the pores. The average fluid density is 0.63 g/cm³.
Answer: The porosity of the formation is about 24%, not 30% as the calculation assuming water gave.

What it means. Residual gas raised the density porosity by 6 porosity units, a quarter of its value. The pore volume in the estimate of oil and gas in place would be too high by roughly the same proportion. The correction relies on the flushed-zone resistivity and the coefficients of Archie's equation, so it inherits their uncertainties. The neutron log gives an independent check: gas shows up on it with the opposite sign (the neutron log reads too low in gas, while the density log reads too high) (Porosity from the neutron log). The data in this example are assumed for illustration.

Calibration against core

Matrix and fluid densities taken from tables are only a first approximation. Core lets us check and refine them. In an interval with core the porosity is known, and the calculation from the log must reproduce it. We do this core-to-log calibration before we extend the formula to wells without core.

Calibration procedure
  1. 1
    Depth matching

    Core depths and log depths differ by anything from a fraction of a metre to several metres. Match them using the gamma ray log of the core (a scan of its natural radioactivity) or distinctive tight and porous beds.

  2. 2
    Reservoir conditions

    Core porosity measured without stress must be brought to the reservoir effective stress (the stress that presses the grains together), because in the formation the pores are compressed (Rock compressibility and the effect of stress on core properties).

  3. 3
    Same scale

    A core sample is tens of cubic centimetres, but the tool averages over 15–45 cm vertically. Average the core values over a window equal to the tool resolution, and leave out intervals with washouts (enlarged parts of the hole) and a large correction Δρ\Delta\rho.

  4. 4
    Crossplot

    Plot the bulk density from the log against the core porosity. For rocks of one composition, the points fall on the straight line ρb=ρma−(ρma−ρf) ϕ\rho_b = \rho_{ma} - (\rho_{ma} - \rho_f)\,\phi.

  5. 5
    Parameters

    The value of the line at zero porosity is the matrix density. Its value at a porosity of one is the apparent density of the fluid. Check the matrix density against the grain density measured on the same samples.

  6. 6
    Check

    Calculate porosity from the log with the new parameters and compare it with core. The mean discrepancy should be close to zero, and the scatter should have an explanation.

Worked exampleMatrix and fluid densities from seven core–log points
Given (assumed data)
Core porosity (at reservoir conditions, averaged over the tool window)
0.092, 0.128, 0.151, 0.176, 0.203, 0.224, 0.251
Log density at the same depths, g/cm³
2.520, 2.456, 2.424, 2.378, 2.339, 2.297, 2.258
“Default” parameters
2.65 and 1.00 g/cm³
Solution
  1. The least-squares line (the line with the smallest sum of squared deviations from the points) has slope −1.65 g/cm³ and, at ϕ=0\phi = 0, the value ρma=2.67\rho_{ma} = 2.67 g/cm³.
  2. At ϕ=1\phi = 1 the value is ρf=2.67+(−1.65)=1.02\rho_f = 2.67 + (-1.65) = 1.02 g/cm³.
  3. For a reading of 2.40 g/cm³, the “default” parameters give ϕD=0.152\phi_D = 0.152, and the calibrated ones give 0.164.
  4. The mean discrepancy of the “default” calculation from core over the seven points is −1.2 porosity units.
Answer: From core, ρma≈2.67\rho_{ma} \approx 2.67 g/cm³ and ρf≈1.02\rho_f \approx 1.02 g/cm³. With the table values, the porosity would be consistently too low, by about 1.2 porosity units.

What it means. The matrix turned out heavier than pure quartz. This happens with carbonate cement or heavy minerals, and it should agree with the grain density measured on core. A fluid density of 1.02 g/cm³ fits a slightly salty filtrate. We got it by extending the line from porosities of 9–25% out to 100%, so it is only a rough value. If filtrate data are available, it is better to set the fluid density from them and to fit only the matrix density to the core. A difference of 1.2 porosity units at a porosity of 15–20% is 6–8% of the pore volume. The data in this example are assumed for illustration.

Calibration of density porosity against core: log density against core porosity0510152025302.22.32.42.52.62.7Core porosity, %ρb from log, g/cm³from core: 2.67 and 1.02 g/cm³default: 2.65 and 1.00

Chart: core porosity from 0 to 30% along the horizontal axis, log density from 2.2 to 2.7 g/cm³ along the vertical axis. Seven points lie on a falling solid straight line that reaches 2.67 g/cm³ at zero porosity. The dashed straight line for the default parameters runs parallel and slightly below, starting from 2.65.

CalculatedLog density against core porosity for the data of the example: the points, the least-squares line (solid) and the line for the “default” parameters 2.65 and 1.00 g/cm³ (dashed). Where the fitted line meets the density axis, it gives the matrix density.

Calculation procedure

  1. 1
    Density quality

    Use the caliper log and the Δρ\Delta\rho curve (the density correction) to exclude intervals where the tool did not press against the wall (signs). In holes noticeably larger than the nominal size, apply a hole-size correction. For dual-detector tools in a hole of about 300 mm it is about +0.02 g/cm³.

  2. 2
    Zones

    Divide the section into formations and rock types. Each has its own matrix density and shale density.

  3. 3
    Matrix density

    Take it from core, lithology and mineral composition. For a mixture of minerals, use the volume fractions.

  4. 4
    Fluid density

    Take it from the salinity and type of the mud, the temperature and the pressure. In formations with hydrocarbons, allow for the residual saturation.

  5. 5
    Calculation and corrections

    Calculate ϕD\phi_D. In shaly formations go on to effective porosity, and in gas-bearing ones apply the gas correction.

  6. 6
    Check

    Compare with core and with neutron porosity: in a clean water-bearing formation of known lithology they should be close. Record the parameters used and their uncertainty.

Terms and symbols

Density porosity ϕD\phi_D
Porosity calculated from the bulk density of the rock and the assumed matrix and fluid densities. It is close to the total porosity.
Matrix density ρma\rho_{ma}
The density of the solid part of the rock. For a mixture of minerals, it is the average over their volume fractions.
Fluid density ρf\rho_f
The average density of what fills the pores in the tool's zone of investigation: filtrate with residual hydrocarbons.
“Porosity of shale” ϕD,sh\phi_{D,sh}
The value that the formula for a clean rock gives in pure shale. Multiply it by the shale volume and subtract the result from ϕD\phi_D.
Effective porosity ϕe\phi_e
In log interpretation, the volume of pores outside the shale, as a fraction of the rock volume.
Apparent gas density ρa,g\rho_{a,g}
The density that should be assigned to gas in the density-log formulas. It is much lower than the true density.
Core-to-log calibration
Adjusting the matrix and fluid densities so that the calculation from the log reproduces the core porosity.

Common mistakes and misconceptions

Wrong

“For sandstone we take 2.65, for limestone 2.71: these are constants.”

In fact

These are the densities of pure quartz and pure calcite. A real matrix is a mixture of minerals. Cement, feldspars, pyrite and dolomite shift it by hundredths or tenths of a g/cm³, and every 0.01 g/cm³ is about half a porosity unit.

Wrong

“The correction for shale is to subtract VshV_{sh} from porosity.”

In fact

We subtract VshϕD,shV_{sh}\phi_{D,sh}: the shale volume multiplied by the “porosity of shale” from the same formula. If the shale is close to the matrix in density, the correction is almost zero.

Wrong

“The porosity of the sand laminae and the effective porosity of the formation are the same thing.”

In fact

The first refers to the volume of the laminae, the second to the whole formation. They differ by a factor of (1−Vsh)(1 - V_{sh}). The calculation of oil and gas in place uses either the effective porosity over the whole thickness or the porosity of the laminae over their combined thickness.

Wrong

“The tool measured the density, so the porosity calculated from it in a gas-bearing formation is correct.”

In fact

The density is measured correctly. What is wrong is the fluid density in the calculation. If we use the density of water instead of that of a mixture of filtrate and gas, the porosity is too high by several porosity units.

Wrong

“Core gave a different porosity, so the log cannot be trusted.”

In fact

First check the depth matching, the measurement conditions, the type of porosity and the scale. After that, use the discrepancy to calibrate the matrix and fluid densities.

In depth: advanced detail

What density porosity shows in a shaly formation

We can picture wet shale as dry clay minerals of density ρdcl\rho_{dcl} plus bound water that takes up a fraction ϕsh\phi_{sh} of its volume: ρsh=(1−ϕsh)ρdcl+ϕshρw\rho_{sh} = (1 - \phi_{sh})\rho_{dcl} + \phi_{sh}\rho_w. Put this into the expression for ϕD,sh\phi_{D,sh} and take the density of the bound water equal to the fluid density. Then we get:

“Density porosity of shale” in terms of its composition
ϕD,sh=ϕsh+(1−ϕsh) ρma−ρdclρma−ρf\phi_{D,sh} = \phi_{sh} + (1 - \phi_{sh})\,\frac{\rho_{ma} - \rho_{dcl}}{\rho_{ma} - \rho_f}
where:
  • ϕD,sh\phi_{D,sh}density porosity calculated in pure shale, fraction
  • ϕsh\phi_{sh}fraction of the volume of wet shale occupied by bound water, fraction
  • ρdcl\rho_{dcl}density of the dry clay minerals (dcl stands for dry clay): about 2.6–2.8 g/cm³, g/cm³
  • ρma, ρf\rho_{ma},\ \rho_fmatrix and fluid densities assumed in the calculation, g/cm³

Units: densities in g/cm³

Holds when
  • The density of the bound water equals the fluid density used in the calculation.
  • The composition of the shale is constant.

If the dry clay minerals have the same density as the matrix, the second term disappears and ϕD,sh=ϕsh\phi_{D,sh} = \phi_{sh}. Then the density porosity of a shaly formation equals the total porosity, that is, the effective porosity plus the clay-bound water. If the clay minerals are heavier than the matrix, ϕD\phi_D is slightly smaller than the total porosity. If they are lighter, it is larger.

Worked exampleShale made of minerals with a density of 2.70 g/cm³
Given (assumed data)
Dry clay minerals
ρdcl=2.70\rho_{dcl} = 2.70 g/cm³
Bound water
12% of the shale volume, 1.00 g/cm³
Matrix and fluid in the calculation
2.65 and 1.00 g/cm³
Solution
  1. Density of wet shale: 0.88⋅2.70+0.12⋅1.00=2.4960.88\cdot 2.70 + 0.12\cdot 1.00 = 2.496 g/cm³.
  2. The “porosity of shale” is ϕD,sh=2.65−2.4961.65=0.093\phi_{D,sh} = \dfrac{2.65 - 2.496}{1.65} = 0.093, against an actual bound-water volume of 0.12.
Answer: The density log “sees” 9.3% of pores in such a shale instead of 12%.

What it means. The difference is small, which is why ϕD\phi_D in shaly sandstones is taken as an estimate of the total porosity. But the difference exists, and it is worth remembering when we compare with oven-dried core or with the nuclear magnetic resonance (NMR) log, which senses the fluids in the pores. The data in this example are assumed for illustration.

When the density on the log is not the true density

The tool counts electrons, and it is calibrated to read the true density of limestone saturated with fresh water (more detail). A substance with a different number of electrons per unit mass reads differently from its true density. For mass-balance calculations this is no obstacle: we only need to give each component the density that the tool reads.

True density and tool reading
Substance
Sylvite KCl
True, g/cm³
1.98
On the log, g/cm³
1.86
Substance
Rock salt NaCl
True, g/cm³
2.17
On the log, g/cm³
2.03
Substance
Gypsum
True, g/cm³
2.32
On the log, g/cm³
2.35
Substance
Anhydrite
True, g/cm³
2.96
On the log, g/cm³
2.98
Substance
Coal
True, g/cm³
1.2–1.5
On the log, g/cm³
1.17–1.51
Substance
Brine, 200 g/kg NaCl
True, g/cm³
1.146
On the log, g/cm³
1.135

Salt and sylvite have fewer electrons per unit mass than calcite and water, so they look lighter. Gypsum contains hydrogen, so it looks heavier. For anhydrite and coal the difference is small.

Gas shows the largest difference. If the pores are filled with low-pressure gas or air (for example, above the liquid level or in a depleted reservoir), the reading is lower than the true density by an amount that grows with porosity.

Worked exampleSandstone with low-pressure gas
Given (assumed data)
Rock
quartz sandstone, porosity 20%; quartz: true density 2.654, tool reading 2.648 g/cm³
Fluid
low-pressure gas, density close to zero
Solution
  1. True density of the rock: 0.80⋅2.654=2.1230.80\cdot 2.654 = 2.123 g/cm³.
  2. The tool reading is the matrix, 0.80⋅2.6480.80\cdot 2.648, plus the gas, 0.20⋅(−0.188)0.20\cdot(-0.188): in total 2.081 g/cm³.
  3. The difference is 0.042 g/cm³. At a porosity of 40% it would be 0.079 g/cm³.
Answer: The tool will read 2.081 g/cm³ at a true density of 2.123 g/cm³.

What it means. The apparent density of a gas with zero density is −0.188 g/cm³. This is a calculated value that reflects how the tool is calibrated on water. It is not a physical density. If we need the true density of the rock (for overburden pressure, the weight of the rock above, or for seismic work), we add the correction. In the porosity calculation it is enough to use the apparent gas density as the fluid density. The data in this example are assumed for illustration.

Connections to other topics

Check yourself

  1. 1

    A formation is made of limestone that is half replaced by dolomite, but its porosity was calculated with a matrix density of 2.71 g/cm³. In which direction is the result wrong?

    1. A.Too low
    2. B.Too high
    3. C.Unchanged: both minerals are carbonates
    4. D.Depends only on the fluid density
    Show the answer

    Correct answer: A. Too low

    Dolomite is heavier than calcite. The matrix of the mixture has a density of 0.5⋅2.71+0.5⋅2.87=2.790.5\cdot 2.71 + 0.5\cdot 2.87 = 2.79 g/cm³. With a matrix density that is too low, the rock looks closer to a solid one, and the porosity comes out too low: at a porosity of 10%, by about 4 porosity units.

  2. 2

    A sandstone contains 15% calcite cement (fraction of the solid phase). The log reads 2.41 g/cm³, and the filtrate density is 1.05 g/cm³. Find the matrix density and the porosity.

    Show the answer

    Matrix density: 0.85⋅2.65+0.15⋅2.71=2.6590.85\cdot 2.65 + 0.15\cdot 2.71 = 2.659 g/cm³. The numerator of the porosity formula is 2.659−2.41=0.2492.659 - 2.41 = 0.249, and the denominator is 2.659−1.05=1.6092.659 - 1.05 = 1.609, so ϕD≈0.155\phi_D \approx 0.155. With pure quartz it would be 0.150. Calcite is close to quartz in density, so the admixture shifted the result by only half a porosity unit.

  3. 3

    In which formation will an error in the fluid density (1.00 instead of 1.10 g/cm³) distort porosity most?

    1. A.Chalk with 38% porosity
    2. B.Tight sandstone with 5% porosity
    3. C.The same in all of them
    4. D.Sandstone with 15% porosity
    Show the answer

    Correct answer: A. Chalk with 38% porosity

    The error in the fluid density counts with the weight ϕ\phi: δϕ≈ϕ δρf/(ρma−ρf)\delta\phi \approx \phi\,\delta\rho_f/(\rho_{ma} - \rho_f). For chalk this is 0.38⋅0.10/1.71≈0.0220.38\cdot 0.10/1.71 \approx 0.022, more than two porosity units. For the tight sandstone it is 0.3 porosity units.

  4. 4

    A shaly sandstone: ρb=2.40\rho_b = 2.40 g/cm³, Vsh=0.30V_{sh} = 0.30, shale density 2.50 g/cm³, matrix 2.65, fluid 1.00 g/cm³. Find the effective porosity and the porosity of the sand laminae if the shale is laminated.

    Show the answer

    ϕD=0.25/1.65=0.152\phi_D = 0.25/1.65 = 0.152 and ϕD,sh=0.15/1.65=0.091\phi_{D,sh} = 0.15/1.65 = 0.091, so ϕe=0.152−0.30⋅0.091=0.124\phi_e = 0.152 - 0.30\cdot 0.091 = 0.124. For the laminae, we subtract the contribution of the shale, 0.30⋅2.50=0.750.30\cdot 2.50 = 0.75, from the bulk density of the formation and divide by 0.70. This gives 2.357 g/cm³, so ϕsd=0.177\phi_{sd} = 0.177. Check: 0.70⋅0.177=0.1240.70\cdot 0.177 = 0.124.

  5. 5

    In a gas-bearing formation, porosity was calculated with a fluid density of 1.0 g/cm³. In which direction is the error, and why?

    1. A.Unchanged: the density is measured correctly
    2. B.Too low: gas is light and the tool does not see it
    3. C.Too high: the actual fluid is lighter than water, and a rock with a smaller pore volume gives the same low density
    4. D.The direction of the error depends on the lithology
    Show the answer

    Correct answer: C. Too high: the actual fluid is lighter than water, and a rock with a smaller pore volume gives the same low density

    A mixture of filtrate and residual gas is lighter than water, so the denominator of the formula should be larger. A calculation that assumes water puts the whole density deficit down to water-filled pores, and so it overestimates the porosity. The correction uses the flushed-zone saturation, or the neutron log together with the density log.

  6. 6

    On a plot of log density against core porosity, the line passes through 2.68 g/cm³ at zero porosity and has a slope of −1.63 g/cm³. What does this mean?

    Show the answer

    The value at zero porosity is the matrix density: 2.68 g/cm³. This is heavier than pure quartz (cement or heavy minerals), so check it against the grain density from core. The slope equals −(ρma−ρf)-(\rho_{ma} - \rho_f), so the apparent fluid density is 2.68−1.63=1.052.68 - 1.63 = 1.05 g/cm³, which fits a salty filtrate. We got it by a long extrapolation, so it is less certain than the matrix density.

Updated: 2 October 2026