pyva.systems.infiniteLayers.MassLayer

class pyva.systems.infiniteLayers.MassLayer(thickness, rho, perforation=None)

Bases: AcousticLayer

The MassLayer class represents the mass layer

thickness

thickness of the layer

Type:

float

rho

Density.

Type:

float

perforation

optional additional perforation of the plate

Type:

ResistiveLayer

ID

[left ID, right ID] of MassLayer

Type:

list of int

__init__(thickness, rho, perforation=None)

Constructor of mass layer.

Parameters:
  • thickness (float) – thickness of the layer.

  • rho (float) – Density.

  • perforation (ResistiveLayer) – optional additional perforation of the plate

Return type:

None.

Methods

__init__(thickness, rho[, perforation])

Constructor of mass layer.

get_xdata(omega, kx)

Determine the appropriate xdata from omega and kx.

transfer_impedance(omega[, kx, ID])

Transferimpedance of honey mass layer

transmission_coefficient(omega[, theta, fluid])

Mass law transmission coefficient

Attributes

isequivalentfluid

Determine if layer is of type equivalent fluid

mass_per_area

Mass per area of MassLayer

static get_xdata(omega, kx)

Determine the appropriate xdata from omega and kx.

Infinite Layer theory often involves integration over wavenumber. Thus, the kx is the integration variable.

If omega is scalar xdata will be wavenumber in x (kx) if kx is scalar xdata will be angular frequency if kx and omega have same dimension it is assumed that kx belongs to a constant angle and is given by kx = omega/c0*sin(theta) and xdata will be angular frequency

Parameters:
  • omega (float or ndarray) – angular frequency

  • kx (float or ndarray) – wavenumber

Returns:

wavenumber or omega as DataAxis object

Return type:

DataAxis

property isequivalentfluid

Determine if layer is of type equivalent fluid

Defauls parameter is True

Returns:

True.

Return type:

bool

property mass_per_area

Mass per area of MassLayer

Returns:

mass per area.

Return type:

float

transfer_impedance(omega, kx=0, ID=[1, 2])

Transferimpedance of honey mass layer

Takes simple 1D transmission line model based on AcousticTube properties. kx Parameter is ignored in the transfermatrix but used in the xdata generation

Parameters:
  • omega (float or ndarray) – scalar angular frequency

  • kx (float or ndarray, optional) – In-plane wavenumber. The default is 0.

  • ID (list of int, optional) – Left and right when overwritten, None takes object ID. The default is None.

Returns:

[2 x 2] array of transferimpedance |

Return type:

DynamicMatrix

transmission_coefficient(omega, theta=0.0, fluid=Fluid(c0=343.0, rho0=1.23, eta=0.01))

Mass law transmission coefficient

Note: perforation is not yet considered

Parameters:
  • omega (float) – angular frequency.

  • theta (float, optional) – angle of incidence related to normal. The default is 0..

  • fluid (fluid, optional) – surrounding fluid. The default is mc.Fluid().

Returns:

transmission coefficient.

Return type:

float