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.