rockphypy.QI

Module Contents

Classes

QI

Useful functionalities for quantitative intepretation and relevant tasks.

Attributes

cmap_sand

cmap_kde

cmap_cem

rockphypy.QI.cmap_sand
rockphypy.QI.cmap_kde
rockphypy.QI.cmap_cem
class rockphypy.QI.QI(Vp, phi, **kwargs)[source]

Useful functionalities for quantitative intepretation and relevant tasks.

initialize the parameters for various QI plots. e.g., phi,den,Vsh,eff_stress, TVD can be given depending on required the input parameters to the plot funtion.

Parameters:
  • Vp (array) – p wave velocity

  • phi (array) – porosity

static matrix_modulus(vsh, phi_c, phi_0, M_sh, M_g, M_c)[source]

Calculate the modulus of rock matrix as a function of porosity variation caused by cementation, Note that the rock matrix contains everything excluding pore space.

Parameters:
  • vsh (float) – bulk volume fraction of shale, can be derived from well log.

  • phi_c (float) – critical porosity

  • phi_0 (float or array) – static porosity during cementation ranging between 0.4 to 0 should be phi when phi is an array of porosity

  • M_sh (float) – modulus of shale

  • M_g (float) – modulus of grain material

  • M_c (float) – modulus of cement

Returns:

float or array – M_mat: updated matrix modulus

static den_matrix(vsh, phi_c, phi_0, den_sh, den_g, den_c)[source]

Calculate the matrix density as a function of porosity variation caused by cementation.

Parameters:
  • vsh (float) – bulk volume fraction of shale, can be derived from well log.

  • phi_c (float) – critical porosity

  • phi_0 (float or array) – static porosity during cementation ranging between 0.4 to 0 should be phi when phi is an array of porosity

  • den_sh (float) – density of the clay

  • den_g (float) – density of the grain

  • den_c (float) – density of the cement

Returns:

float or array – den_mat: updated matrix density

static screening(Dqz, Kqz, Gqz, Dsh, Ksh, Gsh, Dc, Kc, Gc, Db, Kb, phib_p, phi_c, sigma, vsh, scheme, f, Cn)[source]

compute elastic bounds used for rock physics screening, the lower bound is computed using friable sand model, and the upper bound is contact cement model blend with increasing cement model.

Parameters:
  • K0 (float) – Bulk modulus of grain material in GPa

  • G0 (float) – Shear modulus of grain material in GPa

  • Dqz (float) – Density of the grain. not limited to quartz grain

  • Kqz (float) – Bulk modulus of grain material in GPa

  • Gqz (float) – Shear modulus of grain material in GPa

  • Dsh (float) – density the clay

  • Ksh (float) – bulk modulus of the clay

  • Gsh (float) – shear modulus of the clay

  • Dc (float) – density of the cement

  • Kc (float) – Bulk modulus of cement

  • Gc (float) – Shear modulus of cement

  • Db (float) – density of the pore fluid

  • Kb (float) – bulk modulus of the pore fluid

  • phib_p (float) – adjusted high porosity end memeber

  • phic (float) – Critical Porosity

  • sigma (float or array-like) – effective stress

  • vsh (_type_) – _description_

  • scheme (int) –

    Scheme of cement deposition

    1=cement deposited at grain contacts 2=cement deposited at grain surfaces

  • f (float) –

    reduced shear factor between 0 and 1

    0=dry pack with inifinitely rough spheres; 1=dry pack with infinitely smooth spheres

  • Cn (float) – coordination number

Returns:

array – phi,vp1,vp2,vp3,vs1,vs2,vs3: porosity and velocities required for elastic diagnostics bounds

screening_plot(phi, vp1, vp2, vp3, cmap=cmap_sand)[source]

plot the rock physics screening crossplot

Parameters:
  • phi (array) – porosity

  • vp1 (array) – lower bound velocities modeled using friable sandstone model by default .

  • vp2 (array) – upper bound velocities modeled using MUSH model by default.

  • vp3 (array) – upper bound velocities modeled using contact cement model by default.

  • cmap (string, optional) – colormap, can be default colormaps in matplotlib, by default using the customized colormap: cmap_sand

Returns:

