-
Notifications
You must be signed in to change notification settings - Fork 0
/
QC_AIMD_TO_XYZ.py
37 lines (31 loc) · 1.06 KB
/
QC_AIMD_TO_XYZ.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
"""
Created on Thu Jan 26 16:41:00 2023
@author: Goran Giudetti
Description:
This script creates a xyz trajectory from a Q-Chem aimd output file.
Simply provide the path to your Q-Chem job in the 'file' (string) variable; the trajectory will be in the same path and with the same name of the Q-Chem job, but the .xyz extension will be added.
One can also run the script from the command line: python QC_AIMD_TO_XYZ.py your_qchem_aimd_job.out
"""
import sys
#file = "Path to Q-Chem AIMD job"
file = sys.argv[1] # Alternative for command line use
o = open(file,"r")
w = open(file+".xyz","w")
rl = o.readlines()
o.close()
i1 = rl.index("$molecule\n")
i2 = rl.index("$end\n")
t_au = 0.0242 # femtoseconds
mol = i2 - i1 - 2
t, z = 0, 0
for line in rl:
z += 1
if "time_step" in line.lower():
ts = float(line.strip().split()[-1])
if "Standard Nuclear Orientation" in line:
w.write(str(mol)+ "\n")
w.write("Time step: {} ({} fs)\n".format(ts*t,ts*t*t_au))
for i in range(z+2,z+2+mol):
w.write(rl[i][10:])
t += 1
w.close()