mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-21 11:03:29 +01:00
Added qp_extract_cipsi_data.py
Some checks reported errors
continuous-integration/drone/push Build was killed
Some checks reported errors
continuous-integration/drone/push Build was killed
This commit is contained in:
parent
d3bb04ec8d
commit
c19f486670
54
scripts/qp_extract_cipsi_data.py
Executable file
54
scripts/qp_extract_cipsi_data.py
Executable file
@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# Read output file
|
||||||
|
with open(sys.argv[1], 'r') as file:
|
||||||
|
output = file.read()
|
||||||
|
|
||||||
|
|
||||||
|
def extract_data(output):
|
||||||
|
lines = output.split("\n")
|
||||||
|
data = []
|
||||||
|
|
||||||
|
n_det = None
|
||||||
|
e = None
|
||||||
|
pt2 = None
|
||||||
|
err_pt2 = None
|
||||||
|
rpt2 = None
|
||||||
|
err_rpt2 = None
|
||||||
|
e_ex = None
|
||||||
|
|
||||||
|
|
||||||
|
reading = False
|
||||||
|
for iline, line in enumerate(lines):
|
||||||
|
if not reading and line.startswith(" N_det "):
|
||||||
|
n_det = int(re.search(r"N_det\s+=\s+(\d+)", line).group(1))
|
||||||
|
reading = True
|
||||||
|
|
||||||
|
if reading:
|
||||||
|
if line.startswith(" E "):
|
||||||
|
e = float(re.search(r"E\s+=\s+(-?\d+\.\d+)", line).group(1))
|
||||||
|
elif line.startswith(" PT2 "):
|
||||||
|
pt2 = float(re.search(r"PT2\s+=\s+(-?\d+\.\d+E?.\d*)", line).group(1))
|
||||||
|
err_pt2 = float(re.search(r"\+/-\s+(-?\d+\.\d+E?.\d*)", line).group(1))
|
||||||
|
elif line.startswith(" rPT2 "):
|
||||||
|
rpt2 = float(re.search(r"rPT2\s+=\s+(-?\d+\.\d+E?.\d*)", line).group(1))
|
||||||
|
err_rpt2 = float(re.search(r"\+/-\s+(-?\d+\.\d+E?.\d*)", line).group(1))
|
||||||
|
elif "minimum PT2 Extrapolated energy" in line:
|
||||||
|
e_ex_line = lines[iline+2]
|
||||||
|
e_ex = float(e_ex_line.split()[1])
|
||||||
|
reading = False
|
||||||
|
|
||||||
|
data.append((n_det, e, pt2, err_pt2, rpt2, err_rpt2, e_ex))
|
||||||
|
n_det = e = pt2 = err_pt2 = rpt2 = err_rpt2 = e_ex = None
|
||||||
|
|
||||||
|
return data
|
||||||
|
|
||||||
|
data = extract_data(output)
|
||||||
|
|
||||||
|
for item in data:
|
||||||
|
print(" ".join(str(x) for x in item))
|
||||||
|
|
||||||
|
|
@ -12,6 +12,7 @@ program save_natorb
|
|||||||
! matrices of each state with the corresponding
|
! matrices of each state with the corresponding
|
||||||
! :option:`determinants state_average_weight`
|
! :option:`determinants state_average_weight`
|
||||||
END_DOC
|
END_DOC
|
||||||
|
PROVIDE nucl_coord
|
||||||
read_wf = .True.
|
read_wf = .True.
|
||||||
touch read_wf
|
touch read_wf
|
||||||
call save_natural_mos
|
call save_natural_mos
|
||||||
|
Loading…
Reference in New Issue
Block a user