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:
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:
- 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: