Пример #1
0
    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("************************************************************")
Пример #2
0
    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 "************************************************************"
Пример #3
0
    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(
                "************************************************************")