pyva.coupling.junctions.SemiInfiniteFluid

class pyva.coupling.junctions.SemiInfiniteFluid(systems, fluid, area=0.0)

Bases: AreaJunction

Class for non reverberant sinks due to semi infinite fluid half space

The aim of this class is to add absoption to the connected area junctions, to calculate the radiated power into the sink and to calculate the power at certain discance

__init__(systems, fluid, area=0.0)

Constructor of simi infinite fluids

Parameters:
  • systems (tuple of list of SEA systems) – connected SEA systems.

  • fluid (fluid) – DESCRIPTION.

  • area (float, optional) – area of SIF. The default is 0..

Return type:

None.

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, fluid[, area])

Constructor of simi infinite fluids

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

non_resonant_dampingloss(omega)

non-resonant DLF of connected cavities

resonant_dampingloss(omega)

resonant DLF of connected plates

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)

non_resonant_dampingloss(omega)

non-resonant DLF of connected cavities

Parameters:

omega (float) – angular frequency.

Returns:

eta – damping loss factor.

Return type:

ndarray

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

resonant_dampingloss(omega)

resonant DLF of connected plates

Parameters:

omega (float) – angular frequency.

Returns:

eta – damping loss factor.

Return type:

ndarray