The Lab

Part 12, Part 12: The Rock Physics Lab

Learning objectives

  • Assemble the whole rock-physics pipeline in one workbench
  • Pick a mineral, a dry-frame model, and a pore fluid, then read the elastic outputs
  • Trace one worked example, a quartz soft sand at porosity 0.25, from grain to velocity
  • Export the recipe and its outputs as a real JSON or CSV file

Every Model, One Bench

The final part hands you the whole course as a working kit, and this section is its workbench. You BUILD a rock in three choices. First the MINERAL: quartz, calcite, or a quartz-clay mix, the solid the grains are made of. Then the DRY FRAME: soft sand, stiff sand, or contact cement, at a porosity you set (the pressure is held at 20 MPa, the course's reference), the model that says how those grains are packed and stuck. Then the FLUID: the course's brine, oil, or gas preset, each a Batzle-Wang value at reservoir conditions, the substance filling the pores. From those three the Lab computes everything the course has taught you to compute, the dry and saturated bulk moduli, the P and S velocities, the density, the impedance, the ratio, and it drops the rock onto the rock-physics template so you can see where it lands.

Nothing here is a black box. Every knob is one you now understand and every number is one you could work out by hand from the earlier parts. The Lab only gathers the exact, cheap kernels into a single loop so that changing the porosity or swapping the fluid updates the whole chain at once, the way a working rock physicist actually explores a rock.

The Rock Physics Labmineralquartzdry framesoft sandfluidbrineoutputsKdry4.18Ksat11.87Vp2.88Vs1.51rho2.25Ip6.47Vp/Vs1.91One recipe, end to end: mineral, dry frame, fluid, and the velocities they predict.

One Rock, Grain to Velocity

Walk a single recipe end to end. Take quartz grains, Kmin=36.6K_{min} = 36.6min=36.6 GPa, and pack them as a soft sand at porosity phi=0.25\phi = 0.25, with a critical porosity phic=0.36\phi_c = 0.36c=0.36, a coordination number C=9C = 9, at an effective pressure of 20 MPa. The Hertz-Mindlin pack sets the dry moduli at the critical porosity, and the modified Hashin-Shtrikman lower line carries them down to this porosity, giving a dry frame of Kdry=4.18K_{dry} = 4.18dry=4.18 GPa and mu=5.10\mu = 5.10 GPa. Now saturate the pores with brine (Kfl=2.95K_{fl} = 2.95fl=2.95 GPa). Gassmann lifts the bulk modulus to Ksat=11.87K_{sat} = 11.87sat=11.87 GPa while the shear modulus sits unmoved at 5.10, and the density mixes to rho=2.25\rho = 2.25 g/cc. From those the velocities follow: Vp=2.88V_p = 2.88p=2.88 km/s, Vs=1.51V_s = 1.51s=1.51 km/s, an impedance of Ip=6.47I_p = 6.47p=6.47, and a ratio Vp/Vs=1.91V_p/V_s = 1.911.91. On the template that point sits where a soft, brine-filled sand should, moderate impedance and a ratio near 1.9, and swapping the fluid to gas would slide it left and down toward the classic bright-spot corner.

That single pass touched Part 1 for the moduli, Part 2 for the bounds the frame respects, Part 3 for the fluid, Part 4 for Gassmann, Part 5 for the granular frame, and Part 7 for the template. The Lab is those parts wired together.

Take the Rock Home

A number you cannot carry out of the browser is a number you cannot use. So the Lab EXPORTS: one click writes the whole recipe, the mineral, the frame model and its parameters, the fluid and its conditions, and every output, to a real JSON or CSV file with its byte count shown, ready to load in a spreadsheet or a Python script. What you assembled by sliding is now a file you can version, share, and feed to a research code. The next section turns that habit of choosing into a reference: given a rock, which of these models do you reach for, and what does each one cost you in assumptions?

References

  • Mavko, G., Mukerji, T., & Dvorkin, J. (2009). The Rock Physics Handbook (2nd ed.). Cambridge University Press.
  • Avseth, P., Mukerji, T., & Mavko, G. (2005). Quantitative Seismic Interpretation. Cambridge University Press.

This page is prerendered for SEO and accessibility. The interactive widgets above hydrate on JavaScript load.