diff --git a/devel/dmc_dress/dress.py b/devel/dmc_dress/dress.py new file mode 100755 index 0000000..53f585b --- /dev/null +++ b/devel/dmc_dress/dress.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python + +import numpy as np +import subprocess +import sys +import os + +QP_PATH=os.environ["QP_ROOT"]+"/external/ezfio/Python/" + +sys.path.insert(0,QP_PATH) + +from ezfio import ezfio + +def read_hamiltonian(inp): + text = subprocess.run(["qmcchem", "result", inp], capture_output=True).stdout + inside = None + h = [] + s = [] + norm = None + for line in text.splitlines(): + line = str(line) + print (line) + if "Psi_norm :" in line: + norm = float(line.split()[3]) + if "]" in line: + inside = None + if inside == "H": + data = line.split() + h.append(float(data[3])) + elif "Ci_dress" in line: + inside = "H" + h = np.array(h)/norm + + return h + + +h = read_hamiltonian(sys.argv[1]) +ezfio.set_file(sys.argv[1]) +ezfio.set_dmc_dress_dmc_delta_h(h) +print(h)