Isotropic Velocities Analysis#

Let’s first import the Isotropy class from santex for Isotropic velocities analysis

[1]:
from santex.isotropy import Isotropy
import numpy as np

Define isotropy instance#

We first create an instance of isotropy class by invoking isotropy = Isotropy()

[2]:
isotropy = Isotropy()

Get Available phases#

Let’s check the available materials on which we can get the isotropic wave velocities at different pressure and temperature profile

[3]:
isotropy.get_available_phases()
######################Available Phases######################
Material id: aqz       Material name: Alpha-Quartz
######################Available Phases######################
Material id: bqz       Material name: Beta-Quartz
######################Available Phases######################
Material id: coe       Material name: Coesite
######################Available Phases######################
Material id: hAb       Material name: High-T Albite
######################Available Phases######################
Material id: lAb       Material name: Low-T Albite
######################Available Phases######################
Material id: an       Material name: Anorthite
######################Available Phases######################
Material id: or       Material name: Orthoclase
######################Available Phases######################
Material id: san       Material name: Sanidine
######################Available Phases######################
Material id: alm       Material name: Almandine
######################Available Phases######################
Material id: gr       Material name: Grossular
######################Available Phases######################
Material id: py       Material name: Pyrope
######################Available Phases######################
Material id: fo       Material name: Forsterite
######################Available Phases######################
Material id: fa       Material name: Fayalite
######################Available Phases######################
Material id: en       Material name: Enstatite
######################Available Phases######################
Material id: fs       Material name: Ferrosillite
######################Available Phases######################
Material id: mgts       Material name: Mg-Tschermak
######################Available Phases######################
Material id: di       Material name: Diopside
######################Available Phases######################
Material id: hed       Material name: Hedenbergite
######################Available Phases######################
Material id: jd       Material name: Jadeite
######################Available Phases######################
Material id: ac       Material name: Acmite
######################Available Phases######################
Material id: cats       Material name: Ca-Tschermak
######################Available Phases######################
Material id: gl       Material name: Glaucophane
######################Available Phases######################
Material id: fgl       Material name: Ferroglaucophane
######################Available Phases######################
Material id: tr       Material name: Tremolite
######################Available Phases######################
Material id: fact       Material name: Ferroactinolite
######################Available Phases######################
Material id: ts       Material name: Tschermakite
######################Available Phases######################
Material id: parg       Material name: Pargasite
######################Available Phases######################
Material id: hb       Material name: Hornblende
######################Available Phases######################
Material id: anth       Material name: Anthophyllite
######################Available Phases######################
Material id: phl       Material name: Phlogopite
######################Available Phases######################
Material id: ann       Material name: Annite
######################Available Phases######################
Material id: mu       Material name: Muscovite
######################Available Phases######################
Material id: cel       Material name: Celadonite
######################Available Phases######################
Material id: ta       Material name: Talc
######################Available Phases######################
Material id: clin       Material name: Clinochlore
######################Available Phases######################
Material id: daph       Material name: Daphnite
######################Available Phases######################
Material id: atg       Material name: Antigorite
######################Available Phases######################
Material id: zo       Material name: Zoisite
######################Available Phases######################
Material id: cz       Material name: Clinozoisite
######################Available Phases######################
Material id: ep       Material name: Epidote
######################Available Phases######################
Material id: law       Material name: Lawsonite
######################Available Phases######################
Material id: pre       Material name: Prehnite
######################Available Phases######################
Material id: pump       Material name: Pumpellyte
######################Available Phases######################
Material id: lmt       Material name: Laumontite
######################Available Phases######################
Material id: wrk       Material name: Wairakite
######################Available Phases######################
Material id: br       Material name: Brucite
######################Available Phases######################
Material id: chum       Material name: Clinohumite
######################Available Phases######################
Material id: phA       Material name: Phase A
######################Available Phases######################
Material id: sill       Material name: Sillimanite
######################Available Phases######################
Material id: ky       Material name: Kyanite
######################Available Phases######################
Material id: sp       Material name: Mg-Spinel
######################Available Phases######################
Material id: herc       Material name: hercynite
######################Available Phases######################
Material id: mt       Material name: Magnetite
######################Available Phases######################
Material id: ilm       Material name: Ilmenite
######################Available Phases######################
Material id: rut       Material name: Rutile
######################Available Phases######################
Material id: ttn       Material name: Titanite
######################Available Phases######################
Material id: crd       Material name: Cordierite
######################Available Phases######################
Material id: scap       Material name: Scapolite
######################Available Phases######################
Material id: cc       Material name: Calcite
######################Available Phases######################
Material id: arag       Material name: Aragonite
######################Available Phases######################
Material id: mag       Material name: Magnesite
[3]:
['aqz',
 'bqz',
 'coe',
 'hAb',
 'lAb',
 'an',
 'or',
 'san',
 'alm',
 'gr',
 'py',
 'fo',
 'fa',
 'en',
 'fs',
 'mgts',
 'di',
 'hed',
 'jd',
 'ac',
 'cats',
 'gl',
 'fgl',
 'tr',
 'fact',
 'ts',
 'parg',
 'hb',
 'anth',
 'phl',
 'ann',
 'mu',
 'cel',
 'ta',
 'clin',
 'daph',
 'atg',
 'zo',
 'cz',
 'ep',
 'law',
 'pre',
 'pump',
 'lmt',
 'wrk',
 'br',
 'chum',
 'phA',
 'sill',
 'ky',
 'sp',
 'herc',
 'mt',
 'ilm',
 'rut',
 'ttn',
 'crd',
 'scap',
 'cc',
 'arag',
 'mag']

