Skip to content

Commit 4b7f63d

Browse files
committed
write deltaN only to vasp h5 if present, write to GAMMA text file only for old interface
1 parent d67d70d commit 4b7f63d

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

python/triqs_dft_tools/sumk_dft.py

+19-18
Original file line numberDiff line numberDiff line change
@@ -2353,30 +2353,31 @@ def calc_density_correction(self, filename=None, dm_type=None, spinave=False, kp
23532353
assert self.SP == 0, "Spin-polarized density matrix is not implemented"
23542354

23552355
if mpi.is_master_node():
2356-
with open(filename, 'w') as f:
2357-
f.write(" %i -1 ! Number of k-points, default number of bands\n" % len(kpts_to_write))
2358-
for index, ik in enumerate(kpts_to_write):
2359-
ib1 = band_window[0][ik, 0]
2360-
ib2 = band_window[0][ik, 1]
2361-
f.write(" %i %i %i\n" % (index + 1, ib1, ib2))
2362-
for inu in range(self.n_orbitals[ik, 0]):
2363-
for imu in range(self.n_orbitals[ik, 0]):
2364-
if (self.SO == 1):
2365-
valre = (deltaN['ud'][ik][inu, imu].real) / 1.0
2366-
valim = (deltaN['ud'][ik][inu, imu].imag) / 1.0
2367-
f.write(" %.14f %.14f" % (valre, valim))
2368-
else:
2369-
valre = (deltaN['up'][ik][inu, imu].real + deltaN['down'][ik][inu, imu].real) / 2.0
2370-
valim = (deltaN['up'][ik][inu, imu].imag + deltaN['down'][ik][inu, imu].imag) / 2.0
2371-
f.write(" %.14f %.14f" % (valre, valim))
2372-
f.write("\n")
2373-
23742356
if os.path.isfile('vasptriqs.h5'):
23752357
with HDFArchive('vasptriqs.h5', 'a') as vasp_h5:
23762358
if 'triqs' not in vasp_h5:
23772359
vasp_h5.create_group('triqs')
23782360
vasp_h5['triqs']['band_window'] = band_window
23792361
vasp_h5['triqs']['deltaN'] = deltaN
2362+
else:
2363+
with open(filename, 'w') as f:
2364+
f.write(" %i -1 ! Number of k-points, default number of bands\n" % len(kpts_to_write))
2365+
for index, ik in enumerate(kpts_to_write):
2366+
ib1 = band_window[0][ik, 0]
2367+
ib2 = band_window[0][ik, 1]
2368+
f.write(" %i %i %i\n" % (index + 1, ib1, ib2))
2369+
for inu in range(self.n_orbitals[ik, 0]):
2370+
for imu in range(self.n_orbitals[ik, 0]):
2371+
if (self.SO == 1):
2372+
valre = (deltaN['ud'][ik][inu, imu].real) / 1.0
2373+
valim = (deltaN['ud'][ik][inu, imu].imag) / 1.0
2374+
f.write(" %.14f %.14f" % (valre, valim))
2375+
else:
2376+
valre = (deltaN['up'][ik][inu, imu].real + deltaN['down'][ik][inu, imu].real) / 2.0
2377+
valim = (deltaN['up'][ik][inu, imu].imag + deltaN['down'][ik][inu, imu].imag) / 2.0
2378+
f.write(" %.14f %.14f" % (valre, valim))
2379+
f.write("\n")
2380+
23802381

23812382

23822383
elif dm_type == 'elk':

0 commit comments

Comments
 (0)