コード例 #1
0
ファイル: run_si.py プロジェクト: raybrad/mainline
  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'])
コード例 #2
0
ファイル: run_si.py プロジェクト: jrrk/mainline
#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)
コード例 #3
0
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(
コード例 #4
0
ファイル: run_tests.py プロジェクト: QWalk/QWTest
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
コード例 #5
0
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