GeneralFlowEnvironment¶

class
acoular.environments.
GeneralFlowEnvironment
¶ Bases:
acoular.environments.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 nonuniform velocities that depend on the location. The algorithm for the calculation uses a raytracing 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.

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\).

r
(c, gpos, mpos=0.0)¶ Calculates the virtual distances between grid point locations and microphone locations or the origin. These virtual distances correspond to travel times of the sound along a ray that is traced through the medium.
Parameters: c : float
The speed of sound to use for the calculation.
gpos : array of floats of shape (3, N)
The locations of points in the beamforming map grid in 3D cartesian coordinates.
mpos : array of floats of shape (3, M), optional
The locations of microphones in 3D cartesian coordinates. If not given, then only one microphone at the origin (0, 0, 0) is considered.
Returns: array of floats
The distances in a twodimensional (N, M) array of floats. If M==1, then only a onedimensional array is returned.
