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

edge_imaginary_radiation_stiffness_wavenumber(...)

imaginary_radiation_stiffness_wavenumber taken from property method.

edge_radiation_stiffness_wavenumber(omega, ...)

radiation_stiffness_wavenumber taken from property method.

edge_radiation_stiffness_wavenumber_LM(...)

radiation_stiffness_wavenumber taken from property method.

edge_skew_radiation_stiffness_wavenumber(...)

skew_radiation_stiffness_wavenumber taken from property method.

edge_skew_radiation_stiffness_wavenumber_LM(...)

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(...)

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.

edge_wave_excitation_force_cross_correlation(...)

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_coefficient_discrete(...)

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

non_resonant_TMM()

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

ID

unique ID of SEA system

Lx

Lx estimator

Ly

Ly estimator

N_wave_fields

Number of wave field in physical SEA system

mass

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:

DynamicMatrix

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:

TMmodel

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:

TMmodel

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