示例#1
0
def output_analysis(recfn):
  print("Processing %s ... "%recfn,end="")
  arec = pr.process_record(json.load(open(recfn,'r')))
  arecfn = recfn.replace("record.json","data.json")
  with open(arecfn,'w') as outf: 
    json.dump(arec,outf)
  print("done.")
  return arecfn
示例#2
0
def output_analysis(recfn):
    print("Processing %s ... " % recfn, end="")
    arec = pr.process_record(json.load(open(recfn, 'r')))
    arecfn = recfn.replace("record.json", "data.json")
    with open(arecfn, 'w') as outf:
        json.dump(arec, outf)
    print("done.")
    return arecfn
示例#3
0
job_record['dft']['resume_mode'] = 'optimistic'
job_record['dft']['edifftol'] = 14
if checking_this:
    results.append(jc.execute(job_record, element_list))
count += 1

# Reduce allowed run time.
element_list[1] = runcrystal.RunCrystal(
    submitter=veritas.LocalVeritasCrystalSubmitter(
        nn=1, np=8, time="0:20:00", queue="batch"))

# Variance optimize takes two tries.
name = idbase + "varx2"
job_record = copy.deepcopy(default_job)
job_record['control']['id'] = name
job_record['dft']['restart_from'] = "../si_ag_simple/fort.79"
job_record['qmc']['variance_optimize']['reltol'] = 0.001
if checking_this:
    results.append(jc.execute(job_record, element_list))
count += 1

print("Analyzing...")
data = []
for result in results:
    data.append(pr.process_record(result))

print("Dumping to test_results.json...")
json.dump(data, open("test_results.json", 'w'))

print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
element_list = [QWalkRunVMC(submitter=ver.LocalVeritasQwalkSubmitter(nn=1, np=8, time="20:00:00", queue="batch"))]

cur_job["qmc"]["vmc"]["target_error"] = 0.01

ref_job = deepcopy(cur_job)
ref_job["control"]["id"] = base + "ref"
if checking_this:
    results.append(jc.execute(ref_job, element_list))

test_job = deepcopy(cur_job)
test_job["control"]["id"] = base + "test"
if checking_this:
    results.append(jc.execute(test_job, element_list))

###############################################
# Gather and export.
data = []
for result in results:
    data.append(pr.process_record(result))
json.dump(data, open("test_results.json", "w"))

# print("~~~~~~~~~~~~~~~~~~~~~~")
# print("Checking results...")
# try:
#  check_results.perform_check("test_results.json")
# except KeyError:
#  print("KeyError occured, maybe no calculations have finished yet?")
# except IndexError:
#  print("IndexError occured, maybe only one type of calculation has finished yet?")
# print("======================")