Source code for seapy.components.structural3d

"""
Solid
=====

.. autoclass:: seapy.component.structural3d.Component3D

Subsystems
++++++++++

.. autoclass:: seapy.component.structural3d.SubsystemLong

"""


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


[docs]class SubsystemLong(SubsystemStructural): """ Subsystem from longitudinal waves in a 3D isotropic solid. """ @property
[docs] def soundspeed_group(self): """Group velocity for longitudinal waves in a 3D solid. :rtype: :class:`numpy.ndarray` .. math:: C_L = \\left( \\frac{E}{\\rho} \\frac{\\left( 1-\\mu \\right)}{\\left( 1+\\mu\\right)\\left( 1-2\\mu \\right)} \\right)^{0.5} See Craik, table 3.2, first row, page 49. """ poisson = self.component.material.poisson young = self.component.material.young density = self.component.material.density return np.ones(self.frequency.amount) * np.sqrt( young / density * (1.0 - poisson / ((1.0+poisson)*(1.0-2.0*poisson)) ) )
[docs]class Component3D(ComponentStructural): pass