optimus.source

Submodules

Package Contents

Functions

create_planewave(frequency[, direction, amplitude])

Create a plane wave source.

create_piston(frequency, radius[, source_axis, ...])

Create a plane circular piston source.

create_bowl(frequency, outer_radius, radius_of_curvature)

Create a spherical section bowl source.

create_array(frequency, element_radius[, velocity, ...])

Create an array source consisting of circular piston elements distributed on a spherical section bowl.

optimus.source.create_planewave(frequency, direction=(1, 0, 0), amplitude=1.0)

Create a plane wave source.

Parameters
frequencyfloat

The frequency of the acoustic field.

directionnumpy.ndarray, tuple float, list float

The direction of the plane wave. Default: positive x direction

amplitudefloat

The amplitude of the plane wave. Default: 1 Pa

optimus.source.create_piston(frequency, radius, source_axis=(1, 0, 0), number_of_point_sources_per_wavelength=6, location=(0, 0, 0), velocity=1.0)

Create a plane circular piston source.

Parameters
frequencyfloat

The frequency of the acoustic field.

radiusfloat

The radius of the piston.

source_axistuple[float]

The direction vector of the axis of the piston. Default: positive x direction

number_of_point_sources_per_wavelengthinteger

The number of point sources per wavelength used to discretise the piston source. Default: 6

locationtuple[float]

The location of the centroid of the piston. Default: global origin

velocitycomplex

Normal velocity of the piston. Default : 1 m/s

optimus.source.create_bowl(frequency, outer_radius, radius_of_curvature, source_axis=(1, 0, 0), number_of_point_sources_per_wavelength=6, location=(0, 0, 0), velocity=1.0, inner_radius=None)

Create a spherical section bowl source.

Parameters
frequencyfloat

The frequency of the acoustic field.

outer_radiusfloat

The outer radius of the spherical section bowl.

radius_of_curvaturefloat

The radius of curvature of the bowl.

source_axistuple float

The axis of the bowl. Default: positive x direction

number_of_point_sources_per_wavelengthinteger

The number of point sources per wavelength used to discretise the bowl source. Default: 6

locationtuple float

The location of the centroid of the bowl. Default: global origin

velocitycomplex

Normal velocity of the bowl. Default : 1 m/s

inner_radiusfloat, None

The radius of the bowl aperture. Default: None

optimus.source.create_array(frequency, element_radius, velocity=1.0, source_axis=(1, 0, 0), number_of_point_sources_per_wavelength=6, location=(0, 0, 0), centroid_locations=None, centroid_locations_filename=None)

Create an array source consisting of circular piston elements distributed on a spherical section bowl.

Parameters
frequencyfloat

The frequency of the acoustic field.

element_radiusfloat

The radius of elements which lie on the spherical section bowl.

velocitycomplex, numpy.ndarray complex

Array of size (N,) with complex values for the normal velocities of the array elements. If one value is specified, this will be repeated for all array elements. Default : 1 m/s

source_axistuple float

The direction vector of the axis of the bowl. Default: positive x direction

number_of_point_sources_per_wavelengthinteger

The number of point sources per wavelength used to discretise each piston. Default: 6

locationtuple float

The location of the centroid of the bowl. Default: global origin

centroid_locationsnumpy.ndarray

An array of size (3, N) with the locations of the centroids of the piston elements. These must be specified in a local coordinate sytem where the axis of the transducer is the Cartesian positive z-axis and the focus of the transducer is (0,0,0).

centroid_locations_filenamestr

Path and filename containing the centroid locations data. The file extension has to be “.dat”.