acdecom.WaveGuide.get_wavenumber

WaveGuide.get_wavenumber(m, n, f, **kwargs)

Compute the wavenumber of the (m,n)-mode at the frequency f [Hz].

\[k_{mn\pm} = \pm K_0 \frac{\omega}{c} \frac{\sqrt{1-(\kappa_{mn}c/\omega)^2(1-M)}\mp M}{1-M^2}\]

Here, \(K_0\) is the dissipation factor (see WaveGuide.get_K0()), \(\omega\) is the angular frequency, \(c\) is the speed of sound, \(\kappa_{mn}\) is the eigenvalue (see WaveGuide.get_eigenvalue()), and \(M\) is the Mach_number.

Note

The flow is assumed to move in \(z_+\) direction. For flow towards math:z_-, you can either use a negative Mach_number or call WaveGuide.set_flip_flow() with flipFlow = True.

Parameters
  • m (int or array_like) – Mode-order in the first direction. If the waveguide is circular, m indicates the circumferential mode-order. The plane wave has the order 0.

  • n (int or array_like) – Mode-order in the second direction. If the waveguide is circular, n indicates the radial mode-order. The plane wave has the order 0.

  • f (float) – Frequency [Hz].

  • dissipative (bool, optional) – If True, the wavenumber is corrected with the dissipation model. If False, \(K_0\) is set to 1. Defaults to True.

  • sign (1 or -1) – The direction of the wave propagation. 1 means \(z_+\) direction, -1 means \(z_-\) direction. Set to 1 for \(k_+\) and -1 for \(k_-\). Defaults to 1.

Returns

The wavenumber(s) of the (m,n)-mode at the frequency f [Hz].

Return type

complex or array_like