Mondaic

salvus.material.attenuation.conversions

salvus.material.attenuation.conversions salvus material attenuation conversions

Conversion functions for attenuation parameters.

Functions

alpha_to_q()

def alpha_to_q(
    alpha: T,
    soundspeed: float,
    frequency_in_hertz: float,
    length_in_meters: float,
) -> T: ...

Convert an attenuation factor alpha to a seismic quality factor.

The attenuation factor is usually given in dB per frequency and length unit which need to be specified here.

Q can either be Qp or Qs, depending on the passed velocity and the resulting attenuation factor will be for that wave type.

Follows appendix A in

Pratt, R. G., Medical ultrasound tomography: lessons learned from geophysics, MUST proceedings 2017

Parameters
  • alpha T — The attenuation factor.
  • soundspeed float — The medium’s velocity in meters / seconds.
  • frequency_in_hertz float — The frequency at which to compute the attenuation factor.
  • length_in_meters float — The length unit for which to compute the attenuation factor.
Returns T

q_isotropic_to_qij_anisotropic()

def q_isotropic_to_qij_anisotropic(
    qkappa: float, qmu: float, c_ij: npt.NDArray
) -> npt.NDArray: ...

Compute Qij from anisotropic stiffness tensor and scalar Qkappa, Qmu.

Only strictly valid for isotropic materials.

Parameters
  • qkappa float — Qkappa value.
  • qmu float — Qmu value.
  • c_ij npt.NDArray — Stiffness tensor. Must be a 6x6 matrix with the stiffness tensor in Voigt notation.
Returns npt.NDArray

q_to_alpha()

def q_to_alpha(
    q: T, soundspeed: float, frequency_in_hertz: float, length_in_meters: float
) -> T: ...

Convert a seismic quality factor to an attenuation factor alpha.

The attenuation factor is usually given in dB per frequency and length unit which need to be specified here.

Q can either be Qp or Qs, depending on the passed velocity and measured attenuation factor.

Follows appendix A in

Pratt, R. G., Medical ultrasound tomography: lessons learned from geophysics, MUST proceedings 2017

Parameters
  • q T — The quality factor.
  • soundspeed float — The medium’s velocity in meters / seconds.
  • frequency_in_hertz float — The frequency at which to compute the attenuation factor.
  • length_in_meters float — The length unit for which to compute the attenuation factor.
Returns T

qkappa_to_qp()

def qkappa_to_qp(
    qkappa: T, qmu: T, vp: T, vs: T, dim: typing.Literal[2, 3]
) -> T: ...

Convert Qkappa to Qp.

Formula (9.59) from Dahlen and Tromp, 1998.

Parameters
  • qkappa T — The Qkappa value.
  • qmu T — The Qmu value.
  • vp T — The P-wave velocity in the medium in m/s.
  • vs T — The S-wave velocity in the medium in m/s.
  • dim typing.Literal[2, 3] — The dimension.
Returns T

qmu_to_qs()

def qmu_to_qs(qmu: T) -> T: ...

Convert Qmu to Qs.

Formula (9.60) from Dahlen and Tromp, 1998.

Parameters
  • qmu T — The Qmu value to convert.
Returns T

qp_to_qkappa()

def qp_to_qkappa(
    qp: T, qs: T, vp: T, vs: T, dim: typing.Literal[2, 3]
) -> T: ...

Convert Qp to Qkappa.

Formula (9.59) from Dahlen and Tromp, 1998.

Parameters
  • qp T — The Qp value.
  • qs T — The Qs value.
  • vp T — The P-wave velocity in the medium in m/s.
  • vs T — The S-wave velocity in the medium in m/s.
  • dim typing.Literal[2, 3] — The dimension.
Returns T

qs_to_qmu()

def qs_to_qmu(qs: T) -> T: ...

Convert Qs to Qmu.

Formula (9.60) from Dahlen and Tromp, 1998.

Parameters
  • qs T — The Qs value to convert.
Returns T