Skip to content

Porosity.jlRock physics parameter inference in Julia

Automatic Differentiation enabled probabilistic inference of rock physics

Porosity.jl

Installation ​

You can install Porosity.jl on Julia by running:

julia
using Pkg
Pkg.add("Porosity.jl")

A large part of the package has functionalities borrowed from the Very Broadband Rheology Calculator (VBRc), coded up in MATLAB.

The Very Broadband Rheology Calculator (VBRc) provides a useful framework for calculating material properties from thermodynamic state variables (e.g., temperature, pressure, melt fraction, grain size) using a wide range of experimental scalings. The VBRc at present contains constitutive models only for olivine, but may be applied to other compositions (at your own risk). The main goal is to allow easy comparison between methods for calculating anelastic-dependent seismic properties, but the VBRc can also be used for calculating steady state viscosity, pure elastic (anharmonic) seismic properties and more. It can be used to fit and analyze experimental data, infer thermodynamic state from seismic measurements, predict measurable properties from geodynamic models, for example.

Available models ​

∘ Dai_Karato2009
∘ Gaillard2008
∘ Jones2012
∘ Ni2011
∘ Poe2010
∘ SEO3
∘ Sifre2014
∘ UHO2014
∘ Wang2006
∘ Yang2011
∘ Yoshino2009
∘ Zhang2012
∘ const_matrix

The whole list can be obtained by running `subtypes(AbstractCondModel)`
∘ SLB2005
∘ anharmonic
∘ anharmonic_poro

The whole list can be obtained by running `subtypes(AbstractElasticModel)`
∘ HK2003
∘ HZK2011
∘ xfit_premelt

The whole list can be obtained by running `subtypes(AbstractViscousModel)`
∘ andrade_analytical
∘ andrade_psp
∘ eburgers_psp
∘ premelt_anelastic
∘ xfit_mxw

The whole list can be obtained by running `subtypes(AbstractAnelasticModel)`
Two phase :
∘ HS upper bound
∘ HS lower bound
∘ Modified Archie's law

Multiple phase :
∘ HS upper bound
∘ HS lower bound
∘ Generalized Archie's law