Get phase constants for e.g. Forsterite#

Following are the information we get when we invoke the method get_phase_constants()

  1. rho0: initial density

  2. ao: coefficient of thermal expansion

  3. akt0: isothermal bulk modulus, which is a measure of a material’s resistance to compression under uniform pressure

  4. dkdp: pressure derivative of the bulk modulus, indicating how the bulk modulus changes with pressure

  5. amu0: shear modulus of the mineral. The shear modulus measures a material’s resistance to deformation by shear stress

  6. dmudp: pressure derivative of the shear modulus, indicating how the shear modulus changes with pressure

  7. gam: gamma, first thermodynamic Gruinesen parameter

  8. grun: second Gruneisen parameter, which is a measure of how a material’s volume changes with temperature

  9. delt: Debye temperature, which is a measure of the average vibrational energy of atoms in a solid.

[4]:
isotropy.get_phase_constants("Forsterite")
[4]:
{'id': 'fo',
 'name': 'Forsterite',
 'rho0': 3222.0,
 'ao': 6.13e-05,
 'akt0': 127300000000.0,
 'dkdp': 4.2,
 'amu0': 81600000000.0,
 'dmudp': 1.6,
 'gam': 5.19,
 'grun': 1.29,
 'delt': 5.5}

Get velocities and densities#

We can get the following quantities at any given temperature and pressure for a material after invoking the method calculate_seismic_properties()

  1. density: density of material at any given pressure and temperature

  2. aks: bulk modulus, The bulk modulus indicates how much a material will compress under pressure.

  3. amu: Shear Modulus, The shear modulus is essential for understanding a material’s response to shear stress

  4. vp: P-wave velocity at any given pressure and temperature

  5. vs: swave velocity at any given pressure and temperature

  6. vbulk: Bulk sound velocity, The velocity of sound waves traveling through a material

  7. akt: Isothermal bulk modulus, Similar to the bulk modulus, but specifically refers to the resistance to compression under constant 8. temperature conditions

[9]:
density, aks, amu, vp, vs, vbulk, akt = isotropy.calculate_seismic_properties('Forsterite', temperature=2000, pressure=2, return_vp_vs_vbulk=True, return_aktout=True)
print(vp, vs)
7.5781436531609305 4.294565839495191
[10]:
vp
[10]:
7.5781436531609305
[11]:
vs
[11]:
4.294565839495191
[12]:
density
[12]:
3034.1119267366676
[13]:
vs
[13]:
4.294565839495191
[14]:
vbulk
[14]:
5.730428867439992
[15]:
akt
[15]:
88588086722.73985
[16]:
density
[16]:
3034.1119267366676

Let’s calculate the density, seismic velocities and thermodynamic constants for the given constant temperature and varying pressures.

[17]:
p = np.arange(0,10)
temp = np.ones(len(p)) * 1000.0

density, aks, amu, vp, vs, vbulk, akt = isotropy.calculate_seismic_properties('fo', temperature=temp, pressure=p, return_vp_vs_vbulk=True, return_aktout=True)
[18]:
import matplotlib.pyplot as plt

fig = plt.figure(figsize = (16,5))
ax = plt.subplot(161)
ax.plot(density,p)
ax.set_xlabel(r'Density [$kg/m^3$]')
ax.set_ylabel(r'Pressure [GPa]')

ax2 = plt.subplot(162)
ax2.plot(aks,p)
ax2.set_xlabel(r'Bulk Modulus')
ax2.set_yticklabels([])

ax3 = plt.subplot(163)
ax3.plot(amu,p)
ax3.set_xlabel(r'Shear Modulus')
ax3.set_yticklabels([])

ax4 = plt.subplot(164)
ax4.plot(vp,p)
ax4.set_xlabel(r'$V_P$ [$km/s$]')
ax4.set_yticklabels([])

ax5 = plt.subplot(165)
ax5.plot(vs,p)
ax5.set_xlabel(r'$V_S$ [$km/s$]')
ax5.set_yticklabels([])

ax6 = plt.subplot(166)
ax6.plot(akt,p)
ax6.set_xlabel(r'Isothermal Bulk Modulus')
ax6.set_yticklabels([])

plt.savefig("overall_figure.png", dpi=300, bbox_inches="tight")

../_images/notebooks_05-Isotropic_Velocities_23_0.png
[ ]:

Let’s calculate the density, seismic velocities and thermodynamic constants for the given constant pressure and varying pressures.

[19]:
temp = np.arange(600,1600)
p = np.ones(len(temp)) * 2.0

density, aks, amu, vp, vs, vbulk, akt = isotropy.calculate_seismic_properties('fo', temperature=temp, pressure=p, return_vp_vs_vbulk=True, return_aktout=True)
[20]:
fig = plt.figure(figsize = (16,5))
ax = plt.subplot(161)
ax.plot(density,temp)
ax.set_xlabel(r'Density [$kg/m^3$]')
ax.set_ylabel(r'Temperature [$K^{\circ}$]')

ax2 = plt.subplot(162)
ax2.plot(aks,temp)
ax2.set_xlabel(r'Bulk Modulus')
ax2.set_yticklabels([])

ax3 = plt.subplot(163)
ax3.plot(amu,temp)
ax3.set_xlabel(r'Shear Modulus')
ax3.set_yticklabels([])

ax4 = plt.subplot(164)
ax4.plot(vp,temp)
ax4.set_xlabel(r'$V_P$ [$km/s$]')
ax4.set_yticklabels([])

ax5 = plt.subplot(165)
ax5.plot(vs,temp)
ax5.set_xlabel(r'$V_S$ [$km/s$]')
ax5.set_yticklabels([])

ax6 = plt.subplot(166)
ax6.plot(akt,temp)
ax6.set_xlabel(r'Isothermal Bulk Modulus')
ax6.set_yticklabels([])

plt.savefig("temperature_isotropy.png", dpi=300, bbox_inches="tight")
../_images/notebooks_05-Isotropic_Velocities_27_0.png
[ ]:

[ ]:

[ ]: