pyva.systems.infiniteLayers.PoroElasticLayer

class pyva.systems.infiniteLayers.PoroElasticLayer(poroelasticmat, thickness)

Bases: AcousticLayer

Class for Modelling poro-elastic material as InfiniteLayer.

This class implements the theory of the mixed pressure-displacement formulation of [All2009]

thickness

thickness of the perforted layer.

Type:

float

poroelasticmat

poroelastic material of layer in Vacuum.

thickness of layer.

Type:

PoroElasticMat

__init__(poroelasticmat, thickness)

Class contructor for PoroElasticLayer objects.

Parameters:
  • poroelasticmat (PoroElasticMat) – poroelastic material of layer.

  • thickness (float) – thickness of layer.

  • ID (list or tuple) – node IDs of left and right side of layer

Methods

__init__(poroelasticmat, thickness)

Class contructor for PoroElasticLayer objects.

get_xdata(omega, kx)

Determine the appropriate xdata from omega and kx.

transfer_impedance(omega[, kx, ID, allard])

Transferimpedance of PoroElasticLayer

Attributes

isequivalentfluid

Determine if layer is of type equivalent fluid

mass_per_area

Mass per area of PoroElasticLayer.

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 PoroElasticLayer.

Returns:

mass per area.

Return type:

float

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

Transferimpedance of PoroElasticLayer

Implementation according to the diplacement-pressure formulation of Allard [All2009].

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

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

  • ID (list of int) – Left and right ID. The default is [1,2].

Returns:

[2 x 2] array of transferimpedance

Return type:

DynamicMatrix