pyva.systems.acousticRadiators.HalfSpace

class pyva.systems.acousticRadiators.HalfSpace(fluid=Fluid(c0=343.0, rho0=1.23, eta=0.01), treatment='none')

Bases: object

Class for HalfSpace operations

fluid

fluid in free space

treatment

treatment for radiating area

__init__(fluid=Fluid(c0=343.0, rho0=1.23, eta=0.01), treatment='none')

Class contructor for HalfSpace

Parameters:
  • fluid (Fluid) – of half space

  • treatment (str, Signal) – treatment between vibrating surface and half space

Examples

import acousticRadiators as aR myHalfSpace = aR.HalfSpace()

Methods

__init__([fluid, treatment])

Class contructor for HalfSpace

get_mesh(omega_max, Lx, Ly[, N])

Creates mesh for HalfSpace

radiation_efficiency_leppington(omega, kx, ...)

Acoustic radiation stiffness of half space in wavenumber domain using Leppingtons Approximation.

radiation_impedance_wavenumber(omega, kx[, ky])

Acoustic radiation impedance of half space in wavenumber domain Z = p/v

radiation_stiffness_mesh(omega, mesh[, method])

Acoustic radiation stiffness matrix of a regular mesh

radiation_stiffness_mesh_single(omega, mesh)

Acoustic radiation stiffness matrix of a regular mesh

radiation_stiffness_piston(omega, dist[, ...])

Acoustic radiation stiffness of separated vibrating source D = F(x1)/w(X2)

radiation_stiffness_wavelet(omega, dist, ks)

Acoustic radiation stiffness of separated vibrating source D = F(x1)/w(X2)

radiation_stiffness_wavenumber(omega, kx[, ky])

Acoustic radiation stiffness of half space in wavenumber domain D = F/x

shape_radiation_efficiency(omega, shape[, ...])

Shape radiation stiffness.

shape_radiation_power(omega, shape[, ...])

get_mesh(omega_max, Lx, Ly, N=4)

Creates mesh for HalfSpace

The element size is calculated from the wavelength of the fluid.

Parameters:
  • omega_max (double) – Maximum angular frequency for determination of smallest wavelength

  • Lx (float) – length in x direction

  • Ly (float) – length in y direction

  • N (interger, optional) – Minimal number of nodes per wavelength

Returns:

mesh – The mesh covering the given conditions

Return type:

regmesh2D

radiation_efficiency_leppington(omega, kx, ky, Lx, Ly, simple_muGT1=False)

Acoustic radiation stiffness of half space in wavenumber domain using Leppingtons Approximation.

See [Pei2022] and [Lep1982] for details

Parameters:
  • omega (float) – angular frequency

  • kx (float) – x-wavenumber of shape

  • ky (float) – y-wavenumber of shape

  • Lx (float) – length in x-direction

  • Ly (float) – length in y-direcition

Return type:

radiation efficiency

radiation_impedance_wavenumber(omega, kx, ky=0)

Acoustic radiation impedance of half space in wavenumber domain Z = p/v

Parameters:
  • omega (float) – angular frequency

  • kx (float) – x-wavenumber of exciting wave

  • ky (float) – y-wavenumber of exciting wave

Return type:

radiation stiffness of semi infinity fluid half space

radiation_stiffness_mesh(omega, mesh, method='piston')

Acoustic radiation stiffness matrix of a regular mesh

Parameters:
  • omega (float) – angular frequency

  • mesh (mesh) – mesh of surface points

  • method (str) – Identifier for calculation method ‘piston’ or ‘wavelet’

Returns:

radiation stiffness matrix of semi infinite fluid half space

Return type:

LinearMatrix

radiation_stiffness_mesh_single(omega, mesh, method='piston')

Acoustic radiation stiffness matrix of a regular mesh

Parameters:
  • omega (float) – angular frequency mesh: of surface points method: Identifier for calculation method ‘piston’ or ‘wavelet’

  • Returns – radiation stiffness matrix of semi infinite fluid half space @type DynamicMatrix

radiation_stiffness_piston(omega, dist, dA1=1.0, dA2=1.0)

Acoustic radiation stiffness of separated vibrating source D = F(x1)/w(X2)

This method returns the force generated at x1 by a vibrating element at x2.

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

  • dist (ndarray or float) – distance between x1 and x2 dist = abs(x1-x2)

  • dA1 (float) – Element area at x1

  • dA2 (float) – Element area at x2

  • method (str) – Identifier for calculation method ‘piston’ or ‘wavelett’

Returns:

res – radiation stiffness

Return type:

ndarray of either len(omega) or len(dist)

radiation_stiffness_wavelet(omega, dist, ks)

Acoustic radiation stiffness of separated vibrating source D = F(x1)/w(X2)

This method implements the wavelet method from Langley [Lan2007]

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

  • dist (ndarray or float) – distance between radiating elments.

  • ks (float) – wavenumber paramter.

Returns:

res – radiation stiffness

Return type:

ndarray of either len(omega) or len(dist)

radiation_stiffness_wavenumber(omega, kx, ky=0)

Acoustic radiation stiffness of half space in wavenumber domain D = F/x

Parameters:
  • omega (float) – angular frequency

  • kx (float) – x-wavenumber of exciting wave

  • ky (float) – y-wavenumber of exciting wave

Return type:

radiation stiffness of semi infinity fluid half space

shape_radiation_efficiency(omega, shape, method='piston', normalise='True', signal=True)

Shape radiation stiffness.

The shape radiation stiffness is the radiation stiffness defined on the generalised shape coordinates of the surface, for example the mode shape of a plate

Parameters:
  • omega (float) – angular frequency

  • shape (RegShape2D) – radiating shape.

  • method (str, optional) – method identifier. The default is ‘piston’.

  • normalise (bool, optional) – switch for shape nrormalisation. The default is ‘True’.

  • signal (bool, optional) – switch for signal output. The default is ‘True’.

Returns:

radiation stiffness.

Return type:

Signal