示例#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
示例#2
0
class TestSENS_LJ(_test_ns_lj.TestNS_LJ):
    def setUp(self):
        self.setUp1()

    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
    
    def test2(self):
        self.assertGreater(self.ns.count_sampled_minima, 0)
示例#3
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
示例#4
0
    def setUp1(self, nproc=1):
        self.set_up_system()
        self.nreplicas = 10
        self.stepsize = 0.01
        self.nproc = nproc
        
        try:
            self.database = self.system.create_database("lj13.db", createdb=False)
        except IOError:
            self.database = build_database(self.system, 20, dbfname="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)

        replicas = create_replicas(self.system, self.nreplicas)
        self.ns = NestedSamplingSA(replicas, self.mc_runner, self.minima, self.system.k,
                                   config_tests=self.system.get_config_tests(),
                                   minprob=0.9, energy_offset=100.,
                                   stepsize=0.1, nproc=nproc, verbose=False,
                                   center_minima=True)
        
        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
示例#5
0
class TestSENS_LJ_Long(_test_ns_lj.TestNS_LJ):
    def setUp(self):
        self.setUp1()

    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
    

    def test1(self):
        super(TestSENS_LJ_Long, self).test1()
        self.assertTrue(self.Emin < self.gmin + 1.,
                        "Nested sampling did not get to the bottom of the landscape: %g != %g" % (self.gmin, self.Emin))
        self.assertGreater(self.ns.count_sampled_minima, 0)