pyva.coupling.junctions.AreaJunction

class pyva.coupling.junctions.AreaJunction(systems, area=0)

Bases: Junction

Class for Area Junctions between plates and cavities

systems

connected systems

Type:

list or tuple

area

area of AreaJunction

Type:

float

double_cavity

switch for simple cavity-cavity connection

Type:

bool

cavity1

first connected cavity

Type:

Acoustic3DSystem

cavity2

second connected cavity

Type:

Acoustic3DSystem

plate

plate subsysten

Type:

Structure2DSystem

ix_plate

index of plate subsystem in list

Type:

int

__init__(systems, area=0)

Class contructor for AreraJunction

Possible system configurations are:

cavity - plate - cavity cavity - cavity plate - cavity cavity - plate

Parameters:
  • systems (list) – involved systems

  • area (float) – area of area junction

Examples

Methods

CLF(omega[, i_sys, i_in_wave, i_out_wave, ...])

coupling loss factor for area junctions

CLF_fluid_fluid(omega[, pos_dir, theta_max])

Calculates the coupling loss factor of fluid fluid junctions

CLF_structure_fluid(omega[, ix_cavity, pos_dir])

Calculates the coupling loss factors of plate to fluid junctions

__init__(systems[, area])

Class contructor for AreraJunction

get_wave_DOF([ix])

Provides the local wave DOFs of the area junction

index(ID)

Determines index of ID in system list of junction

junction_matrix(omega[, N_step, method, Signal])

Calculates the local SEA matrix for the junction DOFs

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, i_sys=(0, 1), i_in_wave=(0, 0), i_out_wave=(0, 0), N_step=90, method='diffuse', Signal=True)

coupling loss factor for area junctions

This method calculates the CLF from system i_sys[0] to i_sys[1] and calls the appropriate CLF_fluid_fluid or CLF_structure_fluid method

Parameters:
  • omega (float) – angular frequency.

  • i_sys (tuple, list of ndarray, optional) – 2x1 vector of input output index. The default is (0,1).

  • i_in_wave (int, optional) – index of in wave. The default is (0,0).

  • i_out_wave (int, optional) – index of out wave. The default is (0,0).

  • N_step (int, optional) – Integration steps for diffuse field integration. The default is 90.

  • method (str, optional) – method str for selection of calculation method. The default is ‘diffuse’.

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

Returns:

CLF.

Return type:

Signal or ndarray

CLF_fluid_fluid(omega, pos_dir=True, theta_max=1.361356816555577)

Calculates the coupling loss factor of fluid fluid junctions

The infinite layer method is used here for the mass law and non-resonant coupling

Parameters:
  • omega (TYPE) – angular frequency.

  • pos_dir (bool, optional) – switch for direction of wave transfer. The default is True.

  • theta_max (float, optional) – Maximum angle for diffuse field integration. The default is np.pi/180*78.

Returns:

eta_non_res – CLF.

Return type:

ndarray

CLF_structure_fluid(omega, ix_cavity=0, pos_dir=True)

Calculates the coupling loss factors of plate to fluid junctions

Parameters:
  • omega (float) – angular frequency.

  • ix_cavity (int, optional) – index of cavity. The default is 0.

  • pos_dir (bool, optional) – swith for direction. True means from plate to cavity. The default is True.

Returns:

coupling loss factor.

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 area junction

Parameters:

ix (int, optional) – DESCRIPTION. The default is slice(None,None).

Returns:

ldofs of junction systems participating to junction DESCRIPTION.

Return type:

DOF

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, N_step=90, method='diffuse', Signal=True)

Calculates the local SEA matrix for the junction DOFs

This method calculates the all CLF of junction matric [J] The wavefields that are considered ar either the pressure wave or the bending wave The CLF is calculated running through through both indexes

Parameters:
  • omega (float) – angular frequency.

  • N_step (int, optional) – Integration steps for diffuse field integration. The default is 90.

  • method (str, optional) – method str for selection of calculation method. The default is ‘diffuse’.

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

Returns:

JM – Junction SEA matrix.

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