def __init__(self, jobid, struct, crystal_opts, structtype='cif'): # May have it automatically detect file type? Probably wouldn't be too hard. inpcopy = deepcopy(crystal_opts) self.jobid = jobid #TODO primitive option. cwriter = CrystalWriter() if structtype == 'cif': cwriter.set_struct_fromcif(struct) elif structtype == 'xyz': cwriter.set_struct_fromxyz(struct) else: raise ValueError("structtype not recognized.") cwriter.set_options(crystal_opts) # For this simple case, only one Manager is needed. self.managers = [ mgmt.CrystalManager(cwriter, CrystalReader(), LocalCrystalRunner(), PropertiesReader(), LocalPropertiesRunner()) ] self.picklefn = "%s.pickle" % jobid
def __init__(self, jobid, struct, crystal_opts={}, variance_opts={}, energy_opts={}, dmc_opts={}, structtype='cif', crystalrunner=CrystalRunnerPBS(), qwalkrunner=QWalkRunnerPBS(np=6)): # May have it automatically detect file type? Probably wouldn't be too hard. inpcopy = deepcopy(crystal_opts) self.jobid = jobid cwriter = CrystalWriter() if structtype == 'cif': cwriter.set_struct_fromcif(struct) elif structtype == 'xyz': cwriter.set_struct_fromxyz(struct) else: raise ValueError("structtype not recognized.") cwriter.set_options(crystal_opts) self.managers = [ mgmt.CrystalManager(cwriter, crystalrunner, CrystalReader(), LocalPropertiesRunner(), PropertiesReader()), mgmt.QWalkfromCrystalManager(LocalCrystal2QMCRunner(), Crystal2QMCReader()), mgmt.QWalkRunManager(VarianceWriter(variance_opts), copy.deepcopy(qwalkrunner), VarianceReader()), mgmt.QWalkRunManager(LinearWriter(energy_opts), copy.deepcopy(qwalkrunner), LinearReader()), mgmt.QWalkRunManager(DMCWriter(dmc_opts), copy.deepcopy(qwalkrunner), DMCReader()) ] self.picklefn = "%s.pickle" % jobid