pyva.systems.structure2Dsystems.RectangularPlate
- class pyva.systems.structure2Dsystems.RectangularPlate(ID, Lx, Ly, curvature='flat', prop=<class 'pyva.properties.structuralPropertyClasses.PlateProp'>, wave_DOF=[3, 5], eta=0.01, trim=('none', 'none'))
Bases:
Structure2DSystem
Class for simple rectangular plate methods
The rectangular plate extends the SEA plate description by deterministic properties that follow from the simple rectangular geometry and that allow for modal simulation methods.
- Lx
length in x-direction
- Type:
float
- Ly
length in y-direction
- Type:
float
- __init__(ID, Lx, Ly, curvature='flat', prop=<class 'pyva.properties.structuralPropertyClasses.PlateProp'>, wave_DOF=[3, 5], eta=0.01, trim=('none', 'none'))
Construtor of rectangular plate
- Parameters:
ID (int) – System identifier.
Lx (float) – length of plate in x-direction.
Ly (float) – length of plate in y-direction.
prop (PlateProp) – Property of plate.
curvature (str, optional) – identifier for curvature. The default is ‘flat’.
wave_DOF (list of int, optional) – wave degrees of freedom. The default is [3,5] bending must be first
eta (float or Signal, optional) – damping loss factor. The default is 0.01.
trim (tuple of TMmodel, optional) – noise control treatement lay-up on front and back side. The default is (‘none’,’none’).
- Return type:
None.
Methods
__init__
(ID, Lx, Ly[, curvature, prop, ...])Construtor of rectangular plate
damping_loss
(omega, wave_DOF)Damping loss of SEA systemns.
dynamic_stiffness_mesh
(omega, mesh[, method])Dynamic stiffness or rectangular plate assuming infinite dimentions
imaginary_radiation_stiffness_wavenumber taken from property method.
edge_radiation_stiffness_wavenumber
(omega, ...)radiation_stiffness_wavenumber taken from property method.
radiation_stiffness_wavenumber taken from property method.
skew_radiation_stiffness_wavenumber taken from property method.
skew_radiation_stiffness_wavenumber taken from property method.
edge_wave_amplitude_radiated_power
(Psi, ...)wave_amplitude radiated_power taken from property method
edge_wave_amplitude_radiation_stiffness taken from property method.
edge_wave_excitation_displacement
(omega, ...)wave_excitation_force taken from property method
edge_wave_excitation_force
(omega, ...)wave_excitation_force taken from property method.
wave_excitation_force_cross_correlation taken from property method
force_excitation_power
(omega[, force])Power input due to normal force excitation.
get_mesh
(omega_max[, N])Creates mesh for plate
get_modes_index
(omega_max)gets sorted modal frequencies and indexs
isSIF
()Checks if system is a semi infinite fluid
iscavity
()Confirm that SEA system is not a cavity.
isplate
()Confirm that SEA system is a plate.
modal_density
(omega[, wave_DOF])Modal density of plate system
modal_overlap
(omega[, wave_DOF])Modal overlap
modal transmission coeffient based on discrete radiation stiffness
mode_count
(omega[, wave_DOF])Number of modes until omega
modes_in_band
(omega[, wave_DOF, btype])Modes in band of cavity system
Provides the mass formulation of the 2Dsystem
normal_modes
(omega_max[, norm, mapping, N])Normal mode shapes mapped from analytic solution
omega_mode
(nx, ny)Angular modal frequency of plate mode with index nx, ny
physical_unit
(omega, energy[, restype])Provides physical unit / velolcity of plate for energy
plate_wavenumber
(omega, wave_DOF)plate_wavenumber taken from property method.
radiation_efficiency
(omega[, fluid, Nstep, ...])Radiation efficieny of rectangular plates using leppingtons theory
radiation_efficiency_simple
(omega[, fluid])Radiation efficieny of rectangular plates using ISO EN 12354-1
resonant_TMM
([trim])Provides the resonant formulation of the 2Dsystem
transmission_coefficient_discrete
(omega, ...)method for transmission coeffient calculation based on discrete radiation stiffness
w_modal_force
(omega, N, Fz, x, y, x0, y0)Model frequency response due to force exciation
w_modal_force_random
(omega, N, Fz, x, y, x0, ...)Model frequency response due to force exciation with random variation
w_mode
(nx, ny, x, y)Displacement mode shape for bending waves
w_mode_map
(nx, ny, x, y, dX2, dY2)Mapped displacement mode shape for bending waves
w_random
(omega, F)Single SEA plate subsystem average squared displacement response to force
wave_transformation_matrix
(omega, wavenumber)wave_transform taken from property method
wave_transformation_matrix_LM
(omega, wavenumber)wave_transform taken from property method.
zPlate
(omega, N, x0, y0)Normal impedance
z_plate_random
(omega, N, x0, y0, var, seed)Normal impedance with variation
Attributes
unique ID of SEA system
Lx estimator
Ly estimator
Number of wave field in physical SEA system
Total mass of plate.
- property ID
unique ID of SEA system
- Returns:
ID of SEA system
- Return type:
int
- property Lx
Lx estimator
This method calculates the best fit of area and perimeter of a rectangular plate for the calculation of the radiation efficiency based on the assuption that it can be estimated from a rectangular plate of similar shape.
- Returns:
Lx.
- Return type:
float
- property Ly
Ly estimator
This method calculates the best fit of area and perimeter of a rectangular plate for the calculation of the radiation efficiency based on the assuption that it can be estimated from a rectangular plate of similar shape.
- Returns:
Ly.
- Return type:
float
- 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
- damping_loss(omega, wave_DOF)
Damping loss of SEA systemns.
Differntiation between wavetype not yet implemented
- Parameters:
omega (double) – maximum angular frequency.
wave_DOF (integer, optional) – wave degree of freedom. The default is 3.
- Returns:
damping_loss of plate
- Return type:
float
- dynamic_stiffness_mesh(omega, mesh, method='infinite')
Dynamic stiffness or rectangular plate assuming infinite dimentions
- Parameters:
omega (float) – angular frequency.
mesh (mesh2D) – radiating mesh
method (TYPE, optional) – DESCRIPTION. The default is ‘infinite’.
- Returns:
values – Dynamic stiffness matrix of infinite plate
- Return type:
- edge_imaginary_radiation_stiffness_wavenumber(omega, wavenumber, wave_DOF=0)
imaginary_radiation_stiffness_wavenumber taken from property method.
Will be deprecated in the new future, because it is equivalent to the skew hermitian matrix.
- edge_radiation_stiffness_wavenumber(omega, wavenumber, wave_DOF=0)
radiation_stiffness_wavenumber taken from property method.
- edge_radiation_stiffness_wavenumber_LM(omega, wavenumber, wave_DOF=0)
radiation_stiffness_wavenumber taken from property method.
- edge_skew_radiation_stiffness_wavenumber(omega, wavenumber, wave_DOF=0)
skew_radiation_stiffness_wavenumber taken from property method.
- edge_skew_radiation_stiffness_wavenumber_LM(omega, wavenumber, wave_DOF=0)
skew_radiation_stiffness_wavenumber taken from property method.
See also
pyva.properties.structuralPropertyClasses.PlateProp.edge_imaginary_radiation_stiffness_wavenumber_LM()
- edge_wave_amplitude_radiated_power(Psi, omega, wavenumber, wave_DOF)
wave_amplitude radiated_power taken from property method
- edge_wave_amplitude_radiation_stiffness(omega, wavenumber, wave_DOF)
edge_wave_amplitude_radiation_stiffness taken from property method.
- edge_wave_excitation_displacement(omega, wavenumber, wave_DOF)
wave_excitation_force taken from property method
- edge_wave_excitation_force(omega, wavenumber, wave_DOF, matrix)
wave_excitation_force taken from property method.
- edge_wave_excitation_force_cross_correlation(omega, wavenumber, wave_DOF, matrix=False)
wave_excitation_force_cross_correlation taken from property method
- force_excitation_power(omega, force=1)
Power input due to normal force excitation.
This method assumes free field bending wave radation in the plate. This is a very strict assumption only fulfilled by large plates and high frequency.
- Parameters:
omega (float) – angular frequency.
force (complex, optional) – force rms value. The default is 1.
- Returns:
input power.
- Return type:
float
- get_mesh(omega_max, N=6)
Creates mesh for plate
The element size is calculated from the wavelength of the plate.
- Parameters:
omega_max (double) – Maximum angular frequency for determination of smallest wavelength
N (interger, optional) – Minimal number of nodes per wavelength
- Returns:
mesh – The mesh covering the given conditions
- Return type:
regmesh2D
- get_modes_index(omega_max)
gets sorted modal frequencies and indexs
- Parameters:
omega_max (float) – Maximum angular frequency.
- Returns:
oms (ndarray float) – modal angular frequencies.
ns (ndarray in int) – [Nmode x 2] array with sorted mode index pairs.
- 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()
Confirm that SEA system is not a cavity.
- Returns:
False.
- Return type:
bool
- isplate()
Confirm that SEA system is a plate.
- Returns:
True.
- Return type:
bool
- property mass
Total mass of plate.
- Returns:
plate mass.
- Return type:
float
- modal_density(omega, wave_DOF=3)
Modal density of plate system
- Parameters:
omega (float) – angular frequency (not used for flat plates)
wave_DOF (int) – wavetype 1:longitudinal 2:shear 3/4: bending 5:in_plane 0:all
- Returns:
modal_density
- Return type:
float
- 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
- modal_transmission_coefficient_discrete(omega, half_spaces, trim=(None, None), method='piston', modal_factor=1.2, N=4, mapping='mesh')
modal transmission coeffient based on discrete radiation stiffness
- Parameters:
omega (float) – angular frequencies
half_spaces (tuple of HalfSpace) – connectet HalfSpaces, two spaces when fluid differs
trim (TYPE, optional) – DESCRIPTION. The default is (None,None).
method (str) – Identifier for calculation method ‘piston’ or ‘wavelett’
modal_factor (float, optional) – factor for upper frequency of used modes. The default is 1.2.
N (int, optional) – nodes per wavelength. The default is 4.
mapping (str, optional) – Identifier for mapping method. The default is ‘mesh’.
- Raises:
ValueError – DESCRIPTION.
- Returns:
tau – transmission coefficient of the MassLayer
- Return type:
ndarray of float
- mode_count(omega, wave_DOF=3)
Number of modes until omega
- Parameters:
omega (double) – maximum angular frequency.
wave_DOF (integer, optional) – wave degree of freedom. The default is 3.
- Returns:
number of modes.
- Return type:
integer
- 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
- non_resonant_TMM()
Provides the mass formulation of the 2Dsystem
- Returns:
Transfer matrix object of non-resonant lay-up
- Return type:
- normal_modes(omega_max, norm='mass', mapping='element', N=4)
Normal mode shapes mapped from analytic solution
- Parameters:
omega_max (float) – Maximum modal angular frequency.
norm (str, optional) – Identifier for normalisation. The default is ‘mass’.
mapping (str, optional) – Identifier for mapping. The default is ‘element’.
N (int, optional) – Number of samplex per wavlength. The default is 4.
- Returns:
modes (shape2D) – modes.
mesh (mesh2D) – mesh for node location.
- omega_mode(nx, ny)
Angular modal frequency of plate mode with index nx, ny
- Parameters:
nx (integer > 0) – mode index in x-direction.
ny (integer > 0) – mode index in y-direction.
- Returns:
Angular modal frequency
- Return type:
float
- physical_unit(omega, energy, restype='velocity')
Provides physical unit / velolcity of plate for energy
- Parameters:
omega (ndarray) – angular frequency
energy (float) – energy of wave field
- Returns:
physical unit
- Return type:
ndarray
- plate_wavenumber(omega, wave_DOF)
plate_wavenumber taken from property method.
- radiation_efficiency(omega, fluid=Fluid(c0=343.0, rho0=1.23, eta=0.01), Nstep=90, simple_muGT1=True)
Radiation efficieny of rectangular plates using leppingtons theory
This method applies half circle integration over all avaiable mode shapes at one frequency.
- Parameters:
omega (ndarray) – angular freuquency
fluid (fluid) – fluid material for half space. The default is mc.Fluid().
Nstep (int, optional) – Number of integration steps for half circle integration. The default is 90.
simple_muGT1 (bool, optional) – Switch for simplified Leppington apporach. The default is True.
- Returns:
sigma – Radiation efficiency of plate.
- Return type:
float
- radiation_efficiency_simple(omega, fluid=Fluid(c0=343.0, rho0=1.23, eta=0.01))
Radiation efficieny of rectangular plates using ISO EN 12354-1
Equations in the code are from [1]
[1] D. Johansson, P. Comnell, Statistical Energy Analysis Software, Master Thesis, Chalmers University, 2010
- Parameters:
omega (ndarray) – angular freuquency
fluid (fluid) – fluid material for half space
- Returns:
radiation efficiency for reververant wave field of plate
- Return type:
float
- resonant_TMM(trim=True)
Provides the resonant formulation of the 2Dsystem
Resonant means here under consideration of bending stiffness
- Returns:
Transfer matrix object of resonant layer
- Return type:
- transmission_coefficient_discrete(omega, half_spaces, mesh=None, method='piston')
method for transmission coeffient calculation based on discrete radiation stiffness
This method is based om the the dicrete plate stiffness of infinite plates and not on the plate modes
- Parameters:
omega (float) – angular frequencies
half_spaces (tuple of HalfSpace) – connectet HalfSpaces, two spaces when fluid differs
mesh (mesh2D) – mesh for discrete simulation, default is None for automatic calculation
method (str) – Identifier for calculation method ‘piston’ or ‘wavelett’
- Raises:
ValueError – DESCRIPTION.
- Returns:
tau – transmission coefficient.
- Return type:
float
- w_modal_force(omega, N, Fz, x, y, x0, y0)
Model frequency response due to force exciation
- Parameters:
omega (float) – angular frequency.
N (tuple of int) – Maximum mode number.
Fz (complex) – Force amplitude in z.
x (float) – response x-coordinate.
y (float) – response y-coordinate.
x0 (float) – force x-coordinate.
y0 (float) – force y-coordinate.
- Returns:
w – response displacement.
- Return type:
complex
- w_modal_force_random(omega, N, Fz, x, y, x0, y0, var, seed)
Model frequency response due to force exciation with random variation
The var parameter varies mass and modal frequency
- Parameters:
omega (float) – angular frequency.
N (int) – Maximum mode number.
Fz (complex) – Force amplitude in z.
x (float) – response x-coordinate.
y (float) – response y-coordinate.
x0 (float) – force x-coordinate.
y0 (float) – force y-coordinate.
var (float) – relative variation of mass and modal frequeny The variation interval is [1-var/2 , 1+var/2].
seed (float) – seed for random functioun.
- Returns:
w – mode shape.
- Return type:
complex
- w_mode(nx, ny, x, y)
Displacement mode shape for bending waves
- Parameters:
nx (int) – mode index in x.
ny (int) – mode index in y.
x (float) – x-coordinate.
y (float) – y-coordinate.
- Returns:
displacement.
- Return type:
complex
- w_mode_map(nx, ny, x, y, dX2, dY2)
Mapped displacement mode shape for bending waves
The mapped mode shape simulates a numeric mode shape by sampling the analytical solution be a regular mesh
- Parameters:
nx (int) – mode index in x.
ny (int) – mode index in y.
x (float) – x-coordinate.
y (float) – y-coordinate.
dX2 (float) – half element edge length in x.
dY2 (float) – half element edge length in y.
- Returns:
mode shape.
- Return type:
float or ndarray
- w_random(omega, F)
Single SEA plate subsystem average squared displacement response to force
Output and input have similat scaling. Amplitude forces gived squared average amplitude.
- Parameters:
omega (nd.arreay) – angular frequency
F (float) – force
- Returns:
random squared displacement.
- Return type:
float
- wave_transformation_matrix(omega, wavenumber, inv=False)
wave_transform taken from property method
- wave_transformation_matrix_LM(omega, wavenumber, inv=False)
wave_transform taken from property method.
- zPlate(omega, N, x0, y0)
Normal impedance
Calculated with the modal frequency response
- Parameters:
omega (float) – angular frequency.
N (int) – maximum mode number.
x0 (float) – x-position.
y0 (float) – y-position.
- Returns:
normal point impedance of plate.
- Return type:
complex
- z_plate_random(omega, N, x0, y0, var, seed)
Normal impedance with variation
Calculated with the modal frequency response
- Parameters:
omega (float) – angular frequency.
N (int) – maximum mode number.
x0 (float) – x-position.
y0 (float) – y-position.
var (float) – relative variation of mass and modal frequeny The variation interval is [1-var/2 , 1+var/2].
seed (float) – seed for random functioun.
- Returns:
normal point impedance of plate.
- Return type:
complex