object – elastic bounds plot used for rock physics screening

static normalize(density)[source]

normalize the kde with respect to the maximum value and map value to 0-1

kde_plot(phi, v1, v2, v3, cmap=cmap_kde, vels='Vp', n=64)[source]

plot field data or measurements as 2D probability density functions in the elastic bounds cross plot

Parameters:
  • phi (array) – porosity

  • vp1 (array) – lower bound velocities modeled using friable sandstone model by default .

  • vp2 (array) – upper bound velocities modeled using MUSH model by default.

  • vp3 (array) – upper bound velocities modeled using contact cement model by default.

  • cmap (string, optional) – colormap, can be default colormaps in matplotlib, by default using the customized colormap: cmap_kde

  • vels (str, optional) – choose either P wave or S wave velocity for plotting, by default ‘Vp’

  • n (int, optional) – grid parameter used in KDE-diffusion, by default 64

Returns:

object – KDE plot with elastic bounds

static cst_vels(phi_b, K0, D0, G0, phi, phi_c, Cn, Kc, Gc, Db, Kb, scheme, vsh, Dsh, Dqz, Dc)[source]

compute velocities using constant cement model at different cement amounts

Parameters:
  • phi_b (float) – adjusted porosity for constant cemnet model

  • K0 (float) – Bulk modulus of grain material in GPa

  • D0 (float) – Density of grain material

  • G0 (float) – Shear modulus of grain material in GPa

  • phi (float) – porosity

  • phi_c (float) – Critical Porosity

  • Cn (float) – critical porosity

  • Kc (float) – Bulk modulus of cement

  • Gc (float) – Shear modulus of cement

  • Db (float) – density of the pore fluid

  • Kb (float) – bulk modulus of the pore fluid

  • scheme (int) –

    Scheme of cement deposition

    1=cement deposited at grain contacts 2=cement deposited at grain surfaces

  • vsh (float) – shale content

  • Dsh (float) – density the clay

  • Dqz (float) – Density of the grain. not limited to quartz grain

  • Dc (float) – density of the cement

Returns:

array – vp,vs: velocities given by constant cement model

static cst_plot(Dqz, Kqz, Gqz, Dsh, Ksh, Gsh, Dc, Kc, Gc, Db, Kb, phib, phib_p, phi_c, sigma, vsh, Cn, scheme, f)[source]

Diagnostic plot with constant cement model lines

Parameters:
  • Dqz (float) – Density of the grain. not limited to quartz grain

  • Kqz (float) – Bulk modulus of grain material in GPa

  • Gqz (float) – Shear modulus of grain material in GPa

  • Dsh (float) – density the clay

  • Ksh (float) – bulk modulus of the clay

  • Gsh (float) – shear modulus of the clay

  • Dc (float) – density of the cement

  • Kc (float) – Bulk modulus of cement

  • Gc (float) – Shear modulus of cement

  • Db (float) – density of the pore fluid

  • Kb (float) – bulk modulus of the pore fluid

  • phib (float) – adjusted high porosity end memeber for constant cement model

  • phib_p (array or list) – posoities used to drawing the constant cement lines

  • phi_c (float) – Critical Porosity

  • sigma (float) – effective stress

  • vsh (float) – shale content

  • Cn (float) – coordination number

  • scheme (int) –

    Scheme of cement deposition

    1=cement deposited at grain contacts 2=cement deposited at grain surfaces

  • f (float) –

    reduced shear factor between 0 and 1

    0=dry pack with inifinitely rough spheres; 1=dry pack with infinitely smooth spheres

Returns:

object – fig,ax: constant cement diagnostic plot

static cal_v_const(Dqz, Kqz, Gqz, Dsh, Ksh, Gsh, Dc, Kc, Gc, Db, Kb, phi_b, phi_c, vsh, phi, scheme)[source]

input real data porosity and caculate the theoretical constant cement model velocity value. Note: input porosity cannot be zero, otherwise the returned velocities are Nan.

