Category Archives: Scripts

Scripts main category

Partial saturation

This package compares the results of 1D and 3D random patchy saturation models with time-lapse log data for Nagaoka CO2 geosequestration experiment.

model3_mod.m is the driver script.

Publication: Caspari, E., T. Muller, and B. Gurevich, 2011, Time-lapse sonic logs reveal patchy CO2 saturation in-situ: Geophysical Research Letters, 38, L13301, doi:10.1029/2011GL046959.

Name: Partial Saturation (3 downloads)
Author(s): Eva Caspari and Boris Gurevich, Curtin University
Version: 0.2
Date: 04/03/2008
Revisions:
v.0.2, 26/04/2018, Boris Gurevich, Curtin University & CSIRO
v.0.1, 05/04/2014, Eva Caspari and Boris Gurevich, Curtin University

Functions:

  • base_std(d1,d2)
    Porosity and vp for certain depth
  • CRMN.m
    Continuous random model of patchy saturation. Paper: Toms, J., T. M. Muller, and B. Gurevich, 2007, Seismic attenuation in porous
    rocks with random patchy saturation: Geophysical Prospecting, 55, 671–678.
  • data_new(dp1,dp2)
    Monitoring and baseline data.
  • model3_mod.m
    Compare the results of 1D and 3D random patchy saturation models with time-lapse log data for Nagaoka CO2 geosequestration experiment (Caspari, Muller, and Gurevich, 2011).
  • RM1D(Kfl1,Kfl2,Sgas,phi,Kdry,mu,ksat,sigma,Mw,kg,b,Hdata)
    1D random patchy saturation model
  • RM1D2(Kfl1,Kfl2,Sgas,phi,Kdry,mu,ksat,sigma,Mw,kg,Hdata)
    1D random patchy saturation model

Back to top


Note to Visitors

Please note that only current Industry Partners are able to download available script packages, publications and other content on this site.

If you would like to become an Industry Partner with the the CRGC, please contact us. You can find the latest information here.


 

Isotropic effective medium models

Matlab scripts for effective medium models for ellipsoidal inclusions

Name: Isotropic effective medium models (2 downloads)
Author(s): Yongyang Sun and Boris Gurevich, Curtin University.
Version: 0.1
Date: 15/05/2018

Functions:

  • KT
    Kuster-Toksoz (also known as Average T-Maxtrix Approximation or APA)
  • CPA
    Coherent Potential Approximation (a self-consistent KT)
  • DEM
    Differential effective medium
  • hash
    Hashin-Shtrikman Bounds (from T. Mukerji, Stanford University)

As per Berryman, J. G., 1980, Long-wavelength propagation in composite elastic media II. Ellipsoidal inclusions: The Journal of the Acoustical Society of America, 68, no. 6, 1820–1831.

The driver scripts show examples as to how to use these scripts.

  • test_Berryman1980b.m – driver script that reproduces Fig 1-4 of J. G. Berryman (1980).

Back to top


Note to Visitors

Please note that only current Industry Partners are able to download available script packages, publications and other content on this site.

If you would like to become an Industry Partner with the the CRGC, please contact us. You can find the latest information here.


 

Green functions in poroeleastic media

Matlab script package for Green’s functions and radiation patterns in poroelastic solids.

Name: Green functions in poroeleastic media (3 downloads)
Author(s): Florian Karpfinger and Boris Gurevich, Curtin University
Version: 0.1
Date: 04/03/2008

See Karpfinger_Mueller_Gurevich_GJI2009.pdf, which is included in the archive for further information on these scripts.

Karpfinger, F., T. M. Müller, and B. Gurevich, 2009, Green’s functions and radiation patterns in poroelastic solids revisited: Geophysical Journal International, 178, no. 1, 327–337.
Back to top


Note to Visitors

Please note that only current Industry Partners are able to download available script packages, publications and other content on this site.

If you would like to become an Industry Partner with the the CRGC, please contact us. You can find the latest information here.


Granular Media

The script CN_Contactsurfacearea.m computes coordination number (CN) and contact surface area of a grain from a 3D micro-CT image of a granular pack.

Name:  Granular Media (3 downloads)
Author(s): , Zubair Ahmed and Maxim Lebedev, Curtin University.
Version: 0.1
Date: 04/06/2018

The image should be in ASCII format that has a single column of all the voxel values, each of which represents either a grain label or a void space as 0. Here in this case, it is imported from AVIZO, a commercial software for micro-CT image processing.

A detailed description of this code and how it works are available in Ahmed and Lebedev (2018). Elastic properties of sands, Part-1: Micro-CT image analysis of grain shapes and their relationship with microstructure, Geophysical Prospecting,  https://doi.org/10.1111/1365-2478.12652.

Results from this code are used to characterise elastic properties of unconsolidated granular packs using effective medium models based on Hertzian contact theory (Z. Ahmed, and M. Lebedev, 2018): Elastic properties of sands, Part 2: Implementation of contact based model to determine the elasticity of the grains from ultrasonic measurement, Geophysical Prospecting,  under revision).

The file Codes_for_CN.mp4 is a video explaining the algorithm.

Back to top


Note to Visitors

Please note that only current Industry Partners are able to download available script packages, publications and other content on this site.

If you would like to become an Industry Partner with the the CRGC, please contact us. You can find the latest information here.


 

Anisotropic Effective-Medium Modelling

This set of functions is used for anisotropic effective-medium modelling. Each function in this package has a description, explanations of inputs and outputs, and a list of relevant references.

File “Example.m” is the main driver Matlab script, which demonstrates the use of the functions.


Name:  Anisotropic Effective-Medium Modelling (8 downloads)
Author(s):
 Alexey Yurikov and Prof. Maxim Lebedev, Curtin University
Version: 0.1
Date: 21/05/2018


Script Package – Functions
  • addInclusionsVTI
    Returns components of stiffness tensor of a matrix of a VTI media with added impact of aligned elliptical inclusions.
  • check_constraints
    Returns 1 if input stiffness moduli satisfy all physical constraintes, returns 0 if at least one of the constraints is violated.
  • convertCS_MatrixVectorVTI
    Returns compliance/stiffness matrix of VTI media in a Voigt form assembled from vector of components organised as M = [m11 m33 m44 m66 m13] or does the reverse procedure if input is 6×6 matrix; M = S or C depending on parameter moduli_type.
  • convertSC_VTI
    Returns independent compliance moduli of VTI media if input is stiffness, or independent stiffness moduli if input is compliance.
  • DEM
    Returns stiffness tensor of a composite media consisting background with elliptical inclusions in Voigt matrix form.
  • ODF_INV_A
    Is used to fit the experimental normalised ODF with Owens’s function, determined by parameter a.
  • ODF_NORM
    Returnes normalised ODF in the format suitable for polycristal calculation script.
  • ODF_OWENS
    Determines Owens’s orientation distribution function.
  • removeInclusionsVTI
    Returns components of stiffness tensor of a matrix of a VTI media with removed impact of aligned elliptical inclusions.
  • rotateModuli
    Returns elastic moduli of reoriented VTI media depending on parameter “mode” using orientation parameters W200 and W400.
  • rotateModuliVTI_Owens
    Returns elastic moduli of reoriented VTI media depending on parameter “mode” using orientation parameter a (Owens’s function).
  • SCA
    Returns stiffness tensor (in Voigt matrix form) of a composite media consisting of elliptical inclusions.
  • W_CALCULATE
    Returnes coefficients W200 and W400 for ODF described by Owens’s function (parameter a).

Back to top


Note to Visitors

Please note that only current Industry Partners are able to download available script packages, publications and other content on this site.

If you would like to become an Industry Partner with the the CRGC, please contact us. You can find the latest information here.


Dispersion in porous rocks with fractures

This is a set of Matlab script packages related to the dispersion in porous rocks with fractures, studied in a PhD project by Junxin Guo.

A script package containing extended work on this project is also included on this page.

Summary:

Seismic characterisation of fractures is of great importance for the oil and gas production. For this purpose, in this thesis, I explore the mechanisms for the seismic dispersion,  attenuation, and frequency-dependent anisotropy in fractured reservoirs.

Two important mechanisms are investigated, one is the wave-induced fluid flow (WIFF) and the other is the wave scattering by fractures. This study provides numerically validated theoretical models, which lay the basis for developing seismic attributes for fractured reservoir characterisation.

This PhD Thesis was submitted in March 2018 by Junxin Guo.

Thesis Outline

  • Chapter 1: Introduction
  • Chapter 2: Theoretical background and numerical simulation methodologies
  • Chapter 3 Dispersion, attenuation, and anisotropy due to WIFF in porous rocks with aligned fractures of finite thickness
  • Chapter 4 Dispersion, attenuation, and anisotropy due to WIFF in porous rocks containing two orthogonal sets of fractures
  • Chapter 5 Scattering of seismic waves by aligned fluid saturated fractures with finite thickness
  • Chapter 6 Coupling effects between WIFF and scattering on the seismic dispersion and attenuation
  • Chapter 7 Conclusions

The published journal articles are included in the folders.

Note that Chapters 3, 4, 5 and 6 each have their own Matlab scripts package as listed below.


Script Packages for Junxin Guo’s Thesis: Seismic Dispersion, Attenuation, and Frequency-Dependent Anisotropy of Fractured Reservoirs.

Author(s): Junxin Guo and Boris Gurevich, Curtin University
Version: 0.1
Date: 27/04/2018


