pyva.coupling.junctions.HybridAreaJunction

class pyva.coupling.junctions.HybridAreaJunction(systems, fem, coupling='all', trim=None)

Bases: Junction

Class for hybrid area junctions between FEM systems and cavities

systems
Type:

list of SEA systems

FEMsys
Type:

list of FEMsystems

__init__(systems, fem, coupling='all', trim=None)

Class contructor for HbridAreaJunction

Parameters:
  • systems (tuple, list or ndarray) – vector of SEA systems.

  • fem (fem) – FEM system.

  • coupling (str,tuple, list or ndarray, optional) – indexes defining nodes coupled to SEA subsystem. The default is ‘all’.

  • trim (tuple, list of TMmodel, optional) – trim layer definition. The default is None.

Return type:

None.

Methods

CLF(omega[, trim, force])

coupling loss factor for hybrid area junction

FEM_response(omega, energy)

Calculates the cross spectral resonse of the plate due to reverberant fields in SEA systems

__init__(systems, fem[, coupling, trim])

Class contructor for HbridAreaJunction

get_wave_DOF([ix])

Provides the local wave DOFs of the junction

index(ID)

Determines index of ID in system list of junction

junction_matrix(omega)

Create empty junction matrix for further calculation in daughter classes

modal_density(omega)

Provides modal density

Attributes

N

Number of connected physical SEA systems (not wave_fields)

N_wave

Number of wave fields

exc_DOF

Provides 'excitation' DOFs of junction SEA matrix

in_dofs

Provides input wave dofs of junction for upper triangular input matrix

out_dofs

Provides output wave dofs of junction for upper triangular input matrix

res_DOF

Provides 'response' DOFs of junction SEA matrix

CLF(omega, trim=None, force=None)

coupling loss factor for hybrid area junction

This method calculates the CLF from system i_sys[0] to i_sys[1]. The wavefields that are considered are either the pressure waves The CLF is calculated running through through both indexes

This method provides the total stiffness, thus it is efficient to perform all solutions that require the total stiffness matrix

Parameters:
  • omega (ndarray) – angular frequency.

  • trim (TMmodel, optional) – trim as layers. The default is None.

  • force (Load, optional) – force defined on nodes and DOFs. The default is None.

  • Signal (bool, optional) – switch for Signal output. The default is True.

Returns:

  • CLF (ndarray) – hybrid coupling loss factor

  • CLF_alpha (ndarray) – dymping of SEA systems due to loss in FE-system

  • input_power (ndarray) – power input to the SEA subsystem due to the force load

  • modal_displacement (ndarray) – modal displacement due to force load

FEM_response(omega, energy)

Calculates the cross spectral resonse of the plate due to reverberant fields in SEA systems

Parameters:
  • omega (ndarray) – angular frequency.

  • energy (Signal) – energy in SEA systems.

Returns:

CSD of FEM DOFs.

Return type:

ndarray

property N

Number of connected physical SEA systems (not wave_fields)

Returns:

number of systems

Return type:

int

property N_wave

Number of wave fields

Returns:

Number of wave fields

Return type:

int

property exc_DOF

Provides ‘excitation’ DOFs of junction SEA matrix

The ‘excitation’ and response DOFs are equal in terms of ID and wave_dof but use ‘power’ as physical input

Returns:

excitation DOFs of junction SEA matrix

Return type:

DOF

get_wave_DOF(ix=slice(None, None, None))

Provides the local wave DOFs of the junction

Returns:

dofs of junction, list of systems

Return type:

DOF,sys_list

property in_dofs

Provides input wave dofs of junction for upper triangular input matrix

These DOFs are requiered to determine the column index of the upper triangular components in the global SEA matrix.

For example a plate - cavity junction has wave dofs [ ID=1,dof=3 ; 1,5 ; 2,0 ]

The full of diag CLF in the SEA matrix are

\begin{bmatrix}
    \Sigma & - n_{15}\eta_{15,13} & -n_{20}\eta_{20,13} \\                 - n_{13}\eta_{13,15} & \Sigma & -n_{20}\eta_{20,15} \\                 - n_{13}\eta_{13,20} & - n_{15}\eta_{15,20} & \Sigma
\end{bmatrix}

The column dofs would be : [ 1,5 ; 2,0 ; 2,0]

See also

out_dofs

Returns:

wave_DOF of column.

Return type:

DOF

index(ID)

Determines index of ID in system list of junction

Parameters:

ID (int) – System ID

Returns:

index of ID in system list (-1) if not found

Return type:

int

junction_matrix(omega)

Create empty junction matrix for further calculation in daughter classes

Parameters:

omega (float or ndarray) – angular frequency.

Returns:

Empty junction matrix with correct in- and out-DOFs

Return type:

DynamicMatrix

modal_density(omega)

Provides modal density

Calculates the modal density for all connected wavefields of the junction.

Parameters:

omega (ndarray) – angular frequency.

Returns:

res – modal density.

Return type:

ndarray of dimension N_wave x size(omega)

property out_dofs

Provides output wave dofs of junction for upper triangular input matrix

These DOFs are requiered to determine the row index of the upper triangular components in the global SEA matrix.

For example a plate - cavity junction has wave dofs [ 1,3 ; 1,5 ; 2,0 ]

The full of diag CLF in the SEA matrix are

\begin{bmatrix}
    \Sigma & - n_{15}\eta_{15,13} & -n_{20}\eta_{20,13} \\                 - n_{13}\eta_{13,15} & \Sigma & -n_{20}\eta_{20,15} \\                 - n_{13}\eta_{13,20} & - n_{15}\eta_{15,20} & \Sigma
\end{bmatrix}

The column dofs would be : [ 1,3 ; 1,3 ; 1,5]

See also

in_dofs

Returns:

wave_DOF of rows.

Return type:

DOF

property res_DOF

Provides ‘response’ DOFs of junction SEA matrix

The ‘response’ and excitation DOFs are equal in terms of ID and wave_dof but use ‘energy’ as physical output

Returns:

response DOFs of junction SEA matrix

Return type:

DOF