Exemple #1
0
    def setUp1(self, nproc=1):
        self.set_up_system()
        self.nreplicas = 10
        self.stepsize = 0.01
        self.nproc = nproc

        self.database = self.system.create_database("lj13.db")
        self.minima = self.database.minima()
        assert self.database.number_of_minima(
        ) > 1, "%d minima" % self.database.number_of_minima()

        self.mc_runner = self.system.get_mc_walker(mciter=100)

        self.ns = NestedSamplingSA(self.system,
                                   self.nreplicas,
                                   self.mc_runner,
                                   minima=self.minima,
                                   minprob=0.9,
                                   energy_offset=100.,
                                   stepsize=0.1,
                                   nproc=nproc,
                                   verbose=False)

        self.Emax0 = self.ns.replicas[-1].energy

        self.niter = 100
        for i in xrange(self.niter):
            self.ns.one_iteration()
        self.Emax = self.ns.replicas[-1].energy
        self.Emin = self.ns.replicas[0].energy
Exemple #2
0
    def setUp1(self, nproc=4):
        self.set_up_system()
        self.nreplicas = 50
        self.stepsize = 0.01
        self.nproc = nproc

        self.database = self.system.create_database("lj13.db")
        self.minima = self.database.minima()

        self.mc_runner = self.system.get_mc_walker(mciter=10000)

        self.ns = NestedSamplingSA(self.system, self.nreplicas, self.mc_runner,
                                   minima=self.minima, minprob=0.1,
                                   stepsize=0.1, nproc=nproc, verbose=True,
                                   iprint=100)
        
        self.Emax0 = self.ns.replicas[-1].energy
        
        max_iter = 10000
        self.Etol = .01
        for i in xrange(max_iter):
            self.ns.one_iteration()
            deltaE = self.ns.replicas[-1].energy - self.ns.replicas[0].energy
            if  deltaE < self.Etol:
                break
        self.niter = i + 1
        self.Emax = self.ns.replicas[-1].energy
        self.Emin = self.ns.replicas[0].energy