directory) sub_dmc = submission_tools.RemoteSubmitter( ssh_taub, ftp_taub, 'subqwalk_taub', directory) #now we define the job sequence element_list=[] element_list.append(cif2crystal.Cif2Crystal()) element_list.append(runcrystal.RunCrystal(sub_crystal)) element_list.append(runcrystal.RunProperties()) element_list.append(runqwalk.Crystal2QWalk()) element_list.append(runqwalk.QWalkVarianceOptimize(sub_qmc_var)) element_list.append(runqwalk.QWalkEnergyOptimize(sub_qmc_en)) element_list.append(runqwalk.QWalkRunDMC(sub_dmc)) job_list = job_control.execute(job_list,element_list) #json.dump(dp.trace_analysis( # [job['control']['id']+'/autogen.d12.o' for job in job_list], # ids = [job['control']['id'] for job in job_list]), # open('broyden.json','w')) #Print out a summary of the results print("DFT energy") for result in job_list: if 'total_energy' in result['dft'].keys(): print(result['dft']['basis'],result['dft']['total_energy'])
#element_list.append(runcrystal.RunProperties()) element_list.append(runqwalk.Crystal2QWalk()) element_list.append( runqwalk.QWalkVarianceOptimize(submitter=taub.LocalTaubQwalkSubmitter( nn=1, time="0:05:00", queue="secondary"))) element_list.append( runqwalk.QWalkRunDMC(submitter=taub.LocalTaubBundleQwalkSubmitter( nn=2, time="0:30:00", queue="secondary"))) qchecker = taub.LocalTaubSubmitter() # Specific defaults for this material. default_job = jc.default_job_record("si.cif") idbase = "si_ag_" # A demonstration of varying basis parameters. count = 1 results = [] for a in [0.2, 0.3, 0.4]: name = idbase + str(count) job_record = copy.deepcopy(default_job) job_record['dft']['basis'] = [a, 3, 3] job_record['control']['id'] = name results.append(jc.execute(job_record, element_list)) count += 1 # Save the data, either in JSON: json.dump(results, open("data.json", 'w')) # or in YAML (which is easier to read for some). yaml.dump(results, open("data.yaml", 'w'), default_flow_style=False)
default_job['dft']['broyden'] = [0.1, 60, 20] default_job['qmc']['variance_optimize']['reltol'] = 0.1 default_job['qmc']['variance_optimize']['abstol'] = 10 default_job['qmc']['dmc']['save_trace'] = False default_job['qmc']['dmc']['nblock'] = 5 default_job['qmc']['dmc']['target_error'] = 0.1 default_job['total_spin'] = 0 idbase = "test_si_" count = 1 # Simple run. name = idbase + "simple" job_record = copy.deepcopy(default_job) job_record['control']['id'] = name jc.execute(job_record, element_list) count += 1 # Restart DFT and change something. Also check redefinition of element_list element_list[1] = runcrystal.RunCrystal( submitter=taub.LocalTaubCrystalSubmitter( nn=1, time="0:20:00", queue="secondary")) if os.path.getsize("%s/fort.9" % (idbase + "simple")) > 0: name = idbase + "edit" job_record = copy.deepcopy(default_job) job_record['dft']['functional']['hybrid'] = 25 job_record['dft']['restart_from'] = "../%s/fort.9" % (idbase + "simple") job_record['control']['id'] = name jc.execute(job_record, element_list) count += 1 element_list[1] = runcrystal.RunCrystal(
default_job['dft']['broyden'] = [0.1,60,20] default_job['qmc']['variance_optimize']['reltol']=0.1 default_job['qmc']['variance_optimize']['abstol']=10 default_job['qmc']['dmc']['save_trace'] = False default_job['qmc']['dmc']['nblock']=5 default_job['qmc']['dmc']['target_error']=0.1 default_job['total_spin'] = 0 idbase = "test_si_" count=1 # Simple run. name = idbase+"simple" job_record = copy.deepcopy(default_job) job_record['control']['id']=name jc.execute(job_record,element_list) count+=1 # Restart DFT and change something. Also check redefinition of element_list element_list[1] = runcrystal.RunCrystal( submitter=taub.LocalTaubCrystalSubmitter( nn=1,time="0:20:00",queue="secondary" )) if os.path.getsize("%s/fort.9"%(idbase+"simple")) > 0: name = idbase+"edit" job_record = copy.deepcopy(default_job) job_record['dft']['functional']['hybrid'] = 25 job_record['dft']['restart_from'] = "../%s/fort.9"%(idbase+"simple") job_record['control']['id']=name jc.execute(job_record,element_list) count+=1
base = baseroot + "si_" element_list = [ Cif2Crystal(), RunCrystal(submitter=ver.LocalVeritasCrystalSubmitter(nn=1, np=8, time="20:00:00", queue="batch")), RunProperties(submitter=ver.LocalVeritasPropertiesSubmitter(nn=1, np=1, time="20:00:00", queue="batch")), Crystal2QWalk(), # QWalkVarianceOptimize( # submitter=ver.LocalVeritasQwalkSubmitter( # nn=1,np=8,time="20:00:00",queue="batch")), QWalkRunVMC(submitter=ver.LocalVeritasQwalkSubmitter(nn=1, np=8, time="20:00:00", queue="batch")), ] ref_job = deepcopy(default_job) ref_job["control"]["id"] = base + "ref" if checking_this: results.append(jc.execute(ref_job, element_list)) element_list[2] = NewRunProperties( submitter=ver.LocalVeritasPropertiesSubmitter(nn=1, np=1, time="20:00:00", queue="batch") ) element_list[3] = NewCrystal2QWalk() test_job = deepcopy(default_job) test_job["control"]["id"] = base + "test" test_job["dft"]["restart_from"] = "../" + base + "ref" + "/fort.79" if checking_this: results.append(jc.execute(test_job, element_list)) ############################################## # Supercell Si calculation. checking_this = False