Package wiat :: Package MM :: Module Solver
[hide private]
[frames] | no frames]

Module Solver

source code

Solver.py - Multimodal wave propagation solver.

This is an implementation of the theory presented in references [1] and [2] with boundary layer loss model from reference [3].

References:

  1. V. Pagneux, N. Amir, and J. Kergomard, "A study of wave propagation in varying cross-section waveguides by modal decomposition. Part I. Theory and validation," J. Acoust. Soc. Am., vol. 100, 1996, pp. 2034-2048.
  2. Amir, N., Pagneux, V., & Kergomard, J. (1997). A study of wave propagation in varying cross-section waveguides by modal decomposition. Part II. Results. The Journal of the Acoustical Society of America, 101(5), 2504-2517.
  3. Bruneau, A. M., Bruneau, M., Herzog, P., & Kergomard, J. (1987). "Boundary layer attenuation of higher order modes in waveguides." Journal of Sound and Vibration, 119(1), 15-27.

Example:


>>> import wiat
>>> din = 0.02
>>> dout = 0.025
>>> f = numpy.arange(50.,500.,10.)
>>> air = wiat.util.air_properties(25.)
>>> c = wiat.MM.Waveguides.QuarterCircleHorn(din, dout)
>>> rad = wiat.MM.Radiation.RadiationFlanged(dout)
>>> Z5 = wiat.MM.Solver.SolveImpedance(c,rad,f,air,5)
Functions [hide private]
 
calculate_gamma(N) source code
 
_Q(N)
Q is the constant matrix defined in reference 1, equation 28
source code
 
_K(N, a, k, air)
Multimodal propagation constant (with boundary layer thermo-viscous losses)
source code
 
_Zprime(Zflat, z, geometry, k, air, N, Q)
Matrical Riccati equation for the generalized impedance matrix Z
source code
 
SolveImpedance(geometry, Zr, freqs, air, N) source code
 
_Yprime(Yflat, z, geometry, k, air, N, Q)
Riccati equation for admittance
source code
 
SolveAdmittance(geometry, Yr, freqs, air, N) source code
Function Details [hide private]

_Q(N)

source code 

Q is the constant matrix defined in reference 1, equation 28

Parameters:
  • N - number of modes

_K(N, a, k, air)

source code 

Multimodal propagation constant (with boundary layer thermo-viscous losses)

See [2], equations 5 and 6 as well [3]

_Zprime(Zflat, z, geometry, k, air, N, Q)

source code 

Matrical Riccati equation for the generalized impedance matrix Z

This is an implementation of equation 32 of reference [1], which is the same as equation 1 of reference [2].

_Yprime(Yflat, z, geometry, k, air, N, Q)

source code 

Riccati equation for admittance

Implementation of equation 4 of reference [2].