def _good_case(self, name=None): # calculation of powder data good_data = self._get_good_data(filename=name) good_tester = AbinsModules.CalculatePowder( filename=AbinsModules.AbinsTestHelpers.find_file(filename=name + ".phonon"), abins_data=good_data["DFT"]) calculated_data = good_tester.calculate_data().extract() # check if evaluated powder data is correct for key in good_data["powder"]: for i in good_data["powder"][key]: self.assertEqual( True, np.allclose(good_data["powder"][key][i], calculated_data[key][i])) # check if loading powder data is correct new_tester = AbinsModules.CalculatePowder( filename=AbinsModules.AbinsTestHelpers.find_file(name + ".phonon"), abins_data=good_data["DFT"]) loaded_data = new_tester.load_formatted_data().extract() for key in good_data["powder"]: for i in good_data["powder"][key]: self.assertEqual( True, np.allclose(calculated_data[key][i], loaded_data[key][i]))
def _calculate_s(self): powder_calculator = AbinsModules.CalculatePowder(filename=self._input_filename, abins_data=self._abins_data) powder_data = powder_calculator.get_formatted_data() calculate_s_powder = None if self._instrument.get_name() in AbinsModules.AbinsConstants.ONE_DIMENSIONAL_INSTRUMENTS: calculate_s_powder = self._calculate_s_powder_1d s_data = calculate_s_powder(powder_data=powder_data) return s_data
def _calculate_s(self): # calculate powder data powder_calculator = AbinsModules.CalculatePowder(filename=self._input_filename, abins_data=self._abins_data) powder_calculator.get_formatted_data() # free memory self._abins_data = None gc.collect() # calculate S calculate_s_powder = None if self._instrument.get_name() in AbinsModules.AbinsConstants.ONE_DIMENSIONAL_INSTRUMENTS: calculate_s_powder = self._calculate_s_powder_1d s_data = calculate_s_powder() return s_data