Пример #1
0
 def __init__(self, v0=1.0, eps=0.1, rcut=3.0):
     self.name = "polydisperse-106"
     c0 = (-21 + 10 * rcut**4) * v0 / rcut**10
     c1 = -((5 * (-7 + 3 * rcut**4) * v0) / rcut**12)
     c2 = (3 * (-5 + 2 * rcut**4) * v0) / rcut**14
     self.cpppairpotential = _potential.PairPotentialPoly106(
         rcut, [v0, eps, c0, c1, c2])
     self.dict_params = {'v0': 0, 'eps': 1, 'c0': 2, 'c1': 3, 'c2': 4}
     pyglasstools.set_potential(self)
Пример #2
0
 def __init__(self, v0=1.0, eps=0.2, rcut=1.25):
     self.name = "polydisperse-12"
     c0 = -28.0 * v0 / rcut**12
     c1 = 48.0 * v0 / rcut**14
     c2 = -21.0 * v0 / rcut**16
     self.cpppairpotential = _potential.PairPotentialPoly12(
         rcut, [v0, eps, c0, c1, c2])
     self.dict_params = {'v0': 0, 'eps': 1, 'c0': 2, 'c1': 3, 'c2': 4}
     pyglasstools.set_potential(self)
Пример #3
0
 def __init__(self, v0=1.0, eps=0.2, rcut=2.5):
     self.name = "polydisperse-lj"
     c0 = -28.0 * v0 / rcut**12 + 10.0 / rcut**6
     c1 = 48.0 * v0 / rcut**14 - 15.0 / rcut**8
     c2 = -21.0 * v0 / rcut**16 + 6.0 / rcut**10
     self.cpppairpotential = _potential.PairPotentialPolyLJ(
         rcut, [v0, eps, c0, c1, c2])
     self.dict_params = {'v0': 0, 'eps': 1, 'c0': 2, 'c1': 3, 'c2': 4}
     pyglasstools.set_potential(self)
Пример #4
0
 def __init__(self, v0=1.0, eps=0.0, rcut=1.25):
     self.name = "polydisperse-18"
     c0 = -55.0 * v0 / rcut**18
     c1 = 99.0 * v0 / rcut**20
     c2 = -45.0 * v0 / rcut**22
     self.cpppairpotential = _potential.PairPotentialPoly18(
         rcut, [v0, eps, c0, c1, c2])
     self.dict_params = {'v0': 0, 'eps': 1, 'c0': 2, 'c1': 3, 'c2': 4}
     pyglasstools.set_potential(self)
Пример #5
0
 def __init__(self, v0=1.0, eps=0.0416667, rcut=1.48):
     self.name = "polydisperse-10"
     c0 = -(56.0) * v0 / (rcut**10)
     c1 = (140.0) * v0 / (rcut**12)
     c2 = -(120.0) * v0 / (rcut**14)
     c3 = (35.0) * v0 / (rcut**16)
     self.cpppairpotential = _potential.PairPotentialPoly10(
         rcut, [v0, eps, c0, c1, c2, c3])
     self.dict_params = {
         'v0': 0,
         'eps': 1,
         'c0': 2,
         'c1': 3,
         'c2': 4,
         'c3': 5
     }
     pyglasstools.set_potential(self)
Пример #6
0
    def __init__(self, eps, vareps, rcut, name="lennard-jones", mode=None):

        self.name = "{}+{}".format(name, mode)
        # create the c++ mirror class
        if (mode == "truncated"):
            self.cpppairpotential = _potential.PairPotentialLJ(
                rcut, [eps, vareps])
        elif (mode == "force-shifted"):
            self.cpppairpotential = _potential.PairPotentialForceShiftedLJ(
                rcut, [eps, vareps])
        elif (mode == None):
            raise NameError(
                'Please select a Lennard-Jones potential available modes: truncated and force-shifted are available'
            )
        else:
            raise NameError(
                'Lennard jones potential mode not recognized. Only: truncated and force-shifted are available'
            )
        self.dict_params = {'eps': 0, 'vareps': 0}
        pyglasstools.set_potential(self)
Пример #7
0
 def __init__(self, v0=10.0, eps=0.0, rcut=4.0, kappa=1.0):
     self.name = "polydisperse-yukawa"
     c0 = -((np.exp(-kappa * rcut) *
             (15 + 7 * kappa * rcut + kappa**2 * rcut**2) * v0) /
            (8 * rcut))
     c1 = (np.exp(-kappa * rcut) *
           (5 + 5 * kappa * rcut + kappa**2 * rcut**2) * v0) / (4 * rcut**3)
     c2 = -((np.exp(-kappa * rcut) *
             (3 + 3 * kappa * rcut + kappa**2 * rcut**2) * v0) /
            (8 * rcut**5))
     self.cpppairpotential = _potential.PairPotentialPolyYukawa(
         rcut, [v0, kappa, eps, c0, c1, c2])
     self.dict_params = {
         'v0': 0,
         'kappa': 1,
         'eps': 2,
         'c0': 3,
         'c1': 4,
         'c2': 5
     }
     pyglasstools.set_potential(self)