Esempio n. 1
0
 def get_compare_exact(self, **kwargs):
     if self.pot.periodic:
         permlist = self.get_permlist()
         boxlengths = np.ones(3) * self.pot.boxl
         measure = MeasurePeriodic(boxlengths, permlist)
         return ExactMatchPeriodic(measure, accuracy=.1)
     else:
         return BLJCluster.get_compare_exact(self, **kwargs)
Esempio n. 2
0
    def __init__(self, natoms, boxvec, rho=2., r0=1., A=1., rcut=None):
        super(MorseBulk, self).__init__(natoms, rho=rho, r0=r0, A=A, rcut=rcut)

        self.boxvec = boxvec
        self.periodic = True

        self.params.double_ended_connect.local_connect_params.NEBparams.interpolator = InterpolateLinearMeasure(
            MeasurePeriodic(self.boxvec))
Esempio n. 3
0
    def __init__(self, natoms, boxvec, ntypeA="default", **potential_kwargs):
        super(BLJBulk, self).__init__(natoms,
                                      ntypeA=ntypeA,
                                      **potential_kwargs)

        self.boxvec = np.array(boxvec)
        self.periodic = True
        self.potential_kwargs["boxvec"] = self.boxvec

        self.params.double_ended_connect.local_connect_params.NEBparams.interpolator = InterpolateLinearMeasure(
            MeasurePeriodic(self.boxvec))
Esempio n. 4
0
    def setUp(self):
        self.natoms = 100
        rho = .5
        boxl = (float(self.natoms) / rho)**(1. / 3)
        boxlengths = np.ones(3) * boxl + np.random.rand(3) * .1

        self.permlist = self.get_permlist()
        self.measure = MeasurePeriodic(boxlengths, self.permlist)

        self.x1 = self.get_random_configuration()
        self.x2diff = self.get_random_configuration()
        self.x2same = self.randomly_permute(self.x1.copy())

        self.exact_match = ExactMatchPeriodic(self.measure, accuracy=1e-5)
Esempio n. 5
0
    def __init__(self, radii, boxvec, power=2):
        super(SoftSphereSystem, self).__init__(self)

        self.radii = np.array(radii)
        self.natoms = self.radii.size
        self.boxvec = np.array(boxvec)
        self.periodic = True
        self.potential_kwargs = dict()
        self.power = power
        self.eps = 1.

        self.set_params(self.params)

        self.params.double_ended_connect.local_connect_params.NEBparams.interpolator = InterpolateLinearMeasure(
            MeasurePeriodic(self.boxvec))
Esempio n. 6
0
    def setUp(self):
        self.nrigid = 5
        self.boxl = np.array([5, 5, 5])
        self.system = MorseBulk(self.nrigid, self.boxl)

        #         self.mindist = self.system.get_mindist()
        self.transform = TransformPeriodic()
        self.measure = MeasurePeriodic(self.boxl, permlist=[])
        self.exact_match = ExactMatchPeriodic(self.measure, accuracy=1e-5)
        self.mindist = MinDistBulk(self.boxl, self.measure)

        self.x1 = self.system.get_random_configuration()
        self.x2diff = self.system.get_random_configuration()
        self.x2same = self.x1.copy()
        self.x2trans = self.x1.copy()
        trans = np.random.random(3) * self.boxl
        self.transform.translate(self.x2trans, trans)
Esempio n. 7
0
    def test1(self):
        natoms = 10
        L = 4.
        boxvec = np.ones(3) * L
        xi = np.random.uniform(0, L, 3 * natoms)
        xf = np.random.uniform(0, L, 3 * natoms)

        measure = MeasurePeriodic(boxvec)

        dist = measure.get_dist(xi, xf)

        int = InterpolateLinearMeasure(measure)

        for f in [0, .1, .2, .3, .8, .9, 1]:
            x3 = int(xi, xf, f)
            d2 = measure.get_dist(xi, x3)
            self.assertAlmostEqual(f * dist, d2)
Esempio n. 8
0
 def get_compare_exact(self):
     accuracy = self.params.database.accuracy
     measure = MeasurePeriodic(self.boxvec, self.get_permlist())
     compare = ExactMatchPeriodic(measure, accuracy=accuracy)
     return compare
Esempio n. 9
0
 def get_compare_exact(self):
     accuracy = 1e-2
     measure = MeasurePeriodic(self.boxvec, self.get_permlist())
     compare = ExactMatchPeriodic(measure, accuracy=accuracy)
     return compare
Esempio n. 10
0
 def get_mindist(self):
     measure = MeasurePeriodic(self.boxvec, permlist=self.get_permlist())
     return MinDistBulk(self.boxvec, measure)