Packages:

Name:  Dispersion Attenuation Anisotropy in Rocks With Aligned Fractures Of Finite Thickness (Chapter 3) (4 downloads)
Version: 0.1
Date: 27/04/2018
Description: Dispersion Attenuation Anisotropy in Rocks With Aligned Fractures Of Finite Thickness (Chapter 3).

Functions:

  • anisotropy_Gassmann(C,por,Ks,Kf)
    Calcuates the saturated stiffness matrix using anisotropic Gassmann (orthotropy).
  • anisotropy_velocity(C11,C12,C22,C44,C55,C66,ang,den)
    Calculates the velocities in the 1-2 plane. The velocities are dependent on the incident angles.
  • General_Eshelby_model(Km,Gm,Kmf,Gmf,a1,a2,a3,por,opt)
    Calculates the excess compliance matrix of  fractures which is filled by any elastic materials in the isotropic elastic background matrix (Mura, 1987, Section 11).
  • linear_slip(Em,vm,Zn1,Zt1,Zn2,Zt2)
    Calculates the effective stiffness matrix for the dry rock with two sets of orthoganal fractures in the 1-2 plane.

Back to top


Name:  Dispersion in porous rocks with Fractures/Dispersion Attenuation Anisotropy in Rocks with Two Orthogonal Fracture sets (Chapter 4) (1 download)
Version: 0.1
Date: 27/04/2018
Description:  Dispersion in porous rocks with Fractures/Dispersion Attenuation Anisotropy in Rocks with Two Orthogonal Fracture sets (Chapter 4)

Functions:

  • anisotropy_Gassmann(C,por,Ks,Kf)
    This function calcuates the saturated stiffness matrix using anisotropic Gassmann (orthotropy).
  • anisotropy_velocity(C11,C12,C22,C44,C55,C66,ang,den)
    This function calculates the velocities in the 1-2 plane. The velocities are dependent on the incident angles.
  • linear_slip(Em,vm,Zn1,Zt1,Zn2,Zt2)
    This function calculates the effective stiffness matrix for the dry
    rock with two sets of orthogonal fractures in the 1-2 plane.
  • Multi_fracture_elastic_properties
    This function calculates the elastic properties (and elastic wave velocities) of the saturated rock with two perpendicular sets of fractures (intersecting or non-intersecting) in the low- and high-frequency limits, as well as at intermediate frequency range.

Back to top


Name: Scattering of seismic waves by aligned fluid saturated fractures with finite thickness (Chapter 5) (1 download)
Version: 0.1
Date: 27/04/2018
Description: Scattering of seismic waves by aligned fluid saturated fractures with finite thickness (Chapter 5).

Functions:

  • anisotropy_velocity(C11,C12,C22,C44,C55,C66,ang,den)
    Calculates the velocities in the 1-2 plane.
    The velocities are dependent on the incident angles.
  • General_Eshelby_model(Km,Gm,Kmf,Gmf,a1,a2,a3,por,opt)
    Calculates the excess compliance matrix of fractures, which is filled by any elastic materials in the isotropic elastic background matrix (Mura, 1987, section 11).
  • Numerical_example_wave_scattering_crack_density
    Calculates the scattering dispersion and attenuation under different crack density.
  • Numerical_example_wave_scattering_fluid_modulus
    Calculates the scattering dispersion and
    attenuation under different fluid bulk modulus.
  • Numerical_example_wave_scattering_fluid_viscosity
    Calculates the scattering dispersion and
    attenuation under different fluid viscosity.
  • Numerical_example_wave_scattering_thickness
    Calculates the scattering dispersion and attenuation under different fracture thickness.
  • Prediction_wei_data_scattering_dispersion_attenuation
    Compares the theoretical predictions with the experimental results for the scattering attenuation perpendicular and parallel to the fracture plane.
  • Prediction_wei_data_scattering_dispersion_dispersion
    Compares the theoretical predictions with the experimental results for the scattering dispersion perpendicular and parallel to the fracture plane.
  • PSVatt_dis(f,a,ang,v,e,vis,Km,Gm,Kf,den,M)
    Calculates the phase velocity and attenuation of the P and SV wave due to the scattering by the aligned fractures in the rock (2D), programmed based on the paper by Kawahara and Yamashita (1992): Scattering of elastic waves by a fracture zone containing randomly distributed fluid saturated cracks with no fluid flow inside.
  • PSVatt_dis_fluid_pressure(f,a,ang,v,e,vis,Km,Gm,Kf,den,Popt,M)
    Calculates the phase velocity and attenuation of the P and SV wave due to the scattering by the aligned fractures in the rock (2D), programmed based on the paper by Kawahara and Yamashita (1992): Scattering of elastic waves by a fracture zone containing randomly distributed fluid saturated cracks with uniform fluid pressure.
  • PSVscatering_matrix(M,m,n,k,h,opt)
    Calculates the scattering matrix element T_mn^(121) for the P and SV wave according to the paper Kawahara and Yamashita (1992): Scattering of elastic waves by a fracture zeone containing randomly distributed cracks (Appendix C).

