Seismic#

Base class for all seismic models#

class burnman.classes.seismic.Seismic1DModel[source]#

Bases: object

Base class for all the seismological models.

evaluate(vars_list, depth_list=None)[source]#

Returns the lists of data for a Seismic1DModel for the depths provided

Parameters:
  • vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.

  • depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.

Returns:

Array of values shapes as (len(vars_list),len(depth_list)).

Return type:

numpy.array

internal_depth_list(mindepth=0.0, maxdepth=1e+99, discontinuity_interval=1.0)[source]#

Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.

Parameters:
  • mindepth (float) – Minimum depth value to be returned [m].

  • maxdepth (float) – Maximum depth value to be returned [m].

  • discontinuity_interval (float) – Shift continuities to remove ambigious values for depth [m].

Returns:

Depths [m].

Return type:

numpy.array

pressure(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Pressure(s) at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

v_p(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

P wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_s(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

S wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_phi(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk sound wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

density(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Density at given depth(s) in [kg/m^3].

Return type:

float or numpy.array of floats

G(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Shear modulus at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

K(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk modulus at given depth(s) in [Pa]

Return type:

float or numpy.array of floats

QK(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for bulk modulus at given depth(s).

Return type:

float or numpy.array of floats

QG(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for shear modulus at given depth(s).

Return type:

float or numpy.array of floats

depth(pressure)[source]#
Parameters:

pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.

Returns:

Depth(s) [m] for given pressure(s).

gravity(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Gravity at given depths in [m/s^2].

Return type:

float or numpy.array of floats

Class for 1D Models#

class burnman.classes.seismic.SeismicTable[source]#

Bases: Seismic1DModel

This is a base class that gets a 1D seismic model from a table indexed and sorted by radius. Fill the tables in the constructor after deriving from this class. This class uses burnman.seismic.Seismic1DModel

Note: all tables need to be sorted by increasing depth. self.table_depth needs to be defined. Alternatively, you can also overwrite the _lookup function if you want to access with something else.

internal_depth_list(mindepth=0.0, maxdepth=10000000000.0, discontinuity_interval=1.0)[source]#

Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.

Parameters:
  • mindepth (float) – Minimum depth value to be returned [m].

  • maxdepth (float) – Maximum depth value to be returned [m].

  • discontinuity_interval (float) – Shift continuities to remove ambigious values for depth [m].

Returns:

Depths [m].

Return type:

numpy.array

pressure(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Pressure(s) at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

gravity(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Gravity at given depths in [m/s^2].

Return type:

float or numpy.array of floats

v_p(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

P wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_s(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

S wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

QK(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for bulk modulus at given depth(s).

Return type:

float or numpy.array of floats

QG(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for shear modulus at given depth(s).

Return type:

float or numpy.array of floats

density(depth)[source]#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Density at given depth(s) in [kg/m^3].

Return type:

float or numpy.array of floats

bullen(depth)[source]#

Returns the Bullen parameter only for significant arrays

depth(pressure)[source]#
Parameters:

pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.

Returns:

Depth(s) [m] for given pressure(s).

radius(pressure)[source]#
G(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Shear modulus at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

K(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk modulus at given depth(s) in [Pa]

Return type:

float or numpy.array of floats

evaluate(vars_list, depth_list=None)#

Returns the lists of data for a Seismic1DModel for the depths provided

Parameters:
  • vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.

  • depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.

Returns:

Array of values shapes as (len(vars_list),len(depth_list)).

Return type:

numpy.array

v_phi(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk sound wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

Models currently implemented#

class burnman.classes.seismic.PREM[source]#

Bases: SeismicTable

Reads PREM (1s) (input_seismic/prem.txt, [DA81]). See also burnman.seismic.SeismicTable.

G(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Shear modulus at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

K(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk modulus at given depth(s) in [Pa]

Return type:

float or numpy.array of floats

QG(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for shear modulus at given depth(s).

Return type:

float or numpy.array of floats

QK(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for bulk modulus at given depth(s).

Return type:

float or numpy.array of floats

bullen(depth)#

Returns the Bullen parameter only for significant arrays

density(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Density at given depth(s) in [kg/m^3].

Return type:

float or numpy.array of floats

depth(pressure)#
Parameters:

pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.

Returns:

Depth(s) [m] for given pressure(s).

evaluate(vars_list, depth_list=None)#

Returns the lists of data for a Seismic1DModel for the depths provided

Parameters:
  • vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.

  • depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.

Returns:

Array of values shapes as (len(vars_list),len(depth_list)).

Return type:

numpy.array

gravity(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Gravity at given depths in [m/s^2].

Return type:

float or numpy.array of floats

internal_depth_list(mindepth=0.0, maxdepth=10000000000.0, discontinuity_interval=1.0)#

Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.

Parameters:
  • mindepth (float) – Minimum depth value to be returned [m].

  • maxdepth (float) – Maximum depth value to be returned [m].

  • discontinuity_interval (float) – Shift continuities to remove ambigious values for depth [m].

Returns:

Depths [m].

Return type:

numpy.array

pressure(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Pressure(s) at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

radius(pressure)#
v_p(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

P wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_phi(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk sound wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_s(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

S wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

class burnman.classes.seismic.Slow[source]#

Bases: SeismicTable

Inserts the mean profiles for slower regions in the lower mantle (Lekic et al. 2012). We stitch together tables ‘input_seismic/prem_lowermantle.txt’, ‘input_seismic/swave_slow.txt’, ‘input_seismic/pwave_slow.txt’). See also burnman.seismic.SeismicTable.

G(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Shear modulus at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

K(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk modulus at given depth(s) in [Pa]

Return type:

float or numpy.array of floats

QG(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for shear modulus at given depth(s).

Return type:

float or numpy.array of floats

QK(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for bulk modulus at given depth(s).

Return type:

float or numpy.array of floats

bullen(depth)#

Returns the Bullen parameter only for significant arrays

density(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Density at given depth(s) in [kg/m^3].

Return type:

float or numpy.array of floats

depth(pressure)#
Parameters:

pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.

Returns:

Depth(s) [m] for given pressure(s).

evaluate(vars_list, depth_list=None)#

Returns the lists of data for a Seismic1DModel for the depths provided

Parameters:
  • vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.

  • depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.

Returns:

Array of values shapes as (len(vars_list),len(depth_list)).

Return type:

numpy.array

gravity(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Gravity at given depths in [m/s^2].

Return type:

float or numpy.array of floats

internal_depth_list(mindepth=0.0, maxdepth=10000000000.0, discontinuity_interval=1.0)#

Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.

Parameters:
  • mindepth (float) – Minimum depth value to be returned [m].

  • maxdepth (float) – Maximum depth value to be returned [m].

  • discontinuity_interval (float) – Shift continuities to remove ambigious values for depth [m].

Returns:

Depths [m].

Return type:

numpy.array

pressure(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Pressure(s) at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

radius(pressure)#
v_p(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

P wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_phi(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk sound wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_s(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

S wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

class burnman.classes.seismic.Fast[source]#

Bases: SeismicTable

Inserts the mean profiles for faster regions in the lower mantle (Lekic et al. 2012). We stitch together tables ‘input_seismic/prem_lowermantle.txt’, ‘input_seismic/swave_fast.txt’, ‘input_seismic/pwave_fast.txt’). See also burnman.seismic.Seismic1DModel.

G(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Shear modulus at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

K(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk modulus at given depth(s) in [Pa]

Return type:

float or numpy.array of floats

QG(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for shear modulus at given depth(s).

Return type:

float or numpy.array of floats

QK(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for bulk modulus at given depth(s).

Return type:

float or numpy.array of floats

bullen(depth)#

Returns the Bullen parameter only for significant arrays

density(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Density at given depth(s) in [kg/m^3].

Return type:

float or numpy.array of floats

depth(pressure)#
Parameters:

pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.

Returns:

Depth(s) [m] for given pressure(s).

evaluate(vars_list, depth_list=None)#

Returns the lists of data for a Seismic1DModel for the depths provided

Parameters:
  • vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.

  • depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.

Returns:

Array of values shapes as (len(vars_list),len(depth_list)).

Return type:

numpy.array

gravity(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Gravity at given depths in [m/s^2].

Return type:

float or numpy.array of floats

internal_depth_list(mindepth=0.0, maxdepth=10000000000.0, discontinuity_interval=1.0)#

Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.

Parameters:
  • mindepth (float) – Minimum depth value to be returned [m].

  • maxdepth (float) – Maximum depth value to be returned [m].

  • discontinuity_interval (float) – Shift continuities to remove ambigious values for depth [m].

Returns:

Depths [m].

Return type:

numpy.array

pressure(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Pressure(s) at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

radius(pressure)#
v_p(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

P wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_phi(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk sound wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_s(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

S wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

class burnman.classes.seismic.STW105[source]#

Bases: SeismicTable

Reads STW05 (a.k.a. REF) (1s) (input_seismic/STW105.txt, [KED08]). See also burnman.seismic.SeismicTable.

G(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Shear modulus at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

K(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk modulus at given depth(s) in [Pa]

Return type:

float or numpy.array of floats

QG(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for shear modulus at given depth(s).

Return type:

float or numpy.array of floats

QK(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for bulk modulus at given depth(s).

Return type:

float or numpy.array of floats

bullen(depth)#

Returns the Bullen parameter only for significant arrays

density(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Density at given depth(s) in [kg/m^3].

Return type:

float or numpy.array of floats

depth(pressure)#
Parameters:

pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.

Returns:

Depth(s) [m] for given pressure(s).

evaluate(vars_list, depth_list=None)#

Returns the lists of data for a Seismic1DModel for the depths provided

Parameters:
  • vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.

  • depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.

Returns:

Array of values shapes as (len(vars_list),len(depth_list)).

Return type:

numpy.array

gravity(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Gravity at given depths in [m/s^2].

Return type:

float or numpy.array of floats

internal_depth_list(mindepth=0.0, maxdepth=10000000000.0, discontinuity_interval=1.0)#

Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.

Parameters:
  • mindepth (float) – Minimum depth value to be returned [m].

  • maxdepth (float) – Maximum depth value to be returned [m].

  • discontinuity_interval (float) – Shift continuities to remove ambigious values for depth [m].

Returns:

Depths [m].

Return type:

numpy.array

pressure(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Pressure(s) at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

radius(pressure)#
v_p(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

P wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_phi(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk sound wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_s(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

S wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

class burnman.classes.seismic.IASP91[source]#

Bases: SeismicTable

Reads REF/STW05 (input_seismic/STW105.txt, [KED08]). See also burnman.seismic.SeismicTable.

G(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Shear modulus at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

K(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk modulus at given depth(s) in [Pa]

Return type:

float or numpy.array of floats

QG(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for shear modulus at given depth(s).

Return type:

float or numpy.array of floats

QK(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for bulk modulus at given depth(s).

Return type:

float or numpy.array of floats

bullen(depth)#

Returns the Bullen parameter only for significant arrays

density(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Density at given depth(s) in [kg/m^3].

Return type:

float or numpy.array of floats

depth(pressure)#
Parameters:

pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.

Returns:

Depth(s) [m] for given pressure(s).

evaluate(vars_list, depth_list=None)#

Returns the lists of data for a Seismic1DModel for the depths provided

Parameters:
  • vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.

  • depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.

Returns:

Array of values shapes as (len(vars_list),len(depth_list)).

Return type:

numpy.array

gravity(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Gravity at given depths in [m/s^2].

Return type:

float or numpy.array of floats

internal_depth_list(mindepth=0.0, maxdepth=10000000000.0, discontinuity_interval=1.0)#

Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.

Parameters:
  • mindepth (float) – Minimum depth value to be returned [m].

  • maxdepth (float) – Maximum depth value to be returned [m].

  • discontinuity_interval (float) – Shift continuities to remove ambigious values for depth [m].

Returns:

Depths [m].

Return type:

numpy.array

pressure(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Pressure(s) at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

radius(pressure)#
v_p(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

P wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_phi(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk sound wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_s(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

S wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

class burnman.classes.seismic.AK135[source]#

Bases: SeismicTable

Reads AK135 (input_seismic/ak135.txt, [KEB95]). See also burnman.seismic.SeismicTable.

G(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Shear modulus at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

K(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk modulus at given depth(s) in [Pa]

Return type:

float or numpy.array of floats

QG(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for shear modulus at given depth(s).

Return type:

float or numpy.array of floats

QK(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Quality factor (dimensionless) for bulk modulus at given depth(s).

Return type:

float or numpy.array of floats

bullen(depth)#

Returns the Bullen parameter only for significant arrays

density(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Density at given depth(s) in [kg/m^3].

Return type:

float or numpy.array of floats

depth(pressure)#
Parameters:

pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.

Returns:

Depth(s) [m] for given pressure(s).

evaluate(vars_list, depth_list=None)#

Returns the lists of data for a Seismic1DModel for the depths provided

Parameters:
  • vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.

  • depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.

Returns:

Array of values shapes as (len(vars_list),len(depth_list)).

Return type:

numpy.array

gravity(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Gravity at given depths in [m/s^2].

Return type:

float or numpy.array of floats

internal_depth_list(mindepth=0.0, maxdepth=10000000000.0, discontinuity_interval=1.0)#

Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.

Parameters:
  • mindepth (float) – Minimum depth value to be returned [m].

  • maxdepth (float) – Maximum depth value to be returned [m].

  • discontinuity_interval (float) – Shift continuities to remove ambigious values for depth [m].

Returns:

Depths [m].

Return type:

numpy.array

pressure(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Pressure(s) at given depth(s) in [Pa].

Return type:

float or numpy.array of floats

radius(pressure)#
v_p(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

P wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_phi(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

Bulk sound wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

v_s(depth)#
Parameters:

depth (float or numpy.array of floats) – Depth(s) [m] at which to evaluate seismic model.

Returns:

S wave velocity at given depth(s) in [m/s].

Return type:

float or numpy.array of floats

Attenuation Correction#

burnman.classes.seismic.attenuation_correction(v_p, v_s, v_phi, Qs, Qphi)[source]#

Applies the attenuation correction following Matas et al. (2007), page 4. This is simplified, and there is also currently no 1D Q model implemented. The correction, however, only slightly reduces the velocities, and can be ignored for our current applications. Arguably, it might not be as relevant when comparing computations to PREM for periods of 1s as is implemented here. Called from burnman.main.apply_attenuation_correction()

Parameters:
  • v_p (float) – P wave velocity in [m/s].

  • v_s (float) – S wave velocitiy in [m/s].

  • v_phi (float) – Bulk sound velocity in [m/s].

  • Qs (float) – Shear quality factor [dimensionless].

  • Qphi (float) – Bulk quality factor [dimensionless].

Returns:

Corrected P wave, S wave and bulk sound velocities in [m/s].

Return type:

tuple