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()
rho0: initial density
ao: coefficient of thermal expansion
akt0: isothermal bulk modulus, which is a measure of a material’s resistance to compression under uniform pressure
dkdp: pressure derivative of the bulk modulus, indicating how the bulk modulus changes with pressure
amu0: shear modulus of the mineral. The shear modulus measures a material’s resistance to deformation by shear stress
dmudp: pressure derivative of the shear modulus, indicating how the shear modulus changes with pressure
gam: gamma, first thermodynamic Gruinesen parameter
grun: second Gruneisen parameter, which is a measure of how a material’s volume changes with temperature
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()
density: density of material at any given pressure and temperature
aks: bulk modulus, The bulk modulus indicates how much a material will compress under pressure.
amu: Shear Modulus, The shear modulus is essential for understanding a material’s response to shear stress
vp: P-wave velocity at any given pressure and temperature
vs: swave velocity at any given pressure and temperature
vbulk: Bulk sound velocity, The velocity of sound waves traveling through a material
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")
[ ]:
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")
[ ]:
[ ]:
[ ]: