pyva.systems.structure2Dsystems.Structure2DSystem

class pyva.systems.structure2Dsystems.Structure2DSystem(ID, area, prop, curvature='flat', wave_DOF=[3, 5], eta=0.01, perimeter=0.0, trim=(None, None))

Bases: SEA_system

Class for structural 2D SEA system

This class provide methods for the random description of plate SEA systems. Plate systems are described by the wave fields that occur in plates. The wave field is identified by the wave_DOF attribute. In classical SEA [Lan1990] there are 3 propagating wave types.

  1. Longitudinal waves

  2. Shear waves

  3. Bending waves

The wave_DOF correspons to the number in the enumeration. As the bending wave equation has two solutions a wave_DOF=4 corresponds also to the bending wave.

In [Pei2022] it is shown the diffuse field reciprocity is valid for bending or a combination of shear- and longitudinal wave. Thus, wave_DOF=5 identifies in-plane waves. If all waves are not separated and considered in total, this is denoted by wave_DOF = 0.

area

area of the plate

Type:

float

perimeter

perimeter of the plate

Type:

float

curvature

topology identifier ‘flat’, ‘singlecurved’, ‘doublycurved’

Type:

str

__init__(ID, area, prop, curvature='flat', wave_DOF=[3, 5], eta=0.01, perimeter=0.0, trim=(None, None))

Constructor for two dimensional structural SEA systems

Parameters:
  • ID (int) – System identifier.

  • area (float) – area of the plate.

  • prop (PlateProp) – Property of plate.

  • curvature (str, optional) – identifier for curvature. The default is ‘flat’.

  • wave_DOF (in, optional) – wave degrees of freedom. The default is [3,5].

  • first (# bending must be) –

  • eta (float or Signal, optional) – damping loss factor. The default is 0.01.

  • perimeter (float, optional) – perimeter of plate. The default is 0..

  • trim (tuple of TMmodel, optional) – noise control treatement lay-up on front and back side. The default is (‘none’,’none’).

Raises:

ValueError – DESCRIPTION.

Return type:

None.

Methods

__init__(ID, area, prop[, curvature, ...])

Constructor for two dimensional structural SEA systems

damping_loss(omega, wave_DOF)

Damping loss of SEA systemns.

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.

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

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

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

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.

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

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

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

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

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

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.