Parameters:
  • Dqz (float) – Density of the grain. not limited to quartz grain

  • Kqz (float) – Bulk modulus of grain material in GPa

  • Gqz (float) – Shear modulus of grain material in GPa

  • Dsh (float) – density the clay

  • Ksh (float) – bulk modulus of the clay

  • Gsh (float) – shear modulus of the clay

  • Dc (float) – density of the cement

  • Kc (float) – Bulk modulus of cement

  • Gc (float) – Shear modulus of cement

  • Db (float) – density of the pore fluid

  • Kb (float) – bulk modulus of the pore fluid

  • phi_b (_type_) – _description_

  • phi_c (float) – Critical Porosity

  • vsh (float) – shale content

  • phi (array) – porosity

  • scheme (int) –

    Scheme of cement deposition

    1=cement deposited at grain contacts 2=cement deposited at grain surfaces

Returns:

array – vp,vs: constant cement velocities

estimate_cem(vcem_seeds, Kqz, Gqz, Ksh, Gsh, phi_c, Cn, Kc, Gc, Db, Kb, scheme, vsh, Dsh, Dqz, Dc)[source]

Estimate cement amount for well log data using constant cement model crossplot.

Parameters:
  • vcem_seeds (array or list) – some predefined values at which constant cement lines are calculated

  • Kqz (float) – Bulk modulus of grain material in GPa

  • Gqz (float) – Shear modulus of grain material in GPa

  • Ksh (float) – bulk modulus of the clay

  • Gsh (float) – shear modulus of the clay

  • phi_c (float) – Critical Porosity

  • Cn (float) – coordination number

  • Kc (float) – Bulk modulus of cement

  • Gc (float) – Shear modulus of cement

  • Db (float) – density of the pore fluid

  • Kb (float) – bulk modulus of the pore fluid

  • scheme (int) –

    Scheme of cement deposition

    1=cement deposited at grain contacts 2=cement deposited at grain surfaces

  • vsh (float) – shale content

  • Dsh (float) – density the clay

  • Dqz (float) – Density of the grain. not limited to quartz grain

  • Dc (float) – density of the cement

Returns:

array – cement amount estimation for each well log data points

cement_diag_plot(vcem, Dqz, Kqz, Gqz, Dsh, Ksh, Gsh, Dc, Kc, Gc, Db, Kb, phib, phib_p, phi_c, sigma, vsh, Cn, scheme, f)[source]

_summary_

Parameters:
  • vcem (_type_) – _description_

  • Dqz (float) – Density of the grain. not limited to quartz grain

  • Kqz (float) – Bulk modulus of grain material in GPa

  • Gqz (float) – Shear modulus of grain material in GPa

  • Dsh (float) – density the clay

  • Ksh (float) – bulk modulus of the clay

  • Gsh (float) – shear modulus of the clay

  • Dc (float) – density of the cement

  • Kc (float) – Bulk modulus of cement

  • Gc (float) – Shear modulus of cement

  • Db (float) – density of the pore fluid

  • Kb (float) – bulk modulus of the pore fluid

  • phib (float) – adjusted high porosity end memeber for constant cement model

  • phib_p (array or list) – posoities used to drawing the constant cement lines

  • phi_c (float) – Critical Porosity

  • sigma (float or array-like) – effective stress

  • vsh (float) – shale content

  • Cn (float) – coordination number

  • scheme (int) –

    Scheme of cement deposition

    1=cement deposited at grain contacts 2=cement deposited at grain surfaces

  • f (float) –

    reduced shear factor between 0 and 1

    0=dry pack with inifinitely rough spheres; 1=dry pack with infinitely smooth spheres

Returns:

object – cross plot for cement estimation

static plot_rpt(Kdry, Gdry, K0, D0, Kb, Db, Khc, Dhc, phi, sw)[source]

Create RPT plot given computed Impedance and Vp/Vs ratio.

Parameters:
  • Kdry (float or array) – effective bulk modulus given by rock physics model

  • Gdry (float or array) – effective shear modulus given by rock physics model

  • K0 (float) – bulk modulus of grain

  • D0 (float) – density of grain

  • Kb (float) – bulk moduluf of brine

  • Db (float) – density of brine

  • Khc (float) – bulk modulus of HC

  • Dhc (float) – density of HC

  • phi (float or array) – porosity

  • sw (float or array) – water saturation

Returns:

python onject (fig) – rpt plot