Anisotropy calculation for a stiffness matrix and density

Anisotropy calculation for a stiffness matrix and density#

Let’s plot anisotropy with a modal stiffness matrix and a modal density

[1]:
from santex.anisotropy import Anisotropy
import numpy as np

stiffness_matrix = np.array([[198.96, 73.595, 68.185, 0., 9.735, 0.],
                            [73.595, 155.94, 62.23, 0., 6.295, 0.],
                            [68.185, 62.23, 225.99, 0., 33.85, 0.],
                            [0., 0., 0., 65.66, 0., 6.415],
                            [9.735, 6.295, 33.85, 0., 60.23, 0.],
                            [0., 0., 0., 6.415, 0., 65.18]]) * 10**9


density = 3500

# Create an instance of the Anisotropy class
anisotropy_instance = Anisotropy(stiffness_matrix, density)
# anisotropy_instance.plot()

Lets analyse above material vs splitting in 3D using VTK plotter

[2]:
anisotropy_instance.plotter_vs_splitting(density, stiffness_matrix)
2025-03-16 23:28:38.161 python[78648:5831303] +[IMKClient subclass]: chose IMKClient_Modern
2025-03-16 23:28:38.161 python[78648:5831303] +[IMKInputSession subclass]: chose IMKInputSession_Modern

Lets plot the temperature and pressure grid and observe the trend of max vp

[2]:
x = anisotropy_instance.plot_velocities([2, 2.5], [1000, 1200], grid = [3, 3], phase = "Forsterite", return_type="maxvp")
../_images/notebooks_02_Anisotropy_analysis_6_0.png

3D VTK plotter plots#

Lets define stiffness tensor, c and density for olivine and visualise the vp, vs1, vs2 and vs splitting

[3]:
density = 3310
c = np.array([[323.70, 66.40, 71.60, 0.000, 0.000, 0.000],
            [66.40, 197.60, 75.60, 0.000, 0.000, 0.000],
            [71.60, 75.60, 235.10, 0.000, 0.000, 0.000],
            [0.000, 0.000, 0.000, 64.62, 0.000, 0.000],
            [0.000, 0.000, 0.000, 0.000, 78.05, 0.000],
            [0.000, 0.000, 0.000, 0.000, 0.000, 79.04]]) * 1e9
# cijkl = tensor_conversion.voigt_to_tensor(c)

# Plotter.plot_wave_velocities(c, density)
[4]:
anisotropy_instance.plotter_vp(density, c)
2025-03-17 00:01:01.974 python[80214:5861692] +[IMKClient subclass]: chose IMKClient_Modern
2025-03-17 00:01:01.974 python[80214:5861692] +[IMKInputSession subclass]: chose IMKInputSession_Modern
[5]:
anisotropy_instance.plotter_vs1(density, c)
[6]:
anisotropy_instance.plotter_vs2(density, c)
[8]:
anisotropy_instance.plotter_vs_splitting(density, c)
[9]:
x = anisotropy_instance.plot_velocities([2, 2.5], [1000, 1200], grid = [3, 3], phase = "Forsterite", return_type="maxvp")
../_images/notebooks_02_Anisotropy_analysis_14_0.png
[ ]: