def __init__(self, min1, min2, pot, mindist, database, use_all_min=False, verbosity=1, merge_minima=False, max_dist_merge=0.1, local_connect_params=dict(), fresh_connect=False, longest_first=False, niter=200, conf_checks=None, load_no_distances=False ): self.minstart = min1 assert min1._id == min1, "minima must compare equal with their id %d %s %s" % (min1._id, str(min1), str(min1.__hash__())) self.minend = min2 self.pot = pot self.mindist = mindist self.pairsNEB = dict() self.longest_first = longest_first self.niter = niter if conf_checks is None: self.conf_checks = [] else: self.conf_checks = conf_checks self.verbosity = int(verbosity) self.local_connect_params = dict([("verbosity",verbosity)] + local_connect_params.items()) self.database = database self.fresh_connect = fresh_connect if self.fresh_connect: self.graph = Graph(self.database, minima=[self.minstart, self.minend], no_edges=True) else: self.graph = Graph(self.database) self.merge_minima = merge_minima self.max_dist_merge = float(max_dist_merge) self.load_no_distances = load_no_distances self.dist_graph = _DistanceGraph(self.database, self.graph, self.mindist, self.verbosity) #check if a connection exists before initializing distance Graph if self.graph.areConnected(self.minstart, self.minend): logger.info("minima are already connected. not initializing distance graph") return self.dist_graph.initialize(self.minstart, self.minend, use_all_min=use_all_min, load_no_distances=self.load_no_distances) if self.verbosity > 0: logger.info("************************************************************") logger.info("starting a double ended connect run between") logger.info(" minimum 1: id %d energy %f" % (self.minstart._id, self.minstart.energy)) logger.info(" minimum 2: id %d energy %f" % (self.minend._id, self.minend.energy)) logger.info(" dist %f" % self.getDist(self.minstart, self.minend)) logger.info("************************************************************")
def __init__(self, min1, min2, pot, mindist, database, use_all_min=False, verbosity=1, merge_minima=False, max_dist_merge=0.1, local_connect_params=dict(), fresh_connect=False, longest_first=False, ): self.minstart = min1 assert min1._id == min1, "minima must compare equal with their id %d %s %s" % (min1._id, str(min1), str(min1.__hash__())) self.minend = min2 self.pot = pot self.mindist = mindist self.pairsNEB = dict() self.longest_first = longest_first self.verbosity = int(verbosity) self.local_connect_params = dict([("verbosity",verbosity)] + local_connect_params.items()) self.database = database self.fresh_connect = fresh_connect if self.fresh_connect: self.graph = Graph(self.database, minima=[self.minstart, self.minend]) else: self.graph = Graph(self.database) self.merge_minima = merge_minima self.max_dist_merge = float(max_dist_merge) self.dist_graph = _DistanceGraph(self.database, self.graph, self.mindist, self.verbosity) #check if a connection exists before initializing distance Graph if self.graph.areConnected(self.minstart, self.minend): print "minima are already connected. not initializing distance graph" return self.dist_graph.initialize(self.minstart, self.minend, use_all_min) print "************************************************************" print "starting a double ended connect run between" print " minimum 1: id %d energy %f" % (self.minstart._id, self.minstart.energy) print " minimum 2: id %d energy %f" % (self.minend._id, self.minend.energy) print " dist %f" % self.getDist(self.minstart, self.minend) print "************************************************************"
def __init__(self, min1, min2, pot, mindist, database, use_all_min=False, verbosity=1, merge_minima=False, max_dist_merge=0.1, local_connect_params=dict(), fresh_connect=False, longest_first=True, niter=200, conf_checks=None, load_no_distances=False): self.minstart = min1 assert min1._id == min1, "minima must compare equal with their id %d %s %s" % ( min1._id, str(min1), str(min1.__hash__())) self.minend = min2 self.pot = pot self.mindist = mindist self.pairsNEB = dict() self.longest_first = longest_first self.niter = niter if conf_checks is None: self.conf_checks = [] else: self.conf_checks = conf_checks self.verbosity = int(verbosity) self.local_connect_params = dict([("verbosity", verbosity)] + local_connect_params.items()) self.database = database self.fresh_connect = fresh_connect if self.fresh_connect: self.graph = TSGraph(self.database, minima=[self.minstart, self.minend], no_edges=True) else: self.graph = TSGraph(self.database) self.merge_minima = merge_minima self.max_dist_merge = float(max_dist_merge) self.load_no_distances = load_no_distances self.dist_graph = _DistanceGraph(self.database, self.graph, self.mindist, self.verbosity) #check if a connection exists before initializing distance graph if self.graph.areConnected(self.minstart, self.minend): logger.info( "minima are already connected. not initializing distance graph" ) return self.dist_graph.initialize(self.minstart, self.minend, use_all_min=use_all_min, load_no_distances=self.load_no_distances) if self.verbosity > 0: logger.info( "************************************************************") logger.info("starting a double ended connect run between") logger.info(" minimum 1: id %d energy %f" % (self.minstart._id, self.minstart.energy)) logger.info(" minimum 2: id %d energy %f" % (self.minend._id, self.minend.energy)) logger.info(" dist %f" % self.getDist(self.minstart, self.minend)) logger.info( "************************************************************")