pyva.models.HybridModel

class pyva.models.HybridModel(systems=(), FEsystems=(), sifs=(), xdata=DataAxis of 13 samples and type angular frequency in 1 / second, **kwargs)

Bases: object

The HybridModel class provides the framework for the random part of a vibroacoustic model.

systems

SEA systems of the SEA model

Type:

dict

FEsystems

FEM systems of the SEA model

Type:

dict

junctions

junction defining the coupling of systems

Type:

dict

hybrid_junctions

junction defining the hybrid (via FE) coupling of systems

Type:

dict

SEAmatrix = DynamicMatrix

SEAmatrix of CLF and DLF of the model

energy

energy of subsystems

Type:

Signal

result

physical unit of subsystens, e.g. velocity

Type:

dict

hybrid_result

physical unit of FE subsystens, e.g. velocity

Type:

dict

loads

loads of the model

Type:

dict

__init__(systems=(), FEsystems=(), sifs=(), xdata=DataAxis of 13 samples and type angular frequency in 1 / second, **kwargs)

Class constructor of HybridModel

Parameters:
  • systems (tuple, optional) – List of SEA systems. The default is tuple().

  • FEsystems (tuple, optional) – List of FE systems. The default is tuple().

  • xdata (DataAxis) – Global frequency of the model. The default is mC.DataAxis.octave_band().

  • loads (load) – loads of the model.

Return type:

None.

Methods

__init__([systems, FEsystems, sifs, xdata])

Class constructor of HybridModel

add_SIF(sifdict)

Adds semi infinite fluid (SIF) to the SEA model

add_hybrid_junction(junctions)

Adds junction to the SEA model

add_junction(junctions)

Adds junction to the SEA model

add_load(key, load)

Adds load to the HybridModel

add_system(system)

Adds systems to the SEA model

calculate_physical_units(**kwargs)

Create pysical units from energy results of system nature

create_SEA_matrix([sym, force])

Creates the SEA matrix from subystems and junction

get_CLF(m_dof, n_dof)

get sum of all CLF from off diagonal of existing SEA matrix

get_SEA_model_DOFs()

returns:

DESCRIPTION.

get_load_vector()

Creates load vector of SEA system

get_modal_density()

modal densities in order of wave_DOF

index(ID)

Determines index of ID in system list of HybridModel

power_input(ID[, wave_DOF, result])

Calculates power input to specified subsystem

solve(**kwargs)

Solve SEA model

update()

Updates all relevant attributes of HybridModel

Attributes

N_freq

Determines number of frequency lines

N_sea

Determines number of SEA systems (of wavefields)

N_sys

Determines number of physical systems (not wavefields)

exc_DOF

property method for excitation dofs of SEA matrix (power)

res_DOF

property method for response dofs of SEA matrix (energy)

wave_DOF

property method that gives the wave_DOFs of the SEA model

property N_freq

Determines number of frequency lines

Returns:

number of frequency lines

Return type:

uint16

property N_sea

Determines number of SEA systems (of wavefields)

Structural SEA systems as plates or beams may have several wave fields that are considererd as different reverberant fields and thus as different subsystems. The number of reverberant fields considered considered as independent is determined here.

Returns:

number of reverberant fields/SEA systems

Return type:

uint16

property N_sys

Determines number of physical systems (not wavefields)

Returns:

number of physical systems

Return type:

uint16

add_SIF(sifdict)

Adds semi infinite fluid (SIF) to the SEA model

Parameters:

sifdict (TYPE) – DESCRIPTION.

Return type:

None.

add_hybrid_junction(junctions)

Adds junction to the SEA model

Parameters:

junctions (hybrid_junction) – hybrid junction of the SEA model.

Return type:

None.

add_junction(junctions)

Adds junction to the SEA model

Parameters:

junctions (TYPE) – DESCRIPTION.

Return type:

None.

add_load(key, load)

Adds load to the HybridModel

Parameters:
  • key (int) – load key.

  • load (load) – load of the HybridModel.

Return type:

None.

add_system(system)

Adds systems to the SEA model

Parameters:

system (SEAsytem or FEsystem) – system to be added.

Return type:

None.

calculate_physical_units(**kwargs)

Create pysical units from energy results of system nature

Parameters:

**kwargs (dict) – Arbitrary keyword argmuments.

Return type:

None.

create_SEA_matrix(sym=1, force=None)

Creates the SEA matrix from subystems and junction

This method loops over subsystems and junctions to set up the SEA matrix, including the hybrid junctions. In case of hybrid junction excitation by external laods is included. (not from the reverberant SEA fields)

Parameters:
  • sym (int, optional) – Symmmetry of SEA matrix. The default is 1 (symmetric).

  • force (force, optional) – Force loads on FEsystems. The default is None.

Returns:

DESCRIPTION.

Return type:

int

property exc_DOF

property method for excitation dofs of SEA matrix (power)

Returns:

excitation DOF of the SEA matrix

Return type:

DOF

get_CLF(m_dof, n_dof)

get sum of all CLF from off diagonal of existing SEA matrix

If two systems are connected via multiple paths, the SEA matrix contains the sum of all paths. For example two cavities separated by different panels contain all sinlge CLFs of the panels in the off diagonal of the matrix

Parameters:
  • m_dof (dof.DOF) – … of from / source subsystem

  • n_dof (dof.DOF) – … of to / receiver subsystem

Returns:

n_eta – Sum of coupling loss factor

Return type:

ndarry

get_SEA_model_DOFs()
Returns:

DESCRIPTION.

Return type:

TYPE

get_load_vector()

Creates load vector of SEA system

Returns:

of power load

Return type:

ndarray

get_modal_density()

modal densities in order of wave_DOF

Returns:

m_dens – modal density of systems over frequency.

Return type:

ndarray ( N_sea, N_freq)

index(ID)

Determines index of ID in system list of HybridModel

Parameters:

ID (integer) – System ID

Returns:

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

Return type:

integer

power_input(ID, wave_DOF=0, result='detail')

Calculates power input to specified subsystem

Parameters:
  • ID (int) – ID of systems.

  • wave_DOF (int, optional) – wave_DOF of reverberant field. The default is 0 for all.

  • result (str, optional) – Method of input calculation, ‘detail’ for single path contribution, ´total´ overall. The default is ‘detail’.

Raises:

ValueError – DESCRIPTION.

Returns:

power input of subsystems.

Return type:

Signal

property res_DOF

property method for response dofs of SEA matrix (energy)

Returns:

reponse DOF of the SEA matrix

Return type:

DOF

solve(**kwargs)

Solve SEA model

Solves the SEA model and provides the energy result for each subsystem In case of requested power the input of all power is

Parameters:

power_in (bool) – switch for input power calculation

Return type:

None.

update()

Updates all relevant attributes of HybridModel

property wave_DOF

property method that gives the wave_DOFs of the SEA model

Returns:

wave DOF of SEAsystems.

Return type:

dof