Back to top


Name:  Coupling Effects Between WIFF and Scattering On The Seismic Dispersion And Attenuation (Chapter 6) (1 download)
Version: 0.1
Date: 27/04/2018
Description: Coupling Effects Between WIFF and Scattering On The Seismic Dispersion And Attenuation (Chapter 6).

Functions:

  • anisotropy_Gassmann(C,por,Ks,Kf)
    This function is used to calcuate the saturated stiffness matrix using {716467cda98819fdee890b93468ddc20789bb7014d5f7dd88adfbce1dfda31d2} anisotropic Gassmann (orthotropy).
  • General_Eshelby_model(Km,Gm,Kmf,Gmf,a1,a2,a3,por,opt)
    This function is used to calculate the excess compliance matrix of
    {716467cda98819fdee890b93468ddc20789bb7014d5f7dd88adfbce1dfda31d2} fractures which is filled by any elastic materials in the isotropic
    {716467cda98819fdee890b93468ddc20789bb7014d5f7dd88adfbce1dfda31d2} elastic background matrix, Mura, 1987, section 11.
  • Prediction_numerical_simulations_Eva_scattering_WIFF
    This function is used to compare the theoretical predictions with the {716467cda98819fdee890b93468ddc20789bb7014d5f7dd88adfbce1dfda31d2} numerical simulations consdiering both the effects of scattering and WIFF.
  • PSVatt_dis_fluid_pressure(f,a,ang,v,e,vis,Km,Gm,Kf,den,Popt,M)
    This function calculates the phase velocity and attenuation of the P and SV wave due to the scattering by the aligned fractures in the rock (2D), programmed based on the paper by Kawahara and Yamashita (1992): scattering of elastic waves by a fracture zone containing randomly distributed fluid saturated cracks with uniform fluid pressure.
  • PSVatt_dis_WIFF(f,a,ang,v,e,vis,Km,Gm,P1,P2,Znd,Zn0,Kf,por_f,den,M)
    This function calculate the phase velocity and attenuation of the P and SV wave due to the scattering by the aligned fractures in the rock (2D), programmed based on the paper by Kawahara and Yamashita (1992): scattering of elastic waves by a fracture zone containing randomly distributed fluid saturated crack, the solid is considered to be porous medium and the wave-induced fluid flow effects are incorporate.
  • PSVscatering_matrix(M,m,n,k,h,opt)
    This function calculate the scattering matrix element T_mn^(121) for the P and SV wave according to the paper by Kawahara and Yamashita (1992): scattering of elastic waves by a fracture zeone containing randomly distributed cracks (Appendix C).

Back to top


Packages for the extended research on dispersion and anisotropy in porous rocks with fractures to aligned slit and penny fractures, beyond Guo’s PhD thesis.

Authors: Boye Fu and Boris Gurevich, Curtin University
Version: 0.1
Date: 18/05/2018
Name:  Dispersion attenuation anisotropy in rocks with aligned slit and penny fractures (2 downloads)
Description: Dispersion attenuation anisotropy in rocks with aligned slit and penny fractures.

Functions:

  • gff(z)
    This function is used in scatteringproblem.m and calculates the incident P wave “-p0S(x)” from Galvin (2009), equation (29).
  • gff1(z)
    This function is used in scatteringproblem.m and calculates the incident P wave “f(w)” from Song (2017), equation (A13).
  • HKK(u)
    This code generates an analytical result for the low-frequency limit of the second order term of ‘k2’ of function in the kernel function “H” from Song (2017), equation (60).
  • HKK4(u)
    This code generates an analytical result for the low-frequency limit of the fourth order term of ‘k2’ of function in the kernel function “H” from Song (2017), equation (60).
  • lambdaK_generalf(u,z)
    This function is used in scatteringproblem.m and calculates the kernel function R(x,y)T(y) from Galvin (2009), equation (29).
  • lambdaK_generalf8(u,z)
    This function is used in scatteringproblem.m and calculates kernel function “Kb” from Song (2017), equation (A13).
  • scatteringproblem.m
    The scripts are generated after Galvin, R. (2007), Elastic wave attenuation, dispersion and anisotropy  in fractured porous media. Doctoral dissertation, Curtin University. Please see Song, et al., (2017) for the details of the parameters used in this script.

Back to top


Note to Visitors

Please note that only current Industry Partners are able to download available script packages, publications and other content on this site.

If you would like to become an Industry Partner with the the CRGC, please contact us. You can find the latest information here.