pyva.systems.acoustic1Dsystems.PerforatedLayer

class pyva.systems.acoustic1Dsystems.PerforatedLayer(thickness, hole_radius, area=1.0, fluid=Fluid(c0=343.0, rho0=1.23, eta=0.01), pattern='square', alpha=2.0, **kwargs)

Bases: LumpedAcoustic

The PerforatedLayer class deals perforated layers in acoustic networks

The behaviour is calculated using flow throught the holes and radiation be the disk radiator pattern

thickness
Type:

of the perforted layer

pattern
Type:

of the holes (quadradic, triangular, )

hole_radius
Type:

of the hole sin the membrane

porosity
Type:

area ration of holes and closed surface

fluid
Type:

fluid in the holes

alpha

sharp to round edges

Type:

correction constant for resistivity correction approx 4.-2. for

__init__(thickness, hole_radius, area=1.0, fluid=Fluid(c0=343.0, rho0=1.23, eta=0.01), pattern='square', alpha=2.0, **kwargs)

Class contructor for PerforatedLayer

Parameters:
  • thickness (float) – thickness of perforate

  • hole_radius (float) – radius of perforate holes

  • area (float) – area of perforate plate

  • fluid (fluid) – fluid in the hole

  • pattern (str) – ‘square’,’triangular’,’hexagonal’ identifier for the hole pttern

  • alpha (float) – factor for edge sharpness

  • kwargs (dict) – Arbitrary keyword parameter list

  • distance (float) – distance between holes

  • porosity (float) – surface porosity of perforate

Examples

import acoustic1Dsystems as ac1Dsys myTube = ac1Dsys.material(rubber,0.001)

Methods

Signal(omega)

generates a Signal from the requested frequency range

__init__(thickness, hole_radius[, area, ...])

Class contructor for PerforatedLayer

acoustic_FE(omega[, ID])

Acoustic Finite Element of MassLayers

plot(omega[, fig])

Plots the transfer impedance for the related part

radiation_impedance(omega)

reactive_end_correction_perforate(omega)

Calculates the reactive end correctoin of both sides of one perforate

transfer_impedance(omega[, ID])

Transferimpedance of LumpedAcoustic

transfer_reactance(omega)

Calculates the resistive end correction of both siges of one perforate

transfer_resistivity(omega)

Calculates the scalar transfer impedance of the flow in one perforate

Signal(omega)

generates a Signal from the requested frequency range

Parameters:

omega (float) – angular frequency.

Returns:

slope of transfer impedance.

Return type:

Signal

acoustic_FE(omega, ID=[1, 2], **kwargs)

Acoustic Finite Element of MassLayers

Takes simple 1D transmission line model based on AcousticTube properties to model the so mobility matrix, given by

\frac{S}{Z(\omega)}
\begin{bmatrix}
1 & 1 \\
1 & 1
\end{bmatrix}
\begin{Bmatrix} p_1 \\ p_2  \end{Bmatrix} =
\begin{Bmatrix} Q_1 \\ Q_2 \end{Bmatrix}

Parameters:
  • omega (float) – angular frequency.

  • ID (list of int, optional) – IDs of element ports. The default is [1,2].

Returns:

Mobility matrix of limped acoustic

Return type:

DynamicMatrix

plot(omega, fig=1, **kwargs)

Plots the transfer impedance for the related part

Parameters:
  • omega (float) – angular frequency.

  • fig (int, optional) – figure ID. The default is 1.

  • **kwargs (dict) – Arbitrary keyword parameter list passed to Signal.plot.

Return type:

None.

reactive_end_correction_perforate(omega)

Calculates the reactive end correctoin of both sides of one perforate

Parameters:

omega (float) – angular frequency.

Returns:

reactive end correction.

Return type:

float

transfer_impedance(omega, ID=[1, 2], **kwargs)

Transferimpedance of LumpedAcoustic

Takes simple 1D transmission line model based on AcousticTube properties to model the so called transfer impedance, given by Z = (p_2-p_1)/v

This class is an abstrat class that has no implementation of the specific transfer impedance. This must be done by the daughter classes

\begin{Bmatrix} p_1 \\ v_1  \end{Bmatrix} =
\begin{bmatrix}
1 & Z \\
0 & 1
\end{bmatrix}
\begin{Bmatrix} p_2 \\ v_2 \end{Bmatrix}

Parameters:
  • omega (float) – angular frequency

  • ID (list of int) – IDs of the two ports

Returns:

[2 x 2] array of transferimpedance

Return type:

DynamicMatrix

transfer_reactance(omega)

Calculates the resistive end correction of both siges of one perforate

Parameters:

omega (float) – angular frequency.

Returns:

transfer reactance.

Return type:

float

transfer_resistivity(omega)

Calculates the scalar transfer impedance of the flow in one perforate

Parameters:

omega (float) – angular frequency

Returns:

transfer resistivity

Return type:

float