Tutorial for using the ZPVC module in VIBRAV¶
The intention of this is to give you a guide on how to use the ZPVC module from vibrav.zpvc.zpvc.py
to run the post-processing script. Prior to using this script you should have already extracted the gradients and the property values of interest from your own calculations.
Both the gradients and property values must be saved as a CSV file with column names. The row index is preffered, but if they are not available please set the INDEX_COL
option in the configuration file to 0
.
The gradient file must have the column names ['fx', 'fy', 'fz', 'atom', 'file']
. The property file must have the column names ['atom', 'file', PCOL]
, where PCOL
is the name of the column set in the configuration file as PROPERTY_COLUMN
.
Import the ZPVC module and the resource function¶
[2]:
from vibrav.base import resource
from vibrav import ZPVC
Start load the ZPVC class and initialize the configuration file options¶
[3]:
zpvc = ZPVC(config_file=resource('nitromal-zpvc-va.conf'))
Contents of the resource configuration file¶
For this example we are using the resource files in VIBRAV. We are running the script over the 6 temperatures that are specified for atom index 0. If you wish to run it for more atoms or different atoms you can change the values as a space separated list.
[4]:
with open(resource('nitromal-zpvc-va.conf'), 'r') as fn:
print(fn.read())
DELTA_FILE nitromal-zpvc-delta.dat.xz
SMATRIX_FILE nitromal-zpvc-smatrix.dat.xz
ATOM_ORDER_FILE nitromal-zpvc-atom_order.dat.xz
REDUCED_MASS_FILE nitromal-zpvc-redmass.dat.xz
FREQUENCY_FILE nitromal-zpvc-freq.dat.xz
EQCOORD_FILE nitromal-zpvc-eqcoord.dat.xz
PROPERTY_FILE nitromal-zpvc-nmr.csv.xz
GRADIENT_FILE nitromal-zpvc-grad.csv.xz
NUMBER_OF_MODES 39
NUMBER_OF_NUCLEI 15
PROPERTY_ATOMS 0
PROPERTY_COLUMN isotropic
USE_RESOURCE 1
TEMPERATURE 0 100 200 300 400 600
Run the ZPVC script¶
This will write output files to the zpvc-outputs directory. In there you would find the files - kqiii (Force constants) - kqijj (Anharmonic force constants) - results (Compact ZPVC result table) - vibrational-average (Verbose table with the contribution from each vibrational mode)
[5]:
zpvc.zpvc()
Compact ZPVC result table
[6]:
zpvc.zpvc_results
[6]:
property | zpvc | zpva | tot_anharm | tot_curva | temp | atom | frame | |
---|---|---|---|---|---|---|---|---|
0 | 13.932882 | -2.887802 | 11.045080 | -3.748377 | 0.860575 | 0.0 | 0 | 0 |
1 | 13.932882 | -2.804743 | 11.128138 | -3.678383 | 0.873640 | 100.0 | 0 | 1 |
2 | 13.932882 | -2.648282 | 11.284599 | -3.570384 | 0.922102 | 200.0 | 0 | 2 |
3 | 13.932882 | -2.483916 | 11.448966 | -3.475751 | 0.991835 | 300.0 | 0 | 3 |
4 | 13.932882 | -2.313385 | 11.619497 | -3.387663 | 1.074278 | 400.0 | 0 | 4 |
5 | 13.932882 | -1.979968 | 11.952914 | -3.245975 | 1.266007 | 600.0 | 0 | 5 |
Verbose table with the contribution from each vibrational mode
[7]:
zpvc.vib_average.groupby('frame').get_group(0)
[7]:
frequency | num_frequency | freqdx | anharm | curva | sum | temp | atom | frame | |
---|---|---|---|---|---|---|---|---|---|
0 | 85.0284 | 85.571391 | 0 | 0.000000 | 0.007649 | 0.007649 | 0.0 | 0 | 0 |
1 | 89.3751 | 89.760862 | 1 | -0.000000 | -0.001816 | -0.001816 | 0.0 | 0 | 0 |
2 | 146.1814 | 146.510047 | 2 | -0.000000 | 0.022266 | 0.022266 | 0.0 | 0 | 0 |
3 | 217.6824 | 219.140605 | 3 | -0.000000 | 0.001199 | 0.001199 | 0.0 | 0 | 0 |
4 | 320.8656 | 321.743460 | 4 | -1.079300 | 0.076429 | -1.002872 | 0.0 | 0 | 0 |
5 | 354.5547 | 354.832345 | 5 | -0.171530 | 0.010393 | -0.161137 | 0.0 | 0 | 0 |
6 | 401.8652 | 402.000544 | 6 | 0.000964 | 0.002991 | 0.003955 | 0.0 | 0 | 0 |
7 | 418.5204 | 422.712045 | 7 | 0.000000 | -0.012716 | -0.012716 | 0.0 | 0 | 0 |
8 | 425.1060 | 425.219670 | 8 | -0.102758 | 0.009911 | -0.092847 | 0.0 | 0 | 0 |
9 | 433.7701 | 437.743208 | 9 | 0.000000 | -0.022071 | -0.022071 | 0.0 | 0 | 0 |
10 | 461.1199 | 461.749783 | 10 | -0.314054 | 0.074176 | -0.239878 | 0.0 | 0 | 0 |
11 | 485.3209 | 485.295588 | 11 | 0.000522 | 0.003446 | 0.003968 | 0.0 | 0 | 0 |
12 | 609.5199 | 609.703735 | 12 | -0.090530 | 0.009844 | -0.080687 | 0.0 | 0 | 0 |
13 | 666.6248 | 667.988175 | 13 | 0.000000 | -0.002926 | -0.002926 | 0.0 | 0 | 0 |
14 | 685.1025 | 686.454375 | 14 | -0.000000 | -0.006440 | -0.006440 | 0.0 | 0 | 0 |
15 | 703.9068 | 704.192029 | 15 | -0.362860 | 0.028033 | -0.334827 | 0.0 | 0 | 0 |
16 | 714.8914 | 721.796521 | 16 | 0.000000 | 0.002550 | 0.002550 | 0.0 | 0 | 0 |
17 | 725.8531 | 726.215692 | 17 | 0.000000 | -0.005967 | -0.005967 | 0.0 | 0 | 0 |
18 | 762.7554 | 763.192008 | 18 | -0.000000 | -0.005501 | -0.005501 | 0.0 | 0 | 0 |
19 | 846.2045 | 846.453447 | 19 | -0.003575 | -0.000841 | -0.004416 | 0.0 | 0 | 0 |
20 | 1075.3188 | 1075.611537 | 20 | -0.018814 | 0.004701 | -0.014112 | 0.0 | 0 | 0 |
21 | 1094.5938 | 1094.958031 | 21 | -0.032282 | 0.005943 | -0.026339 | 0.0 | 0 | 0 |
22 | 1107.2629 | 1107.158513 | 22 | 0.000000 | 0.046784 | 0.046784 | 0.0 | 0 | 0 |
23 | 1161.5631 | 1161.775254 | 23 | -0.011198 | 0.002291 | -0.008907 | 0.0 | 0 | 0 |
24 | 1174.0458 | 1174.253942 | 24 | -0.020984 | 0.009741 | -0.011243 | 0.0 | 0 | 0 |
25 | 1265.5979 | 1267.509984 | 25 | -0.531411 | 0.183772 | -0.347639 | 0.0 | 0 | 0 |
26 | 1316.6681 | 1317.803575 | 26 | -0.003551 | 0.002776 | -0.000775 | 0.0 | 0 | 0 |
27 | 1395.3206 | 1395.593777 | 27 | -0.001487 | 0.003657 | 0.002170 | 0.0 | 0 | 0 |
28 | 1452.1272 | 1452.201891 | 28 | -0.002516 | -0.001166 | -0.003682 | 0.0 | 0 | 0 |
29 | 1555.7496 | 1555.896942 | 29 | 0.000756 | -0.000758 | -0.000002 | 0.0 | 0 | 0 |
30 | 1575.8570 | 1575.960809 | 30 | 0.003893 | -0.001330 | 0.002563 | 0.0 | 0 | 0 |
31 | 1598.3631 | 1598.402330 | 31 | -0.003270 | -0.012490 | -0.015761 | 0.0 | 0 | 0 |
32 | 1631.1443 | 1631.812795 | 32 | -0.039127 | 0.011868 | -0.027259 | 0.0 | 0 | 0 |
33 | 1710.9460 | 1710.984060 | 33 | -0.054030 | 0.009701 | -0.044329 | 0.0 | 0 | 0 |
34 | 2255.7412 | 2264.139335 | 34 | -0.906408 | 0.403475 | -0.502933 | 0.0 | 0 | 0 |
35 | 3520.1806 | 3524.347173 | 35 | -0.000387 | 0.000993 | 0.000606 | 0.0 | 0 | 0 |
36 | 3541.9146 | 3546.035369 | 36 | -0.002419 | -0.000220 | -0.002639 | 0.0 | 0 | 0 |
37 | 3686.9440 | 3691.868870 | 37 | -0.001406 | 0.000354 | -0.001052 | 0.0 | 0 | 0 |
38 | 3696.3968 | 3701.247556 | 38 | -0.000614 | -0.000124 | -0.000738 | 0.0 | 0 | 0 |
Effective coordinates for 0 K
[8]:
zpvc.eff_coord.groupby('frame').get_group(0)
[8]:
set | Z | x | y | z | symbol | temp | frame | |
---|---|---|---|---|---|---|---|---|
atom | ||||||||
0 | 0 | 1 | 0.343242 | -2.168186 | 0.0 | H | 0.0 | 0 |
1 | 1 | 1 | -3.122279 | -1.159822 | 0.0 | H | 0.0 | 0 |
2 | 2 | 1 | -2.603661 | 0.536159 | 0.0 | H | 0.0 | 0 |
3 | 3 | 1 | 3.307589 | -0.342839 | 0.0 | H | 0.0 | 0 |
4 | 4 | 1 | 2.390190 | 1.172662 | 0.0 | H | 0.0 | 0 |
5 | 5 | 6 | 1.315911 | -0.538146 | 0.0 | C | 0.0 | 0 |
6 | 6 | 8 | 1.403388 | -1.824836 | 0.0 | O | 0.0 | 0 |
7 | 7 | 7 | 2.456096 | 0.168373 | 0.0 | N | 0.0 | 0 |
8 | 8 | 6 | -0.009395 | 0.061711 | 0.0 | C | 0.0 | 0 |
9 | 9 | 6 | -1.142284 | -0.865999 | 0.0 | C | 0.0 | 0 |
10 | 10 | 8 | -0.887831 | -2.122312 | 0.0 | O | 0.0 | 0 |
11 | 11 | 7 | -0.187867 | 1.468788 | 0.0 | N | 0.0 | 0 |
12 | 12 | 8 | 0.810723 | 2.219691 | 0.0 | O | 0.0 | 0 |
13 | 13 | 8 | -1.342229 | 1.946239 | 0.0 | O | 0.0 | 0 |
14 | 14 | 7 | -2.421288 | -0.456714 | 0.0 | N | 0.0 | 0 |
Effective coordinates for 400 K
[9]:
zpvc.eff_coord.groupby('frame').get_group(4)
[9]:
set | Z | x | y | z | symbol | temp | frame | |
---|---|---|---|---|---|---|---|---|
atom | ||||||||
60 | 0 | 1 | 0.324546 | -2.172974 | 0.0 | H | 400.0 | 4 |
61 | 1 | 1 | -3.093186 | -1.146095 | 0.0 | H | 400.0 | 4 |
62 | 2 | 1 | -2.591836 | 0.517221 | 0.0 | H | 400.0 | 4 |
63 | 3 | 1 | 3.273432 | -0.337080 | 0.0 | H | 400.0 | 4 |
64 | 4 | 1 | 2.379959 | 1.145908 | 0.0 | H | 400.0 | 4 |
65 | 5 | 6 | 1.314480 | -0.537211 | 0.0 | C | 400.0 | 4 |
66 | 6 | 8 | 1.408057 | -1.808342 | 0.0 | O | 400.0 | 4 |
67 | 7 | 7 | 2.441279 | 0.159619 | 0.0 | N | 400.0 | 4 |
68 | 8 | 6 | -0.009746 | 0.058632 | 0.0 | C | 400.0 | 4 |
69 | 9 | 6 | -1.138246 | -0.862980 | 0.0 | C | 400.0 | 4 |
70 | 10 | 8 | -0.893001 | -2.113332 | 0.0 | O | 400.0 | 4 |
71 | 11 | 7 | -0.188065 | 1.468863 | 0.0 | N | 400.0 | 4 |
72 | 12 | 8 | 0.788211 | 2.207521 | 0.0 | O | 400.0 | 4 |
73 | 13 | 8 | -1.317471 | 1.944574 | 0.0 | O | 400.0 | 4 |
74 | 14 | 7 | -2.408603 | -0.459850 | 0.0 | N | 400.0 | 4 |
[ ]: