Acoular 24.07 documentation


«  UniformFlowEnvironment   ::   environments   ::   FlowField  »


class acoular.environments.GeneralFlowEnvironment

Bases: Environment

An acoustic environment with a generic flow field.

This class provides the facilities to calculate the travel time (distances) between grid point locations and microphone locations in a generic flow field with non-uniform velocities that depend on the location. The algorithm for the calculation uses a ray-tracing approach that bases on rays cast from every microphone position in multiple directions and traced backwards in time. The result is interpolated within a tetrahedal grid spanned between these rays.

ff = Trait(FlowField, desc='flow field')

The flow field, must be of type FlowField.

N = Int(200, desc='number of rays per Om')

Number of rays used per solid angle \(\Omega\), defaults to 200.

Om = Float(pi, desc='maximum solid angle')

The maximum solid angle used in the algorithm, defaults to \(\pi\).

get_interpolator(roi, x0)

Gets an LinearNDInterpolator object.

roiarray of floats of shape (3, N)

The locations of points in the region of interest in 3D cartesian co-ordinates. Used to estimate the maximum distance and ROI extension and center.

x0array of floats of shape (3)

The location of the microphone in 3D cartesian co-ordinates.

LinearNDInterpolator object

«  UniformFlowEnvironment   ::   environments   ::   FlowField  »