def make_movers(self, scheme): ensemble_list = self.get_ensembles(scheme, self.ensembles) movers = [] for pair in ensemble_list: movers.append(paths.ReplicaExchangeMover(ensemble1=pair[0], ensemble2=pair[1])) return movers
def make_movers(self, scheme): ensemble_list = self.get_ensembles(scheme, self.ensembles) movers = [] for ens in ensemble_list: movers.extend([paths.ReplicaExchangeMover(ensemble1=ens[i], ensemble2=ens[i+1]) for i in range(len(ens)-1)]) return movers
def make_movers(self, scheme): ensemble_list = self.get_ensembles(scheme, self.ensembles) movers = [] for ens in ensemble_list: pairs = list(itertools.combinations(ens, 2)) movers.extend([paths.ReplicaExchangeMover(ensemble1=pair[0], ensemble2=pair[1]) for pair in pairs]) return movers
def make_movers(self, scheme): signatures = [m.ensemble_signature for m in scheme.movers[self.from_group]] # a KeyError here indicates that there is no existing group of that # name: build scheme.movers[self.from_group] before trying to use it! self.check_for_hop_repex_validity(signatures) swap_list = [] for sig in signatures: n_ens = len(sig[0]) if n_ens == 2: swap_list.append(sig[0]) elif n_ens == 1: swap = (sig[0][0], sig[1][0]) if not (swap[1], swap[0]) in swap_list: swap_list.append(swap) swaps = [paths.ReplicaExchangeMover(swap[0], swap[1]) for swap in swap_list] return swaps