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
- 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
- returns:
DESCRIPTION.
Creates load vector of SEA system
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
Determines number of frequency lines
Determines number of SEA systems (of wavefields)
Determines number of physical systems (not wavefields)
property method for excitation dofs of SEA matrix (power)
property method for response dofs of SEA matrix (energy)
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:
Status code.
- Return type:
int
- property exc_DOF
property method for excitation dofs of SEA matrix (power)
- Returns:
excitation DOF of the SEA matrix
- Return type:
- 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
- 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:
- property res_DOF
property method for response dofs of SEA matrix (energy)
- Returns:
reponse DOF of the SEA matrix
- Return type:
- 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