code: def simplified_rayliegh_vel(self):
          
          # FIXME: What if last layer has no thickness?
          thicks = np.array([l.thickness for l in self])
          depths_mid = np.array([l.depth_mid for l in self])
          shear_vels = np.array([l.shear_vel for l in self])
  
          mode_incr = depths_mid * thicks / shear_vels ** 2
          # Mode shape is computed as the sumation from the base of
          # the profile. Need to append a 0 for the roll performed in the next
          # step
          shape = np.r_[np.cumsum(mode_incr[::-1])[::-1], 0]
  
          freq_fund = np.sqrt(4 * np.sum(
              thicks * depths_mid ** 2 / shear_vels ** 2
          ) / np.sum(
              thicks *
              # Roll is used to offset the mode_shape so that the sum
              # can be calculated for two adjacent layers
              np.sum(np.c_[shape, np.roll(shape, -1)], axis=1)[:-1] ** 2))
          period_fun = 2 * np.pi / freq_fund
          rayleigh_vel = 4 * thicks.sum() / period_fun
          return rayleigh_vel
docs: Simplified Rayliegh velocity of the site.
  
          This follows the simplifications proposed by Urzua et al. (2017)
  
          Returns
          -------
          rayleigh_vel : float
              Equivalent shear-wave velocity.