예제 #1
0
파일: water.py 프로젝트: govarguz/MESSPP
        pid + 1,
        Real3D(x[pid], y[pid], z[pid]),
        Real3D(vx[pid], vy[pid], vz[pid]), types[pid], masses[pid],
        charges[pid]
    ]
    allParticles.append(part)
system.storage.addParticles(allParticles, *props)
system.storage.decompose()

# set up LJ interaction according to the parameters read from the .top file
ljinteraction = gromacs.setLennardJonesInteractions(system, defaults,
                                                    atomtypeparameters,
                                                    verletlist, rc)

# set up angle interactions according to the parameters read from the .top file
angleinteractions = gromacs.setAngleInteractions(system, angletypes,
                                                 angletypeparams)

# set up coulomb interactions according to the parameters read from the .top file
# !! Warning: this only works for reaction-field now!
qq_interactions = gromacs.setCoulombInteractions(system,
                                                 verletlist,
                                                 rc,
                                                 types,
                                                 epsilon1=1,
                                                 epsilon2=80,
                                                 kappa=0)

# set up bonded interactions according to the parameters read from the .top file
bondedinteractions = gromacs.setBondedInteractions(system, bondtypes,
                                                   bondtypeparams)
예제 #2
0
#system.storage.decompose()

# set up LJ interaction according to the parameters read from the .top file
#ljinteraction=gromacs.setLennardJonesInteractions(system, defaults, atomtypeparameters, verletlist,rc)

########## tabulated nb interactions ############
tabfilesnb = ["table_O_O.xvg", "table_H_O.xvg", "table_H_H.xvg"]
potentials = genTabPotentials(tabfilesnb)
tabulatedinteraction = espressopp.interaction.VerletListTabulated(verletlist)
tabulatedinteraction.setPotential(0, 0, potentials["O_O"])
tabulatedinteraction.setPotential(0, 1, potentials["H_O"])
tabulatedinteraction.setPotential(1, 1, potentials["H_H"])
system.addInteraction(tabulatedinteraction)

# set up angle interactions according to the parameters read from the .top file
angleinteractions=gromacs.setAngleInteractions(system, angletypes, angletypeparams)

# set up bonded interactions according to the parameters read from the .top file
bondedinteractions=gromacs.setBondedInteractions(system, bondtypes, bondtypeparams)

# exlusions, i.e. pairs of atoms not considered for the non-bonded part. Those are defined either by bonds which automatically generate an exclusion. Or by the nregxcl variable
verletlist.exclude(exclusions)

# langevin thermostat
langevin = espressopp.integrator.LangevinThermostat(system)
langevin.gamma = 10
langevin.temperature = 2.4942 # kT in gromacs units
integrator = espressopp.integrator.VelocityVerlet(system)
integrator.addExtension(langevin)
integrator.dt = timestep