Source code for seapy.couplings.couplingpointstructural

"""
Structural point coupling
-------------------------

"""


import numpy as np
from .coupling import Coupling


[docs]class CouplingPointStructural(Coupling): """ Model of a point coupling between structural components. """ @property
[docs] def impedance_from(self): """ Choses the right impedance of subsystem_from. Applies boundary conditions correction as well. """ return self.subsystem_from.impedance
@property
[docs] def impedance_to(self): """ Choses the right impedance of subsystem_from. Applies boundary conditions correction as well. """ return self.subsystem_to.impedance
@property
[docs] def tau(self): """ Frequency averaged transmission coefficient .. math:: \\overline{\\tau_{12}} = \\frac{8 \\pi \\langle \\overline{G_1} \\rangle f \\eta_1 M_1}{1 + \\frac{\\eta_1}{\\eta_2}} \\frac{\\eta_2 + \\eta_{21}}{\\eta_12} .. math:: \\tau_{12} = \\frac{4 R_1 R_2}{\\left| \\sum_{i=1}^m Z_i \\right|^2} See :cite:`1998:lyon`. """ return 4.0 * self.resistance_from * self.resistance_to / self.junction.impedance**2.0
@property
[docs] def clf(self): """Coupling loss factor.""" #return self.tau() * self.subsystem_from.c_group() / (self.subsystem_from.omega * self.subsystem_from.component.length() * (2-self.tau()) ) return np.real(subsystem_to.mobility()) / (2.0 * np.pi * self.frequency.angular * subsystem_from.component.mass + np.abs(self.subsystem_from.mobility() + self.subsystem_to.mobility() )**2.0 )