示例#1
0
 def compute(self, mag, imt, gmf, sites):
     if imt.name == 'PGA':
         return [hazus_lateral_spreading_displacement(
             mag=mag, pga=gmf, liq_susc_cat=sites.liq_susc_cat,
             return_unit=self.return_unit
         )]
     else:
         raise NotImplementedError('HazusLateralSpreading for %s' % imt)
示例#2
0
    def test_hazus_liquefaction_displacements(self):

        self.sites["hazus_lat_disp"] = hazus_lateral_spreading_displacement(
            mag=self.mag, pga=self.pga, liq_susc_cat=self.sites["liq_susc_cat"]
        )

        disps = np.array([0.53306034, 2.33933074, 0.74434279, 2.168416,
            3.84597609, 0.36615681, 0., 0., 1.15887168, 1.3722039 ])

        np.testing.assert_array_almost_equal(self.sites.hazus_lat_disp, disps)
示例#3
0
 def compute(self, mag, imt_gmf, sites):
     out = []
     for imt, gmf in imt_gmf:
         if imt.name == 'PGA':
             out.append(
                 hazus_lateral_spreading_displacement(
                     mag=mag,
                     pga=gmf,
                     liq_susc_cat=sites.liq_susc_cat,
                     return_unit=self.return_unit))
     return out
示例#4
0
 def compute(self, mag, imt_gmf, sites):
     out = []
     for im, gmf in imt_gmf:
         if im.name == 'PGA':
             ls = hazus_lateral_spreading_displacement(
                 mag=mag,
                 pga=gmf,
                 liq_susc_cat=sites.liq_susc_cat,
                 return_unit=self.return_unit)
             vs = hazus_vertical_settlement(sites.liq_susc_cat,
                                            return_unit=self.return_unit)
             out.append(self.deformation_component(ls, vs))
     return out