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
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)
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 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
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)