def get_rates(self, n_iter, mapper): '''Get rates and associated uncertainties as of n_iter, according to the window size the user has selected (self.windowsize)''' if self.windowtype == 'fraction': if self.max_windowsize is not None: eff_windowsize = min(self.max_windowsize,int(n_iter * self.windowsize)) else: eff_windowsize = int(n_iter * self.windowsize) else: # self.windowtype == 'fixed': eff_windowsize = min(n_iter, self.windowsize or 0) averager = RateAverager(mapper, self.system, self.data_manager, self.work_manager) averager.calculate(max(1, n_iter-eff_windowsize), n_iter+1, self.rate_calc_n_blocks, self.rate_calc_queue_size) self.eff_windowsize = eff_windowsize return averager
def get_rates(self, n_iter, mapper): '''Get rates and associated uncertainties as of n_iter, according to the window size the user has selected (self.windowsize)''' if self.windowtype == 'fraction': if self.max_windowsize is not None: eff_windowsize = min(self.max_windowsize, int(n_iter * self.windowsize)) else: eff_windowsize = int(n_iter * self.windowsize) else: # self.windowtype == 'fixed': eff_windowsize = min(n_iter, self.windowsize or 0) averager = RateAverager(mapper, self.system, self.data_manager, self.work_manager) averager.calculate(max(1, n_iter - eff_windowsize), n_iter + 1, self.rate_calc_n_blocks, self.rate_calc_queue_size) self.eff_windowsize = eff_windowsize return averager