# Path: Sea/model/subsystems/SubsystemStructural.py
# class SubsystemStructural(Subsystem):
#     """
#     Abstract base class for all Structural subsystems.
#     """
#     __metaclass__ = abc.ABCMeta  
#     
#     
#     @property
#     def velocity(self):
#         """
#         Vibrational velocity :math:`v`.
#         
#         .. math:: v = \\sqrt{\\frac{E}{m}}
#         """
#         try:
#             return np.sqrt(self.energy / self.component.mass)
#         except FloatingPointError:
#             return np.zeros(self.frequency.amount)
#             
#     @property
#     def velocity_level(self):
#         """
#         Velocity level.
#         
#         .. math:: L_v = 20 \\log_{10}{\\frac{v}{v_0}}
#         """
#         try:
#             return 20 * np.log10(self.velocity / (5 * 10**(-8)) ) 
#         except FloatingPointError:
#             return np.zeros(self.frequency.amount)


import numpy as np
from ComponentStructural import ComponentStructural
from ..subsystems import SubsystemStructural




class SubsystemLong(SubsystemStructural):
    pass


class SubsystemBend(SubsystemStructural):
    pass


# Path: Sea/model/subsystems/SubsystemStructural.py
# class SubsystemStructural(Subsystem):
#     """
#     Abstract base class for all Structural subsystems.
#     """
#     __metaclass__ = abc.ABCMeta  
#     
#     
#     @property
#     def velocity(self):
#         """
#         Vibrational velocity :math:`v`.
#         
#         .. math:: v = \\sqrt{\\frac{E}{m}}
#         """
#         try:
#             return np.sqrt(self.energy / self.component.mass)
#         except FloatingPointError:
#             return np.zeros(self.frequency.amount)
#             
#     @property
#     def velocity_level(self):
#         """
#         Velocity level.
#         
#         .. math:: L_v = 20 \\log_{10}{\\frac{v}{v_0}}
#         """
#         try:
#             return 20 * np.log10(self.velocity / (5 * 10**(-8)) ) 
#         except FloatingPointError:
#             return np.zeros(self.frequency.amount)


# Path: Sea/model/components/Component1DPipe.py
import numpy as np
from ComponentStructural import ComponentStructural
from ..subsystems import SubsystemStructural





class SubsystemLong(SubsystemStructural):
    pass


class SubsystemBend(SubsystemStructural):
    pass


class SubsystemShear(SubsystemStructural):