arim.scat#

Scattering functions and helpers

In a nutshell: use scat_factory() to create a Scattering2d object.

Single frequency scattering matrices are defined formally as:

S_LL[j, i] = scat_func_LL(phi_in[i], phi_out[j], frequency) for i, j in 0..numangles-1

where phi_in and phi_out are linearly spaced 1d array between -pi (included) and pi (excluded), as returned by make_angles(). NB: S_LL[phi_out_idx, phi_in_idx]

Multiple frequency scattering matrices are defined formally as:

S_LL[k, j, i] = scat_func_LL(phi_in[i], phi_out[j], frequencies[k])
arim.scat.SCAT_KEYS = frozenset(('LL', 'LT', 'TL', 'TT'))#

Keys for the different kinds of scattering. The first letter is the mode of the incident wave; the second letter is the mode of the scattered wave. In this module, functions that take an argument to_compute expects a subset of these keys.

CrackCentreScat(crack_length, ...[, ...])

Scattering of a crack at its centre.

CrackTipScat(longitudinal_vel, transverse_vel)

Crack tip diffraction

PointSourceScat(longitudinal_vel, transverse_vel)

Scattering of an unphysical point source.

ScatFromData(frequencies[, scat_matrix_LL, ...])

Scattering functions from a set of data.

Scattering2d()

Base object for computing the scattering functions in 2D.

Scattering2dFromFunc()

Wrapper for scattering functions that take as three first arguments 'inc_theta', 'out_theta' and 'frequency', and that accepts an argument 'to_compute'.

SdhScat(radius, longitudinal_vel, transverse_vel)

Scattering for side-drilled hole

crack_2d_scat(inc_theta, out_theta, ...[, ...])

Scattering matrix of the centre of a crack.

crack_tip_2d(inc_theta, out_theta, ...[, ...])

Analytical model of the diffraction of elastic waves by a crack tip.

interpolate_matrices(scattering_matrices)

Convert a dictionary containing scattering matrices to a dictionary containing functions that interpolate the values of the scattering matrices.

interpolate_matrix(scattering_matrix)

Returns a function that takes as input the incident angles and the scattering angles.

make_angles(numpoints)

Return angles for scattering matrices.

make_angles_grid(numpoints)

Return angles for scattering matrices as a grid of incident and outgoing angles.

rotate_matrices(scat_matrices, phi)

Call rotate_matrix() on each matrix in a dict.

rotate_matrix(scat_matrix, phi)

Return the scattering matrix S' of the scatterer rotated by an angle phi, knowing the scattering matrix S of the unrotated scatterer.

scat_factory(kind, material, *args, **kwargs)

Creates a Scattering2d object in a simple way

sdh_2d_scat(inc_theta, out_theta, frequency, ...)

Scattering coefficients for a side-drilled hole in 2D