santex.isotropy package#

Submodules#

santex.isotropy.isotropy module#

class santex.isotropy.isotropy.Isotropy#

Bases: object

calculate_seismic_properties(phase, temperature, pressure, ref_density=None, return_vp_vs_vbulk=False, return_aktout=False)#

Calculate velocities at P,T for a mineral given parameters.

Inputs: temperature (in C) pressure (in GPa)

Outputs:

density in kg/m3 vp, vs, vbulk in km/s

calculate_velocities(density, aks, amu)#

Calculates velocities (vp, vs, vbulk) based on density, adiabatic bulk modulus (aks), and shear modulus (amu).

Parameters: density (float or array): Density in kg/m^3. aks (float or array): Adiabatic bulk modulus in Pa. amu (float or array): Shear modulus in Pa.

Returns: Tuple: Velocities vp, vs, vbulk in km/s.

get_available_phases()#

Prints and returns a list of available phases from the loaded material data.

Returns: List: A list of available phases.

get_phase_constants(phase)#

Retrieves phase constants for a given phase name or ID from the loaded material data.

Parameters: phase (str): The name or ID of the phase.

Returns: dict: Phase constants including ID, name, density, expansivity, bulk modulus, shear modulus, and more.

hashin_shtrikman_bounds(phase_constant_list, fraction_list, temperature, pressure, fractions_matches_T=False, density_mix_calc=False, modulii_return=False)#

Calculates Hashin-Shtrikman Bounds for the given parameters:

Parameters: - phase_constant_list: list of phase constant instances gotten from set_modal_composition function. - fraction_list: list of fractions of each phase. - temperature: temperature array or scalar in Kelvin - pressure: pressure array or scalar in GPa

Returns: - 3 lists of medium value, upper bound and lower bound, indexed respectively:

[Vbulk_medium,Vp_medium,Vs_medium], [Vbulk_upper,Vp_upper,Vs_upper], [Vbulk_lower, Vp_lower, Vs_lower]

pressure_function(f, press, akk, akk_prime)#

Helper function for pressure calculation in calculate_seismic_properties method.

Parameters: f (float): Pressure factor. press (float): Pressure in Pa. akk (float): Adiabatic bulk modulus in Pa. akk_prime (float): Derivative of bulk modulus with respect to pressure.

Returns: float: Pressure difference.

set_modal_composition(phase_list, fraction_list)#

Prepares the input for HashinShtrikmanBounds method for the entered phase_list and fraction_list.

Parameters: - phase_list - list of phase ids to be included in the rock.

Example: [‘fo’, ‘en’] – Forsterite and Enstatite

  • fraction_list - list of fraction lists to be included in the rock

    Example: [0.8, 0.2] – 0.8 fo and 0.2 en

Returns:

  • phase_constant_list:

    list containing the phase constats that can be inputted into HashinShtrikmanBounds method.

  • fraction_list:

    np.ndarray list of fractions of entered minerals.

Module contents#