def setup_aatopology(self): GMIN.initialize() pot = GMINPotential(GMIN) coords = pot.getCoords() nrigid = coords.size / 6 print "I have %d water molecules in the system" % nrigid print "The initial energy is", pot.getEnergy(coords) water = tip4p.water() system = RBTopology() system.add_sites([deepcopy(water) for i in xrange(nrigid)]) self.potential = pot self.nrigid = nrigid self.render_scale = 0.3 self.atom_types = system.get_atomtypes() self.draw_bonds = [] for i in xrange(nrigid): self.draw_bonds.append((3 * i, 3 * i + 1)) self.draw_bonds.append((3 * i, 3 * i + 2)) return system
def __init__(self, *args, **kwargs): AppBasinHopping.__init__(self, *args, **kwargs) self.quenchRoutine = mylbfgs self.potential = GMINPotential(GMIN) self.quenchParameters["tol"] = 1e-4 self.quenchParameters["M"] = 80 self.quenchParameters["maxErise"] = 0.1 self.quenchRoutine = mylbfgs
def setup_aatopology(self): self.write_coords_data() GMIN.initialize() self.pot = GMINPotential(GMIN) coords = self.pot.getCoords() self.nrigid = coords.size / 6 assert (self.nrigid == self.nmol) #self.nrigid = self.nmol otp = self.make_otp() topology = RBTopology() topology.add_sites([deepcopy(otp) for i in xrange(self.nrigid)]) self.render_scale = 0.2 self.atom_types = topology.get_atomtypes() self.draw_bonds = [] for i in xrange(self.nrigid): self.draw_bonds.append((3 * i, 3 * i + 1)) self.draw_bonds.append((3 * i, 3 * i + 2)) self.params.double_ended_connect.local_connect_params.tsSearchParams.iprint = 10 return topology
def check_converged(E, coords): if (E < (parameters.TARGET + parameters.EDIFF)): fl = open("stat.dat", "a") print "#found minimum" t1 = time.clock() timespent = t1 - t0 fl.write("#quenches, functioncalls, time\n") fl.write("%d %d %f\n" % (opt.stepnum, potential.ncalls, timespent)) fl.close() exit() # initialize GMIN GMIN.initialize() # create a potential which calls GMIN potential = GMINPotential(GMIN) # get the initial coorinates coords = potential.getCoords() coords = np.random.random(coords.shape) # create takestep routine # we combine a normal step taking group = takestep.BlockMoves() step1 = takestep.AdaptiveStepsize(OXDNATakestep(displace=parameters.displace, rotate=0.), frequency=50) step2 = takestep.AdaptiveStepsize(OXDNATakestep(displace=0., rotate=parameters.rotate), frequency=50) group.addBlock(100, step1)
def get_potential(self): return GMINPotential(GMIN)