skin = 0.03 timestep = 0.0005 # parameters to convert GROMACS tabulated potential file sigma = 1.0 epsilon = 1.0 c6 = 1.0 c12 = 1.0 # GROMACS setup files grofile = "conf.gro" topfile = "topol.top" # this calls the gromacs parser for processing the top file (and included files) and the conf file # The variables at the beginning defaults, types, etc... can be found by calling # gromacs.read(grofile,topfile) without return values. It then prints out the variables to be unpacked defaults, types, atomtypes, masses, charges, atomtypeparameters, bondtypes, bondtypeparams, angletypes, angletypeparams, exclusions, x, y, z, vx, vy, vz, resname, resid, Lx, Ly, Lz = gromacs.read( grofile, topfile) ###################################################################### ## IT SHOULD BE UNNECESSARY TO MAKE MODIFICATIONS BELOW THIS LINE ## ###################################################################### #types, bonds, angles, dihedrals, x, y, z, vx, vy, vz, Lx, Ly, Lz = gromacs.read(grofile,topfile) #defaults, types, masses, charges, atomtypeparameters, bondtypes, bondtypeparams, angletypes, angletypeparams, exclusions, x, y, z, vx, vy, vz, Lx, Ly, Lz = gromacs.read(grofile,topfile) num_particles = len(x) density = num_particles / (Lx * Ly * Lz) size = (Lx, Ly, Lz) print size sys.stdout.write('Setting up simulation ...\n') system = espressopp.System() system.rng = espressopp.esutil.RNG()
print "# intCutoff = ", intCutoff print "# skin = ", skin print "# dt = ", dt print "# nSteps = ", nSteps print "# output every ",nStepsPerOutput," steps" ######################################################################## # 2. read in coordinates and topology ######################################################################## ## get info on (complete) atomistic system ## print '# Reading gromacs top and gro files...' # call gromacs parser for processing the top file (and included files) and the gro file defaults, atTypes, atomtypesDict, atMasses, atCharges, atomtypeparameters, atBondtypes, bondtypeparams, atAngletypes, angletypeparams, atDihedraltypes, dihedraltypeparams, atImpropertypes, impropertypeparams, atExclusions, atOnefourpairslist, atX, atY, atZ, atVX, atVY, atVZ, atResnames, atResid, Lx, Ly, Lz = gromacs.read(inputcrdfile,aatopfile) #initialize a map between atomtypes as integers and as strings reverseAtomtypesDict = dict([(v, k) for k, v in atomtypesDict.iteritems()]) # delete from atomtypeparams any types not in system, so as not to conflict with any new types created later for k in list(atomtypeparameters): if k not in atTypes: print "# Deleting unused type ",k,"/",reverseAtomtypesDict[k]," from atomtypeparameters, atomtypesDict and reverseAtomtypesDict" del atomtypeparameters[k] atomtypekey = reverseAtomtypesDict[k] del reverseAtomtypesDict[k] del atomtypesDict[atomtypekey] # system box size box = (Lx, Ly, Lz)
timestep = 0.0002 # parameters to convert GROMACS tabulated potential file sigma = 1.0 epsilon = 1.0 c6 = 1.0 c12 = 1.0 # GROMACS setup files grofile = "conf.gro" topfile = "topol.top" # this calls the gromacs parser for processing the top file (and included files) and the conf file # The variables at the beginning defaults, types, etc... can be found by calling # gromacs.read(grofile,topfile) without return values. It then prints out the variables to be unpacked defaults, types, atomtypes, masses, charges, atomtypeparameters, bondtypes, bondtypeparams, angletypes, angletypeparams, exclusions, x, y, z, resname, resid, Lx, Ly, Lz= gromacs.read(grofile,topfile) ###################################################################### ## IT SHOULD BE UNNECESSARY TO MAKE MODIFICATIONS BELOW THIS LINE ## ###################################################################### #types, bonds, angles, dihedrals, x, y, z, vx, vy, vz, Lx, Ly, Lz = gromacs.read(grofile,topfile) num_particles = len(x) density = num_particles / (Lx * Ly * Lz) size = (Lx, Ly, Lz) sys.stdout.write('Setting up simulation ...\n') system = espressopp.System() system.rng = espressopp.esutil.RNG() system.bc = espressopp.bc.OrthorhombicBC(system.rng, size) system.skin = skin
interaction_cutoff_at = 1.0 # cutoff atomistic potential interaction_cutoff_verletlist_at = 1.25 # cutoff atomistic potential in verlet list cutoff (larger than normal atomistic interaction cutoff, since verletlist is built using CG particles) skin = 0.05 # verlet list skin ex_size = 2.2 # radius of atomistic region hy_size = 1.0 # width of hybrid region correction_on_slow_timescale = False # apply corrections on slow timescale? ###################### # 2. read in coordinates # ###################### print('Reading in coordinates... (not equilibrated!)') # call the gromacs parser for processing the top file (and included files) and the conf file (note that this configuration is most likely not equilibrated) defaults, types, atomtypes, masses, charges, atomtypeparameters, bondtypes, bondtypeparams, angletypes, angletypeparams, exclusions, x, y, z, vx, vy, vz, resname, resid, Lx, Ly, Lz = gromacs.read( "conf.gro", "topol.top") # particles, geometry, density num_particles_AT = len(x) num_particles_CG = len(x) // 3 density = num_particles_AT / (Lx * Ly * Lz) size = (Lx, Ly, Lz) ##################### # 3. set up the system # ##################### print('Setting up system...') # system, boundary conditions, skin, communicator, node & cell grids system = espressopp.System() system.bc = espressopp.bc.OrthorhombicBC(system.rng, size)