Пример #1
0
    def __init__(self):
        BaseSystem.__init__(self)
        neb_params = BaseParameters()
        self.params["neb"]=neb_params
        
        neb_params["nimages"] = 15
        neb_params["k"] = 10.
        neb_params["aadist"] = True
        
        
        defaults.NEBquenchParams["nsteps"] = 200
        defaults.NEBquenchParams["iprint"] = 1
        defaults.NEBquenchParams["maxstep"] = 0.1
        #defaults.NEBquenchParams["maxErise"] = 0.1
        defaults.NEBquenchParams["tol"] = 1e-6
        defaults.NEBquenchRoutine = fire     
        
        GMIN.initialize()
        pot = GMINPotential(GMIN)
        coords = pot.getCoords()

        nrigid = coords.size / 6
        print "I have %d water molecules in the system"%nrigid

        water = tip4p.water()
        system = RBSystem()
        system.add_sites([deepcopy(water) for i in xrange(nrigid)])
        
        self.aasystem = system
        self.potential = pot
        self.nrigid = nrigid
Пример #2
0
    def __init__(self):
        RBSystem.__init__(self)

        NEBparams = self.params.double_ended_connect.local_connect_params.NEBparams
        self.params.double_ended_connect.local_connect_params.NEBparams.distance = self.aasystem.neb_distance

        NEBparams.max_images = 200
        NEBparams.image_density = 10.
        NEBparams.iter_density = 6
        NEBparams.quenchRoutine = fire
        del NEBparams.NEBquenchParams["maxErise"]
        NEBparams.NEBquenchParams["maxstep"] = 0.01
        fts = self.params.double_ended_connect.local_connect_params.tsSearchParams
        fts["iprint"] = 1
        fts["nsteps"] = 3000
        fts["nsteps_tangent1"] = 3
        fts["nsteps_tangent2"] = 30
        fts["tol"] = 1e-3
        fts["lowestEigenvectorQuenchParams"]["nsteps"] = 200
        fts["lowestEigenvectorQuenchParams"]["tol"] = 0.002
        fts["lowestEigenvectorQuenchParams"]["iprint"] = -1
        self.params.structural_quench_params["tol"] = 1e-7
        self.params.structural_quench_params["nsteps"] = 1e7
Пример #3
0
    def __init__(self):
        RBSystem.__init__(self)
        
        NEBparams = self.params.double_ended_connect.local_connect_params.NEBparams
        self.params.double_ended_connect.local_connect_params.NEBparams.distance=self.aasystem.neb_distance

        NEBparams.max_images=200
        NEBparams.image_density=10.
        NEBparams.iter_density=6
        NEBparams.quenchRoutine = fire
        del NEBparams.NEBquenchParams["maxErise"]
        NEBparams.NEBquenchParams["maxstep"]=0.01
        fts = self.params.double_ended_connect.local_connect_params.tsSearchParams
        fts["iprint"] = 1
        fts["nsteps"] = 3000
        fts["nsteps_tangent1"] = 3
        fts["nsteps_tangent2"] = 30
        fts["tol"]=1e-3        
        fts["lowestEigenvectorQuenchParams"]["nsteps"]=200
        fts["lowestEigenvectorQuenchParams"]["tol"]=0.002
        fts["lowestEigenvectorQuenchParams"]["iprint"]=-1
        self.params.structural_quench_params["tol"] = 1e-7
        self.params.structural_quench_params["nsteps"] = 1e7
Пример #4
0
 def __init__(self):
     RBSystem.__init__(self)
Пример #5
0
from tip4p import dump_path

# initialize GMIN and potential
GMIN.initialize()
pot = GMINPotential(GMIN)
coords = pot.getCoords()

nrigid = coords.size / 6
print "I have %d water molecules in the system"%nrigid

water = tip4p.water()
#water.S = np.identity(3, dtype="float64")
#water.S*=10.

# define the whole water system
system = RBSystem()
system.add_sites([deepcopy(water) for i in xrange(nrigid)])

# this is an easy access wrapper for coordinates array
ca = system.coords_adapter(coords)

#buildingblocks.rotate(3.0, ca.rotRigid[-1:])
#ret = mylbfgs(coords, pot.getEnergyGradient, iprint=0)
#coords2 = ret[0]
#np.savetxt("coords1_2.txt", coords1)
#np.savetxt("coords2_2.txt", coords2)

coords1 = np.loadtxt("coords1.txt")
coords2 = np.loadtxt("coords2.txt")
print pot.getEnergy(coords1), pot.getEnergy(coords2)
Пример #6
0
 def __init__(self):
     RBSystem.__init__(self)
Пример #7
0
from tip4p import dump_path

# initialize GMIN and potential
GMIN.initialize()
pot = GMINPotential(GMIN)
coords = pot.getCoords()

nrigid = coords.size / 6
print "I have %d water molecules in the system" % nrigid

water = tip4p.water()
#water.S = np.identity(3, dtype="float64")
#water.S*=10.

# define the whole water system
system = RBSystem()
system.add_sites([deepcopy(water) for i in xrange(nrigid)])

# this is an easy access wrapper for coordinates array
ca = system.coords_adapter(coords)

#buildingblocks.rotate(3.0, ca.rotRigid[-1:])
#ret = mylbfgs(coords, pot.getEnergyGradient, iprint=0)
#coords2 = ret[0]
#np.savetxt("coords1_2.txt", coords1)
#np.savetxt("coords2_2.txt", coords2)

coords1 = np.loadtxt("coords1.txt")
coords2 = np.loadtxt("coords2.txt")
print pot.getEnergy(coords1), pot.getEnergy(coords2)