pyva.properties.materialClasses.PoroElasticMat

class pyva.properties.materialClasses.PoroElasticMat(solid_mat, flow_res, porosity, tortuosity, length_visc, length_therm, limp=False, c0=343.0, rho0=1.23, dynamic_viscosity=1.84e-05, kappa=1.4, Cp=1005.1, heat_conductivity=0.0257673, Ks=inf)

Bases: EquivalentFluid

The PoroElasticMat class deals porous and elastic material

The material model is implemented according to Allard [All2009] and requires a geometry information of the frame given by the EquivalentFlluid attributes and the bulk properties elastic frame matrial. In addition the bulk modulus of the material the frame is made of can be given, but most cases this can be considered as much stiffer as the bulk material and is therefor considered as inf.

frame
Type:

flow resistivity

porosity
Type:

volume porosity

tortuosity
Type:

tortuosity (alpha_inf)

rho_bulk
Type:

apearant density of fluid and matrix

length_visc
Type:

viscous characteristic length

length_therm
Type:

thermal characteristic length

E

See [All2009] for details of the theory

__init__(solid_mat, flow_res, porosity, tortuosity, length_visc, length_therm, limp=False, c0=343.0, rho0=1.23, dynamic_viscosity=1.84e-05, kappa=1.4, Cp=1005.1, heat_conductivity=0.0257673, Ks=inf)

Construcutor of equivalent fluid class.

The equivalent fluid model deals with the propagation of sound waves through a geometrical porous construction. It models the acoustic motion inside the skeleon and the viscous and thermal interactions between fluid and skeleton.

Parameters:
  • solid_mat (IsoMat) – Bulk frame material (in vaccuum).

  • flow_res (float) – flow resistivity

  • porosity (float) – volume porosity.

  • tortuosity (float) – tortuosity (alpha_inf)N.

  • length_visc (float) – viscous characteristic lengt.

  • length_therm (float) – thermal characteristic length.

  • limp (bool, optional) – Switch for use of limp model. The default is True.

  • c0 (complex, optional) – Speed of sound. The default is 343..

  • rho0 (complex, optional) – density. The default is 1.23.

  • eta (float, optional) – Damping loss. The default is 0.01.

  • dynamic_viscosity (float, optional) – Dynamic viscosity. The default is 1.84e-5.

  • kappa (float, optional) – ratio of specific heat capacities. The default is 1.4.

  • Pr (float, optional) – Prandtl number. The default is 0.71.

Return type:

None.

Methods

Delta(omega)

Delta helper function for Biot Theory.

G(omega)

Characteristic function of the equivalent fluid

N(omega)

N function of poroelastic material, equal to shear modulus.

P(omega)

P function of poroelastic material.

Q(omega)

Q function of poroelastic material.

R(omega)

R function of poroelastic material.

__init__(solid_mat, flow_res, porosity, ...)

Construcutor of equivalent fluid class.

absorption(omega, impedance[, theta])

Absorption coefficient for interface to other fluids

absorption_diffuse(omega, z[, theta_max, ...])

Diffuse absorption coefficient for interface to other fluids

acoustic_FE(omega, S[, ID])

Acoustic Finite Element radiator/end condition of plane wave fluid

air(temperature, pressure[, h_rel])

Determine precise properties of air from ambient conditions.

bulk_modulus(omega)

Dynamic complex bulk modulus of the equivalent fluid

c_freq(omega)

Complex, frequency dependent speed of sound of the equivalent fluid

damping(omega)

Damping loss

impedance(omega)

Complex characteristic impedance of the equivalent fluid

impedances(omega)

Characteristic impedances of poroelastic material.

infinite_layer_TM(omega, wavenumber, thickness)

Calculated transfermatrix of infinite fluid layer

inverse_parameter_derivation(flow_res, ...)

Create EquivalentFluid object from test paramters

propagation_constant(omega)

param omega:

angular frequency

reflection_factor(omega, impedance[, theta, ...])

Refection factor for interface to other fluids

rho11(omega)

Dynamic frame density rho_11.

rho12(omega)

Dynamic coupled density rho_12.

rho22(omega)

Dynamic frame density rho_11.

rho_freq(omega)

Complex density of the equivalent fluid

rho_rigid(omega)

Dynamic complex density of the equivalent fluid with rigid matrix

shear_wavenumber(omega)

Shear wavenumber according to Maa's theory

surface_impedances(omega, thickness)

Surface impedance of poroelastic layer with hard wall backing

wavelength(omega)

param omega:

DESCRIPTION.

wavenumber(omega)

Wavenumber including damping

wavenumbers(omega)

Provide wavenumber coefficients of poroelastic materials.

Attributes

Pr

Prandtl number.

