pyva.coupling.junctions.Junction

class pyva.coupling.junctions.Junction(systems)

Bases: object

Abstract base class for all Junction classes

Junction handle a specific set of dofs similar to the dynamix DOFS, but the space direction and rotation DOFs are replaced by wave field DOFs for example logitudinal, shear and bending wave fields

The DOF class used the DOF.ID for the identification of the system and the wave_dof for the wave field that is considered as reverberant field

wave_DOF

of the reverberant waves e.g. dof=3 and velocity for bending waves

Type:

DOF

systems

of systems

Type:

list or tupel

__init__(systems)

Class contructor for junction

Parameters:

systems (tupel or list) – systems connected by the junction

Return type:

None.

Methods

__init__(systems)

Class contructor for junction

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

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