pyva.systems.acoustic3Dsystems.RectangularRoom

class pyva.systems.acoustic3Dsystems.RectangularRoom(ID, Lx, Ly, Lz, fluid, absorption_area=0.0, damping_type=['eta'])

Bases: Acoustic3DSystem

This class deals with three dimensional, rectangular rooms filled with fluid

Practical cavities are rarely. This class is applied in chapters 4 and 6 [Pei2022] for demonstration of complex and random systems.

Lx

Room length in x-direction

Type:

float

Ly

Room width in y-direction

Type:

float

Lz

Room height in z-direction

Type:

float

fluid

fluid in the room

Type:

fluid

__init__(ID, Lx, Ly, Lz, fluid, absorption_area=0.0, damping_type=['eta'])

Class contructor for acoustic tube

Parameters:
  • Lx (float) – Room length in x-direction

  • Ly (float) – Room width in y-direction

  • Lz (float) – Room height in z-direction

  • fluid (Fluid) – fluid in the room

  • absorption_area (float or function, optional) – cumulative absorption area. The default is 0..

  • damping_type (list of str, optional) – damping type identifier. The default is [‘eta’,].

Methods

Z_rect(omega, y0, y1, z0, z1, N)

Mechanical radiation impedance of rectangular piston

__init__(ID, Lx, Ly, Lz, fluid[, ...])

Class contructor for acoustic tube

absorption_area(omega)

Absorption area of cavity

damping_loss(omega[, wave_DOF])

Damping loss of cavity SEA systemns

estimated_mode_count(omega)

Number of mode estimation

f_mode(n)

modal frequency of mode n

green_modal(omega, r, r0[, N, source, Bnn])

Modal Green function of room

isSIF()

Checks if system is a semi infinite fluid

iscavity()

Check if SEA system is a cavity

isplate()

Checks if system is a plate

k_mode_square(n)

Squared modal wavenumber of mode n

mechanical_point_impedance(omega, r0, N, S)

Modal mechanical point impedance

modal_density(omega[, wave_DOF])

Modal density estimation

modal_density_precise(omega)

Exact modal density

modal_impedance_rectangular(omega, y0, y1, ...)

Mechanical radiation impedance of rectangular piston

modal_overlap(omega[, wave_DOF])

Modal overlap

mode_count(omegaVec)

Exact number count

modes_in_band(omega[, wave_DOF, btype])

Modes in band of cavity system

omega_mode(n)

modal angular frequency of mode n

p_mode(r, n)

Modal pressure shape for room with rigid walls

physical_unit(omega, energy)

Physical unit pressure calculated from system energy

pms_modal_random(omega[, Q, As])

Mean square pressure for diffuse wave field

radiation_point_impedance(omega, r0, N[, Bnn])

Radiation point impedance

surfint(y0, y1, z0, z1, n)

Surface integral required for rectangluar piston

Attributes

ID

unique ID of SEA system

N_wave_fields

Number of wave field in physical SEA system

property ID

unique ID of SEA system

Returns:

ID of SEA system

Return type:

int

property N_wave_fields

Number of wave field in physical SEA system

Some physical SEA systems are constituted by several wave fields that can be considered as single SEA systems or reverberant fields. This method shall provide the number of wave field that are used

Returns:

Number of wave fields.

Return type:

int

Z_rect(omega, y0, y1, z0, z1, N)

Mechanical radiation impedance of rectangular piston

Parameters:
  • y0 (float) – minimum y-coodinate of piston

  • y1 (float) – maximum y-coodinate of piston

  • z0 (float) – minimum z-coodinate of piston

  • z1 (float) – maximum z-coodinate of piston

  • omega (float) – angular frequency vector

  • N (tuple of int) – maximal mode number N = (Nx,Ny,Nz)

Return type:

Mechanical impedance

absorption_area(omega)

Absorption area of cavity

In case of constant absorption area the frequency paramter is ignored.

Parameters:

omega (float) – angular frequency

Return type:

absorption area

damping_loss(omega, wave_DOF=0)

Damping loss of cavity SEA systemns

Parameters:
  • omega (float) – frequency

  • wave_DOF (int) – dummy argument (to full fill SEA class requirements)

estimated_mode_count(omega)

Number of mode estimation

Parameters:

omega (float) – angular frequency

Return type:

Number of modes below omega

f_mode(n)

modal frequency of mode n

Parameters:

n (tuple of int) – (nx,ny,nz) tupel of mode number

Return type:

modal frequency

green_modal(omega, r, r0, N=(50, 50, 50), source=1, Bnn=<function RectangularRoom.<lambda>>)

Modal Green function of room

