def __init__(self, steps, obj=None, start_step=0): self.start_step = start_step self.current_step = start_step self.stop_step = steps if isinstance(obj, Box): # # when box is loaded from file self.box = obj Lattice.box_size = obj.box_size settings.BOX_SIZE = obj.box_size elif isinstance(obj, Chain): self.box = Box(settings.BOX_SIZE, localT=settings.LOCAL_T) self.box.add_chain(obj) elif isinstance(obj, list): self.box = Box(settings.BOX_SIZE, localT=settings.LOCAL_T) for c in obj: self.box.add_chain(c) # # load some specific settings Lattice.NEIGHBOURS_POSITION = tools.load_file(settings.ROOT_DIR + "neighbours.dump", {}) if self.box.localT in settings.EXP_TABLES: settings.EXP_TABLE = settings.EXP_TABLES[self.box.localT] else: settings.EXP_TABLE = tools.load_file(settings.ROOT_DIR + \ settings.FILES_TEMPLATE['exp'] % self.box.localT, {}) settings.EXP_TABLES[self.box.localT] = settings.EXP_TABLE
import sys from lib import tools import cPickle, gzip import os box_dir = sys.argv[1] out_file = sys.argv[2] out_file = open(out_file, 'w+') for box_file in os.listdir(box_dir): box = tools.load_file(box_dir + "/" +box_file) for c in box.chain_list: out_file.writelines(["%s\n" % ";".join(map(str, c.calculate_rdf()))]) out_file.close()
from lib.tools import load_file from lib.Box import Box import sys print "Basic information in Box file" print "<box_file_name>" f_box = sys.argv[1] box = load_file(f_box) print "Box size", box.box_size print "Number of chains", len(box.chain_list) print "Local T", box.localT
from lib import Box, Chain, tools from lib import tools import os import sys try: box_file = sys.argv[2] xyz_file = sys.argv[3] cmd = sys.argv[1] except: print "Convert box to xyz and vs." print "box2xyz|xyz2box box_file xyz_file" print "For xyz2box also: (box_size) and <localT>" if cmd is "xyz2box": box_size = eval(sys.argv[4]) localT = float(sys.argv[5]) xyz = open(os.path.realpath(xyz_file)).readlines()[2:] elif cmd is "box2xyz": b = tools.load_file(box_file) b.jmol_snapshot(xyz_file)
mc = MC(steps = settings.MC_STEPS, obj = chain) if not temp: mc.box._localT = temp settings.MC_MODULE = mc mc.run() elif cmd == 'start': ## start from some configuration print "start start_step temp box_file" start_step = int(sys.argv[4]) temp = float(sys.argv[5]) if "jmol" in sys.argv[6]: box = Box(settings.BOX_SIZE, localT = temp) box.add_chain(chain) box.load_jmol_conf(sys.argv[6]) else: box = tools.load_file(sys.argv[6]) box.localT = temp mc = MC(steps = settings.MC_STEPS, obj = box) settings.MC_MODULE = mc mc.run() elif cmd == "start-box-file": box_file = sys.argv[3] try: start_step = int(sys.argv[4]) print "Start step: ", start_step except: start_step = 0 box = tools.load_file(box_file) box.localT = settings.LOCAL_T mc = MC(steps = settings.MC_STEPS+start_step, obj = box, start_step = start_step)