Exemple #1
0
mc = RigidBodyMC( UniformSampler(all_mols) )
mc.setMaximumTranslation( 0.1 * angstrom )

volmc = VolumeMove( MapAsMolecules(all_mols) )
volmc.setVolumeChangingFunction( UniformVolumeChange(50 * angstrom3) )

moves = WeightedMoves()

moves.add(mc, 125)
moves.add(volmc, 1)

for i in range(1,1001):
    print("Running block %d" % i)
    timer.start()
    moves = system.run(moves, 100000)
    
    print("Took %d ms" % timer.elapsed())
    print("Energy = %f | Volume = %f" % (system.forceFields().energy(),    
                                         system.info().space().volume()))
                                         
    print("MC Accept %d Reject %d" % (moves.moves()[0].clone().nAccepted(),
                                      moves.moves()[0].clone().nRejected()))
    
    print("VMC Accept %d Reject %d" % (moves.moves()[1].clone().nAccepted(),
                                       moves.moves()[1].clone().nRejected()))
    
    
    
    PDB().write(system.forceFields().molecules(), "test%0004d.pdb" % i)
Exemple #2
0
# set the space in which the simulation will occur
system.setSpace(space)

# create a rigid body MC move that moves random solvent
# molecules, with the solvent molecules picked uniformly
mc = RigidBodyMC(PrefSampler(tip4p, 200.0, all_mols))

# Create a multiple-time-step MC move that performs 500
# rigid body moves of the solvent using e_fast, then accepts
# or rejects the whole block of moves using e_total
mtsmc = MTSMC(mc, e_fast.function(), 500)

mtsmc.setEnergyComponent(e_total.function())

PDB().write(system.info().groups().molecules(), "test000.pdb")

for i in range(1, 21):
    nmoves = 1000

    print("Block %d: Running %d moves" % (i, nmoves))

    timer.start()

    moves = system.run(mtsmc, nmoves)

    ms = timer.elapsed()

    print("%d moves took %d ms" % (nmoves, ms))

    PDB().write(system.info().groups().molecules(), "test%3.3d.pdb" % i)
Exemple #3
0
system = System(all_mols, ffields)
system.setSpace(space)

mc = RigidBodyMC(UniformSampler(all_mols))
mc.setMaximumTranslation(0.1 * angstrom)

volmc = VolumeMove(MapAsMolecules(all_mols))
volmc.setVolumeChangingFunction(UniformVolumeChange(50 * angstrom3))

moves = WeightedMoves()

moves.add(mc, 125)
moves.add(volmc, 1)

for i in range(1, 1001):
    print("Running block %d" % i)
    timer.start()
    moves = system.run(moves, 100000)

    print("Took %d ms" % timer.elapsed())
    print("Energy = %f | Volume = %f" %
          (system.forceFields().energy(), system.info().space().volume()))

    print("MC Accept %d Reject %d" % (moves.moves()[0].clone().nAccepted(),
                                      moves.moves()[0].clone().nRejected()))

    print("VMC Accept %d Reject %d" % (moves.moves()[1].clone().nAccepted(),
                                       moves.moves()[1].clone().nRejected()))

    PDB().write(system.forceFields().molecules(), "test%0004d.pdb" % i)
Exemple #4
0
# set the space in which the simulation will occur
system.setSpace(space)

# create a rigid body MC move that moves random solvent
# molecules, with the solvent molecules picked uniformly
mc = RigidBodyMC(PrefSampler(tip4p, 200.0, all_mols))

# Create a multiple-time-step MC move that performs 500
# rigid body moves of the solvent using e_fast, then accepts
# or rejects the whole block of moves using e_total
mtsmc = MTSMC(mc, e_fast.function(), 500)

mtsmc.setEnergyComponent(e_total.function())

PDB().write(system.info().groups().molecules(), "test000.pdb")

for i in range(1, 21):
    nmoves = 1000

    print("Block %d: Running %d moves" % (i, nmoves))

    timer.start()

    moves = system.run(mtsmc, nmoves)

    ms = timer.elapsed()

    print("%d moves took %d ms" % (nmoves, ms))

    PDB().write(system.info().groups().molecules(), "test%3.3d.pdb" % i)