PETRONODE

nuclear

 

Iterative Density Porosity

(Python 3.x)

 

Algorithm for computing total porosity (Phi_t) in formations with variable matrix density.

The "classic" density porosity algorithm presumes that matrix density, \(\rho _{\mathit{ma}}\), remains constant within the lithofacies:

\[\phi _t=\frac{\rho _{\mathit{ma}}-\rho _b}{\rho _{\mathit{ma}}-\rho _f},\rho _{\mathit{ma}}=\mathit{Const}\]

In many cases, however, such matrix density can be a function of total porosity:

\[\phi _t=\frac{\rho _{\mathit{ma}}(\phi _t)-\rho _b}{\rho _{\mathit{ma}}(\phi _t)-\rho _f}\]

This algorithm resolves the above equation numerically. It must be stressed that the dependency between the matrix density and total porosity is empirical and relies on laboratory measurements performed on full-bore or side-wall cores.

 

Download source code: Iterative_Density_Porosity.py