Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if 'relax_incar' in jdata.keys():
vasp_str='vasp-relax_incar'
else:
kspacing = jdata['vasp_params']['kspacing']
vasp_str='vasp-k%.2f' % kspacing
task_path = os.path.join(conf_path, vasp_str)
vol_paths = glob.glob(os.path.join(task_path, 'vol-*'))
vol_paths.sort(key=lambda k : float(k.split('-')[-1]))
result = os.path.join(task_path,'result')
print('Vpa(A^3)\tEpA(eV)')
with open(result,'w') as fp:
fp.write('conf_dir:%s\n VpA(A^3) EpA(eV)\n'% (conf_dir))
for ii in vol_paths :
outcar = os.path.join(ii, 'OUTCAR')
natoms, epa, vpa = vasp.get_nev(outcar)
print(vpa, epa)
fp.write('%7.3f %8.4f \n' % (vpa,epa))
fp.close()
if 'upload_username' in jdata.keys():
upload_username=jdata['upload_username']
util.insert_data('eos','vasp',upload_username,result)
if 'relax_incar' in jdata.keys():
vasp_str='vasp-relax_incar'
else:
kspacing = jdata['vasp_params']['kspacing']
vasp_str='vasp-k%.2f' % kspacing
equi_path = re.sub('confs', global_equi_name, conf_dir)
equi_path = os.path.join(equi_path, vasp_str)
equi_path = os.path.abspath(equi_path)
equi_outcar = os.path.join(equi_path, 'OUTCAR')
task_path = re.sub('confs', global_task_name, conf_dir)
task_path = os.path.join(task_path, vasp_str)
task_path = os.path.abspath(task_path)
equi_natoms, equi_epa, equi_vpa = vasp.get_nev(equi_outcar)
copy_str = "%sx%sx%s" % (supercell[0], supercell[1], supercell[2])
struct_path_widecard = os.path.join(task_path, 'struct-%s-%s-*' % (insert_ele, copy_str))
print(struct_path_widecard)
struct_path_list = glob.glob(struct_path_widecard)
struct_path_list.sort()
if len(struct_path_list) == 0:
print("# cannot find results for conf %s supercell %s" % (conf_dir, supercell))
sys.stdout.write ("Insert_ele-Struct: Inter_E(eV) E(eV) equi_E(eV)\n")
result = os.path.join(task_path,'result')
with open(result,'w') as fp:
fp.write('conf_dir:%s\n'% (conf_dir))
fp.write ("Insert_ele-Struct: Inter_E(eV) E(eV) equi_E(eV)\n")
for ii in struct_path_list :
structure_dir = os.path.basename(ii)
outcar = os.path.join(ii, 'OUTCAR')
copy_str = "%sx%sx%s" % (supercell[0], supercell[1], supercell[2])
struct_path_widecard = os.path.join(task_path, 'struct-%s-%s-*' % (insert_ele, copy_str))
print(struct_path_widecard)
struct_path_list = glob.glob(struct_path_widecard)
struct_path_list.sort()
if len(struct_path_list) == 0:
print("# cannot find results for conf %s supercell %s" % (conf_dir, supercell))
sys.stdout.write ("Insert_ele-Struct: Inter_E(eV) E(eV) equi_E(eV)\n")
result = os.path.join(task_path,'result')
with open(result,'w') as fp:
fp.write('conf_dir:%s\n'% (conf_dir))
fp.write ("Insert_ele-Struct: Inter_E(eV) E(eV) equi_E(eV)\n")
for ii in struct_path_list :
structure_dir = os.path.basename(ii)
outcar = os.path.join(ii, 'OUTCAR')
natoms, epa, vpa = vasp.get_nev(outcar)
evac = epa * natoms - equi_epa * natoms
sys.stdout.write ("%s: %7.3f %7.3f %7.3f \n" % (structure_dir, evac, epa * natoms, equi_epa * natoms))
fp.write ("%s: %7.3f %7.3f %7.3f \n" % (structure_dir, evac, epa * natoms, equi_epa * natoms))
fp.close()
if 'relax_incar' in jdata.keys():
vasp_str='vasp-relax_incar'
else:
kspacing = jdata['vasp_params']['kspacing']
vasp_str='vasp-k%.2f' % kspacing
equi_path = re.sub('confs', global_equi_name, conf_dir)
equi_path = os.path.join(equi_path, vasp_str)
equi_path = os.path.abspath(equi_path)
equi_outcar = os.path.join(equi_path, 'OUTCAR')
task_path = re.sub('confs', global_task_name, conf_dir)
task_path = os.path.join(task_path, vasp_str)
task_path = os.path.abspath(task_path)
print("# ", task_path)
equi_natoms, equi_epa, equi_vpa = vasp.get_nev(equi_outcar)
copy_str = "%sx%sx%s" % (supercell[0], supercell[1], supercell[2])
struct_path_widecard = os.path.join(task_path, 'struct-%s-*' % (copy_str))
struct_path_list = glob.glob(struct_path_widecard)
struct_path_list.sort()
if len(struct_path_list) == 0:
print("# cannot find results for conf %s supercell %s" % (conf_dir, supercell))
sys.stdout.write ("Structure: \tVac_E(eV) E(eV) equi_E(eV)\n")
result = os.path.join(task_path,'result')
with open(result,'w') as fp:
fp.write('conf_dir:%s\n'% (conf_dir))
fp.write("Structure: \tVac_E(eV) E(eV) equi_E(eV)\n")
for ii in struct_path_list :
struct_poscar = os.path.join(ii, 'POSCAR')
#energy_shift = comput_e_shift(struct_poscar, vasp_str)
structure_dir = os.path.basename(ii)
struct_path_widecard = os.path.join(task_path, 'struct-%s-*' % (copy_str))
struct_path_list = glob.glob(struct_path_widecard)
struct_path_list.sort()
if len(struct_path_list) == 0:
print("# cannot find results for conf %s supercell %s" % (conf_dir, supercell))
sys.stdout.write ("Structure: \tVac_E(eV) E(eV) equi_E(eV)\n")
result = os.path.join(task_path,'result')
with open(result,'w') as fp:
fp.write('conf_dir:%s\n'% (conf_dir))
fp.write("Structure: \tVac_E(eV) E(eV) equi_E(eV)\n")
for ii in struct_path_list :
struct_poscar = os.path.join(ii, 'POSCAR')
#energy_shift = comput_e_shift(struct_poscar, vasp_str)
structure_dir = os.path.basename(ii)
outcar = os.path.join(ii, 'OUTCAR')
natoms, epa, vpa = vasp.get_nev(outcar)
evac = epa * natoms - equi_epa * natoms
sys.stdout.write ("%s: %7.3f %7.3f %7.3f \n" % (structure_dir, evac, epa * natoms, equi_epa*natoms))
fp.write("%s: %7.3f %7.3f %7.3f \n" % (structure_dir, evac, epa * natoms, equi_epa*natoms))
fp.close()
# evac = epa * natoms - energy_shift
equi_path = os.path.join(equi_path, vasp_str)
equi_path = os.path.abspath(equi_path)
equi_outcar = os.path.join(equi_path, 'OUTCAR')
task_path = re.sub('confs', global_task_name, conf_dir)
if static :
if 'scf_incar' in jdata.keys():
vasp_static_str='vasp-static-scf_incar'
else:
kspacing = jdata['vasp_params']['kspacing']
vasp_static_str='vasp-static-k%.2f' % (kspacing)
task_path = os.path.join(task_path, vasp_static_str)
else :
task_path = os.path.join(task_path, vasp_str)
task_path = os.path.abspath(task_path)
equi_natoms, equi_epa, equi_vpa = vasp.get_nev(equi_outcar)
struct_path_widecard = os.path.join(task_path, 'struct-*-m*m')
struct_path_list = glob.glob(struct_path_widecard)
struct_path_list.sort()
if len(struct_path_list) == 0:
print("# cannot find results for conf %s" % (conf_dir))
sys.stdout.write ("Miller_Indices: \tSurf_E(J/m^2) EpA(eV) equi_EpA(eV)\n")
result = os.path.join(task_path,'result')
with open(result,'w') as fp:
fp.write('conf_dir:%s\n'% (conf_dir))
fp.write("Miller_Indices: \tSurf_E(J/m^2) EpA(eV) equi_EpA(eV)\n")
for ii in struct_path_list :
structure_dir = os.path.basename(ii)
outcar = os.path.join(ii, 'OUTCAR')
natoms, epa, vpa = vasp.get_nev(outcar)
struct_path_widecard = os.path.join(task_path, 'struct-*-m*m')
struct_path_list = glob.glob(struct_path_widecard)
struct_path_list.sort()
if len(struct_path_list) == 0:
print("# cannot find results for conf %s" % (conf_dir))
sys.stdout.write ("Miller_Indices: \tSurf_E(J/m^2) EpA(eV) equi_EpA(eV)\n")
result = os.path.join(task_path,'result')
with open(result,'w') as fp:
fp.write('conf_dir:%s\n'% (conf_dir))
fp.write("Miller_Indices: \tSurf_E(J/m^2) EpA(eV) equi_EpA(eV)\n")
for ii in struct_path_list :
structure_dir = os.path.basename(ii)
outcar = os.path.join(ii, 'OUTCAR')
natoms, epa, vpa = vasp.get_nev(outcar)
if static :
e0 = np.array(vasp.get_energies(outcar)) / natoms
epa = e0[0]
boxes = vasp.get_boxes(outcar)
AA = np.linalg.norm(np.cross(boxes[0][0], boxes[0][1]))
Cf = 1.60217657e-16 / (1e-20 * 2) * 0.001
evac = (epa * natoms - equi_epa * natoms) / AA * Cf
sys.stdout.write ("%s:\t %7.3f %8.3f %8.3f\n" % (structure_dir, evac, epa, equi_epa))
fp.write("%s:\t %7.3f %8.3f %8.3f\n" % (structure_dir, evac, epa, equi_epa))
fp.close()
if 'upload_username' in jdata.keys():
upload_username=jdata['upload_username']
util.insert_data('surf','vasp',upload_username,result)