def add_data(self): """ """ if len(self.periods) == 0: periods = self.fle["IMS/X/Spectra/Response/Periods"].value[1:] x_acc = self.fle["Time Series/X/Original Record/Acceleration"] y_acc = self.fle["Time Series/Y/Original Record/Acceleration"] sax, say = ims.get_response_spectrum_pair(x_acc.value, x_acc.attrs["Time-step"], y_acc.value, y_acc.attrs["Time-step"], periods, self.damping) sa_hor = ORDINARY_SA_COMBINATION[self.component](sax, say) dstring = "damping_" + str(int(100.0 * self.damping)).zfill(2) nvals = len(sa_hor["Acceleration"]) self._build_group("IMS/H/Spectra/Response", "Acceleration", "Acceleration", sa_hor, nvals, "cm/s/s", dstring) self._build_group("IMS/H/Spectra/Response", "Velocity", "Velocity", sa_hor, nvals, "cm/s", dstring) self._build_group("IMS/H/Spectra/Response", "Displacement", "Displacement", sa_hor, nvals, "cm", dstring) self._build_group("IMS/H/Spectra/Response", "PSA", "Pseudo-Acceleration", sa_hor, nvals, "cm/s/s", dstring) self._build_group("IMS/H/Spectra/Response", "PSV", "Pseudo-Velocity", sa_hor, nvals, "cm/s", dstring) self._add_periods(periods)
def add_data(self): """ Adds the response spectrum """ if len(self.periods) == 0: self.periods = self.fle["IMS/X/Spectra/Response/Periods"].value[1:] x_acc = self.fle["Time Series/X/Original Record/Acceleration"] y_acc = self.fle["Time Series/Y/Original Record/Acceleration"] sax, say = ims.get_response_spectrum_pair(x_acc.value, x_acc.attrs["Time-step"], y_acc.value, y_acc.attrs["Time-step"], self.periods, self.damping) sa_hor = ORDINARY_SA_COMBINATION[self.component](sax, say) dstring = "damping_" + str(int(100.0 * self.damping)).zfill(2) nvals = len(sa_hor["Acceleration"]) self._build_group("IMS/H/Spectra/Response", "Acceleration", "Acceleration", sa_hor, nvals, "cm/s/s", dstring) self._build_group("IMS/H/Spectra/Response", "Velocity", "Velocity", sa_hor, nvals, "cm/s", dstring) self._build_group("IMS/H/Spectra/Response", "Displacement", "Displacement", sa_hor, nvals, "cm", dstring) self._build_group("IMS/H/Spectra/Response", "PSA", "Pseudo-Acceleration", sa_hor, nvals, "cm/s/s", dstring) self._build_group("IMS/H/Spectra/Response", "PSV", "Pseudo-Velocity", sa_hor, nvals, "cm/s", dstring) self._add_periods()
def test_get_geometric_mean_spectrum(self): # Tests the geometric mean spectrum sax, say = ims.get_response_spectrum_pair( self.fle["INPUTS/RECORD1/XRECORD"][:], self.fle["INPUTS/RECORD1/XRECORD"].attrs["timestep"], self.fle["INPUTS/RECORD1/YRECORD"][:], self.fle["INPUTS/RECORD1/YRECORD"].attrs["timestep"], self.periods, damping=0.05, units="cm/s/s", method="Nigam-Jennings") sa_gm = ims.geometric_mean_spectrum(sax, say) self._compare_sa_sets(sa_gm, "TEST1/GM/spectra")
def test_envelope_spectrum(self): # Tests the envelope spectrum sax, say = ims.get_response_spectrum_pair( self.fle["INPUTS/RECORD1/XRECORD"][:], self.fle["INPUTS/RECORD1/XRECORD"].attrs["timestep"], self.fle["INPUTS/RECORD1/YRECORD"][:], self.fle["INPUTS/RECORD1/YRECORD"].attrs["timestep"], self.periods, damping=0.05, units="cm/s/s", method="Nigam-Jennings") sa_env = ims.envelope_spectrum(sax, say) self._compare_sa_sets(sa_env, "TEST1/ENV/spectra")
def test_get_response_spectrum_pair(self): # Tests the call to the response spectrum via ims sax, say = ims.get_response_spectrum_pair( self.fle["INPUTS/RECORD1/XRECORD"][:], self.fle["INPUTS/RECORD1/XRECORD"].attrs["timestep"], self.fle["INPUTS/RECORD1/YRECORD"][:], self.fle["INPUTS/RECORD1/YRECORD"].attrs["timestep"], self.periods, damping=0.05, units="cm/s/s", method="Nigam-Jennings") self._compare_sa_sets(sax, "TEST1/X/spectra") self._compare_sa_sets(say, "TEST1/Y/spectra")