MovingPointSourceDipole#

class acoular.sources.MovingPointSourceDipole

Bases: PointSourceDipole, MovingPointSource

Define a moving point source with dipole characteristics.

This class extends the functionalities of PointSourceDipole and MovingPointSource to simulate a dipole source that moves along a defined trajectory. It incorporates both rotational and translational dynamics for the dipole lobes, allowing simulation of complex directional sound sources.

Key Features:
  • Combines dipole characteristics with source motion.

  • Supports rotation of the dipole directivity via the rvec attribute.

  • Calculates emission times using Newton-Raphson iteration.

See also

PointSourceDipole

For stationary dipole sources.

MovingPointSource

For moving point sources without dipole characteristics.

digest = Property(

A unique identifier for the current state of the source, based on its properties. (read-only)

rvec = CArray(dtype=float, shape=(3,), value=np.array((0, 0, 0)))

A reference vector, perpendicular to the x and y-axis of moving source, defining the axis of rotation for the dipole directivity. If set to (0, 0, 0), the dipole is only translated along the trajectory without rotation. Default is (0, 0, 0).

get_emission_time(t, direction)

Calculate the emission time and related properties for a moving source.

Parameters:
tnumpy.ndarray

The current receiving time at the microphones.

directionfloat or numpy.ndarray

Direction vector for the source’s dipole directivity.

Returns:
tuple

A tuple containing:

Warning

Ensure that the maximum iteration count (100) is sufficient for convergence in all scenarios, especially for high Mach numbers or long trajectories.

Notes

The emission times are computed iteratively using the Newton-Raphson method. The iteration terminates when the time discrepancy (eps) is below a threshold (epslim) or after 100 iterations.

result(num=128)

Generate the output signal at microphones in blocks.

Parameters:
numint, optional

Number of samples per block to yield. Default is 128.

Yields:
numpy.ndarray

A 2D array of shape (num, num_channels) containing the signal detected at the microphones. The last block may have fewer samples if num_samples is not a multiple of num.

Notes

Radial Mach number adjustments are applied if conv_amp is enabled.