Parameters:
  • r (tuple of float) – receiver location r = (x,y,z)

  • r0 (tuple of float) – source location r0 = (x0,y0,z0)

  • N (tuple of int) – (Nx,Ny,Nz) tupel of maximal mode number

  • Bnn (function of mode index tuple) – modal damping loss factor

  • Returns – Modal approximation of Green function

isSIF()

Checks if system is a semi infinite fluid

Sets default to False, so only one method must be implemented in daugther class

Returns:

True if system is a SIF (must be overloaded).

Return type:

bool

iscavity()

Check if SEA system is a cavity

Returns:

True.

Return type:

bool

isplate()

Checks if system is a plate

Sets default to False, so only one method must be implemented in daugther class

Returns:

True if system is a plate (must be overloaded).

Return type:

bool

k_mode_square(n)

Squared modal wavenumber of mode n

Parameters:

n (tuple of int) – (nx,ny,nz) tupel of mode number

Return type:

squared modal wavenumber

mechanical_point_impedance(omega, r0, N, S)

Modal mechanical point impedance

This method requires a suface S to create a force from the acoustic impedance following from the Green function

Parameters:
  • omega (float) – angular frequency

  • r0 (tuple of float) – source location r0 = (x0,y0,z0)

  • N (tuple of int) – (Nx,Ny,Nz) tuple of maximal mode number

Return type:

Mechancal point impedance from modal approximation

modal_density(omega, wave_DOF=0)

Modal density estimation

Parameters:
  • omega (float) – angular frequency

  • wave_DOF (int) – wave degree of freedom. Default is 0.

Return type:

Modal density

modal_density_precise(omega)

Exact modal density

This method derives the modal density by counting modes in given bands

Parameters:

omega (ndarray) – angular frequency vector

Return type:

Modal density vector

modal_impedance_rectangular(omega, y0, y1, z0, z1, n)

Mechanical radiation impedance of rectangular piston

Parameters:
  • y0 (float) – minimum y-coodinate of piston

  • y1 (float) – maximum y-coodinate of piston

  • z0 (float) – minimum z-coodinate of piston

  • z1 (float) – maximum z-coodinate of piston

  • omega (float) – angular frequency vector

  • n (tuple of int) – mode number n = (nx,ny,nz)

Return type:

Modal impedance for mode n

modal_overlap(omega, wave_DOF=0)

Modal overlap

Absorption area and fluid damping is considered

Parameters:

omega (ndarray) – angular frequency vector

Return type:

Modal overlap

mode_count(omegaVec)

Exact number count

This method counts modes until angular limit frequencies

Parameters:

omegaVec (ndarray) – angular frequency vector

Return type:

Mode count vector

modes_in_band(omega, wave_DOF=0, btype='oct')

Modes in band of cavity system

Parameters:
  • omega (float) – angular frequency

  • btype (str) – type of band ‘oct’ for factored steps and ‘lin’ for linear steps

Return type:

modes in band

omega_mode(n)

modal angular frequency of mode n

Parameters:

n (tuple of int) – (nx,ny,nz) tupel of mode number

Return type:

modal angular frequency

p_mode(r, n)

Modal pressure shape for room with rigid walls

Implementation of simple recangular room model

Parameters:
  • r (list or tuple of float) – (x,y,z) room coodinates

  • n (int) – number of mode

Return type:

pressure distribution of mode

physical_unit(omega, energy)

Physical unit pressure calculated from system energy

Parameters:

omega (ndarray) – angular frequency

Return type:

rms pressure

pms_modal_random(omega, Q=1, As=0)

Mean square pressure for diffuse wave field

Simple 1-system SEA cavity model for demonstration purpose mainly.

Parameters:

omega (angular frequency) – Q: source strength As: absorption area

Return type:

mean square pressure

radiation_point_impedance(omega, r0, N, Bnn=<function RectangularRoom.<lambda>>)

Radiation point impedance

Parameters:
  • omega (float) – angular frequency

  • r0 (tuple of float) – source location (x0,y0,z0)

  • N (tuple of int) – (Nx,Ny,Nz) tuple of maximal mode number

  • Bnn (function) – modal damping loss factor

Return type:

acoustical point impedance from modal approximation

surfint(y0, y1, z0, z1, n)

Surface integral required for rectangluar piston

Integral implementation of equation (4.92) from [Pei2022]

Parameters:
  • y0 (float) – minimum y-coodinate of piston

  • y1 (float) – maximum y-coodinate of piston

  • z0 (float) – minimum z-coodinate of piston

  • z1 (float) – maximum z-coodinate of piston

  • omega (float) – angular frequency vector

  • n (tuple of int) – mode number n = (nx,ny,nz)

Return type:

integral value