A C extension module for generating Gamma and Epsilon matrices, in Resonant Ultrasound Spectroscopy.
- Alejandro Cubillos - alejandro4cm@outlook.com
- Manuela Rivas
- Julián Rincón
from rusmodules import rus
gamma = rus.gamma_matrix(N, C, geometry, shape)
E = rus.E_matrix(N, shape)
- N represents the maximim grade of the polynomials of the basis functions
- C <np.array> 6x6 matrix with the elastic constants
- geometry <np.array> (3,) shape array containing the dimensions of the sample
- shape 0 for parallelepiped, 1 for cylinder and 2 to spheroid
Solve forward problem with scipy:
Eigenvalues return
eigenvals, eigenvects = scipy.linalg.eigh(a = gamma, b = E)
omega = (eigenvals[6:]/m)**(1/2) #remember the fisrt 6 eigenvalues must be near zero
frequencies = omega/(2*np.pi)
pip3 install ruspectroscopy-tools