def setup_aatopology(self): GMIN.initialize() pot = GMINPotential(GMIN) coords = pot.getCoords() nrigid = old_div(coords.size, 6) print("I have %d water molecules in the system"%nrigid) print("The initial energy is", pot.getEnergy(coords)) water = create_base() system = RBTopology() system.add_sites([deepcopy(water) for i in range(nrigid)]) self.potential = pot self.nrigid = nrigid self.render_scale = 0.15 self.atom_types = system.get_atomtypes() self.draw_bonds = [] for i in range(nrigid-1): self.draw_bonds.append((2*i, 2*i+1)) self.draw_bonds.append((2*i, 2*i+2)) return system
def setup_aatopology(self): GMIN.initialize() pot = GMINPotential(GMIN) coords = pot.getCoords() nrigid = coords.size / 6 print "I have %d PAP molecules in the system" % nrigid print "The initial energy is", pot.getEnergy(coords) water = create_pap() system = RBTopology() system.add_sites([deepcopy(water) for i in xrange(nrigid)]) self.potential = pot self.nrigid = nrigid self.render_scale = 0.1 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 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)