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)
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)
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
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