Open bgpeyton opened 7 years ago
Branch "harvest" can now pull scf energy, scf dipole, and cc energy data from json output files. (Commits #1133dad, #37cfcb6, and #d8f2970 respectively)
Rotation and polarizabilities have a problem: output.json
(populated by core.get_variables()
) only stores the last rotation and polarizability calculated, IE if you run a job to calculate these values at multiple wavelengths, psi4 only stores the last value. This can be seen in optrot.cc
here and in polar.cc
here. For now, harvesting functions for these two will pull the one value reported.
The respective tensors, on the other hand, are not stored at all. These will need to be added from the ground up. Rotations, polarizabilities, and their corresponding tensors will be the next thing to be worked on in this regard, and should finish up the (current) list of wfn data types.
PR 857 for psi4 has been submitted, which addresses the rotation and polarizability issues (pending review).
Update: rotation and polarization tensors can be implemented into Psi4 at a later date, as they are not necessary for the current project, so they will also be taken off the list of data harvesting functions. See legacy Taylor code for details on these functions (they will likely be removed in a recent PR).
New problem: it seems that quadrupoles (and possibly other values) dumped to the JSON dictionary are not matching output files. More testing is necessary.
Another thing to check: wavefunction based rotation data harvesting should drop optrots into a list rather than having a further-nested ordered dictionary. While more confusing, it makes data cooking much easier (due to zipping of data within the function).
Commit #2538754 added new functionality to generated input files. All
input.dat
files will now import json and dump the contents ofcore.get_variables()
tooutput.json
within the same directory.Now, data harvesting functions must crawl these
output.json
files instead ofoutput.dat
files. It would be nice if the results were compiled into a masteroutput.json
but they could also possibly be handled within the shelveddatabase
as well. (Should totally switch to json at some point!)List of WFN data types to work on (functions are harvest_{}_data())
Rotation and polarizability tensors should be implemented at a later date (for use in ROA, for example), but these are not necessary for my current work.