diffusivity

Diffusivity.

kinematic_viscosity

Kinematic viscosity.

nu0

Kinematic viscosity.

rho

Joint static density of air and frame.

z0

Real characteristic impedance without damping

Delta(omega)

Delta helper function for Biot Theory.

Eq(6.69)

Parameters:

omega (float) – angular frequency.

Returns:

Delta.

Return type:

complex

G(omega)

Characteristic function of the equivalent fluid

Parameters:

omega (float) – angular frequency.

Returns:

Characteristic function.

Return type:

complex

N(omega)

N function of poroelastic material, equal to shear modulus.

Just for usage of similar symbols

Parameters:

omega (float) – Angular frequency.

Returns:

shear modulus.

Return type:

complex

P(omega)

P function of poroelastic material.

Eq. (6.28) of [All2009] assuming that the stiffness of the matrix material is much higher that the bulk stiffness, thus Ks >> Kb

Parameters:

omega (float) – Angular frequency.

Returns:

Return type:

complex

property Pr

Prandtl number.

Returns:

Prandtl number.

Return type:

float

Q(omega)

Q function of poroelastic material.

Eq. (6.27) of [All2009] assuming that the stiffness of the matrix material is much higher that the bulk stiffness, thus Ks >> Kb

Parameters:

omega (float) – Angular frequency.

Returns:

Return type:

complex

R(omega)

R function of poroelastic material.

Eq. (6.26) of [All2009] assuming that the stiffness of the matrix material is much higher that the bulk stiffness, thus Ks >> Kb

Parameters:

omega (float) – Angular frequency.

Returns:

Return type:

complex

absorption(omega, impedance, theta=0)

Absorption coefficient for interface to other fluids

Parameters:
  • omega (float) – angular frequency.

  • impedance (complex) – impedance of interfacing fluid.

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

Returns:

Absorption coefficient.

Return type:

complex

absorption_diffuse(omega, z, theta_max=1.5550883635269477, theta_step=0.015707963267948967)

Diffuse absorption coefficient for interface to other fluids

Parameters:
  • omega (float) – angular frequency.

  • z (complex) – impedance.

  • theta_max (float, optional) – Maximum integration angle. The default is np.pi/2*0.99.

  • theta_step (float, optional) – Angle integration step. The default is np.pi/200.

Returns:

alpha – diffuse field absorption coefficient.

Return type:

float

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

Acoustic Finite Element radiator/end condition of plane wave fluid

See also

piston

Parameters:
  • omega (float) – angular frequency.

  • S (float) – tube cross section

  • ID (list of int, optional) – list of input ID. The default is [1].

  • **kwargs (TYPE) – DESCRIPTION.

Raises:

ValueError – DESCRIPTION.

Returns:

0D aoustic radiation mobility S/Z * p = Q Za = p/Q = p/(v*S) = Z/S

Return type:

DynamicMatrix

static air(temperature, pressure, h_rel=0.0)

Determine precise properties of air from ambient conditions.

Implementation is based on [1] that collects numerous papers dealing with various properties of air. Rasmussen condenses all papers into one formula collection.

[1] Rasmussen, K. (1997). Calculation methods for the physical properties of air used in the calibration of microphones.

Parameters:
  • temperature (float) – temperature in Kelvin

  • pressure (float) – atmospheric pressure in bar

  • h_rel (float) – relative humidity in percent. The default is 0 (dry air).

Returns:

air with properties according to environmental conditions.

Return type:

Fluid

bulk_modulus(omega)

Dynamic complex bulk modulus of the equivalent fluid

Parameters:

omega (float) – angular frequency.

Returns:

Dynamic complex bulk modulus.

Return type:

complex

c_freq(omega)

Complex, frequency dependent speed of sound of the equivalent fluid

Parameters:

omega (float) – Angular frequency.

Returns:

speed of sound.

Return type:

complex

damping(omega)

Damping loss

Parameters:

omega (float or ndarray) – DESCRIPTION.

Returns:

damping loss.

Return type:

float or ndarray

property diffusivity

Diffusivity.

Returns:

Diffusivity.

Return type:

float

impedance(omega)

Complex characteristic impedance of the equivalent fluid

Parameters:

omega (float or ndarray) – angular frequency.

Returns:

characteristic impedance.

Return type:

complex

impedances(omega)

Characteristic impedances of poroelastic material.

Parameters:

omega (float) – angular frequency.

Returns:

  • Zf1 (complex) – Characterisitc impedance of the air for the first compressinal wave.

  • Zf2 (complex) – Characterisitc impedance of the air for the second compressinal wave.

  • Zs1 (complex) – Characterisitc impedance of the frame for the first compressinal wave.

  • Zs2 (complex) – Characterisitc impedance of the frame for the second compressinal wave.

infinite_layer_TM(omega, wavenumber, thickness, ID=[1, 2], **kwargs)

Calculated transfermatrix of infinite fluid layer

Deprecated: This method is part of the FluidLayer class

Parameters:
  • omega (float) – angular frequency.

  • wavenumber (float) – wavenumbner in plane direction.

  • thickness (float) – thickness of fluid layer.

  • ID (list if int, optional) – list of input and output ID. The default is [1,2].

  • **kwargs (TYPE) – DESCRIPTION.

Raises:

ValueError – DESCRIPTION.

Returns:

transfer matrix of infinite fluid layer.

Return type:

DynamicMatrix

static inverse_parameter_derivation(flow_res, porosity, rho_bulk, fluid, rho_eq, K_eq, omega, limp=True)

Create EquivalentFluid object from test paramters

Parameters:
  • flow_res (float) – flow resistivity

  • porosity (float) – volume porosity.

  • rho_bulk (float) – apearant density of fluid and matrix.

  • fluid (Fluid) – fluid during test in the fluid phase of the absorber.

  • rho_eq (complex nd.array of size (N,) or complex) – Equivalent density of absorber material under test.

  • K_eq (complex nd.array of size (N,) or complex) – Equivalent bulk modulus of absorber material under test.

  • omega (ndarray of size (N,) or float) – Upper and lower limit for averaging

  • limp (bool, optional) – Switch for use of limp model. The default is True.

Returns:

LMS extimation of the materail due to test results.

Return type:

EquivalentFluid

property kinematic_viscosity

Kinematic viscosity.

Returns:

Kinematic viscosity.

Return type:

float

property nu0

Kinematic viscosity.

Returns:

Kinematic viscosity

Return type:

float

propagation_constant(omega)
Parameters:

omega (float or ndarray) – angular frequency

Returns:

propagation constant.

Return type:

complex

reflection_factor(omega, impedance, theta=0, area=1.0)

Refection factor for interface to other fluids

Parameters:
  • omega (float) – angular frequency.

  • impedance (complex) – impedance of interfacing fluid.

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

  • area (float, optional) – ?????? . The default is 1..

Returns:

reflection coefficient.

Return type:

complex

property rho

Joint static density of air and frame.

Returns:

Dynamic coupled density.

Return type:

complex

rho11(omega)

Dynamic frame density rho_11.

Eq. (6.56)

Parameters:

omega (float) – angular frequency.

Returns:

Dynamic frame density.

Return type:

complex

rho12(omega)

Dynamic coupled density rho_12.

Eq. (6.56)

Parameters:

omega (float) – angular frequency.

Returns:

Dynamic coupled density.

Return type:

complex

rho22(omega)

Dynamic frame density rho_11.

Eq. (6.56)

Parameters:

omega (float) – angular frequency.

Returns:

Dynamic frame density.

Return type:

complex

rho_freq(omega)

Complex density of the equivalent fluid

Parameters:

omega (float) – angular frequency.

Returns:

Complex density.

Return type:

complex

rho_rigid(omega)

Dynamic complex density of the equivalent fluid with rigid matrix

Parameters:

omega (float) – angular frequency.

Returns:

Dynamic complex density.

Return type:

complex

shear_wavenumber(omega)

Shear wavenumber according to Maa’s theory

Parameters:

omega (float or ndarray) – angular frequency.

Returns:

wavenumber

Return type:

complex

surface_impedances(omega, thickness)

Surface impedance of poroelastic layer with hard wall backing

Parameters:
  • omega (float) – angular frequency.

  • thickness (float) – thickness of layer.

Returns:

Z – surface impedance.

Return type:

ndarray

wavelength(omega)
Parameters:

omega (TYPE) – DESCRIPTION.

Returns:

wavelength

Return type:

float

wavenumber(omega)

Wavenumber including damping

Parameters:

omega (TYPE) – DESCRIPTION.

Returns:

Complex wavenumber

Return type:

complex

wavenumbers(omega)

Provide wavenumber coefficients of poroelastic materials.

Parameters:

omega (float) – angular frequency.

Returns:

  • delta1 (complex) – squared first compressional wavenmuber.

  • delta2 (complex) – squared first compressional wavenmuber.

  • delta3 (complex) – squared shear wavenmuber.

  • mu1 (complex) – ratio of the velocity of air to the velocity of the frame of 1st compr. wave.

  • mu2 (complex) – ratio of the velocity of air to the velocity of the frame of 2nd compr. wave.

  • mu3 (complex) – ratio of the velocity of air to the velocity of the frame of shear wave.

property z0

Real characteristic impedance without damping

Returns:

Characteristic impedance.

Return type:

float