Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reorganization of roa driver #395

Merged
merged 22 commits into from
Jun 3, 2016
Merged

Reorganization of roa driver #395

merged 22 commits into from
Jun 3, 2016

Conversation

amjames
Copy link
Member

@amjames amjames commented May 31, 2016

Description

Code used in the roa driver has been re-organized into a module findif_response_utils.

Todos

Notable points that this PR has either accomplished or will accomplish.

  • ROA driver functions the same as it does currently.
  • New drivers (in the works) will use this module rather than c+p functions from roa.py

RE comments by @dgasmith

  • Change naming scheme in tensor_helpers.py to clarify return types are not proper matrix/tensor objects
  • Change Exceptions raised to PsiException so that error information is printed to screen and the output files

Questions

  • @lothian thoughts on the registered_props dict? It isn't very flexible, but I don't know if this kind of driver needs to be flexible. The hard-coded registerd_props dict has been removed in favor of a solution that allows each driver to choose the arguments to the property() function in each sub-dir. The module doesn't need to know anything except what the calling driver tells it :).

Status

  • Ready to go

amjames added 18 commits May 30, 2016 14:31
    Uses finite differences to compute vibrational correction to specific
    rotation via 2nd order Taylor expansion of the rotation in normal
    coordinates about the equilibrium geometry.
This will facilitate the re-use of common methods between several
driver methods for computing property derivatives by finite differences.
Replaces them with calls to generalized code in findif_response_util
module that will be used across all drivers for this type of code.

Adds check for roa_computed flag in db: useful for debugging. It will
copy the database, and make a backup of it. Changes to psi4.scatter()
will be printed in the outfile, and the old results retrievable from the
backup with a small amount of effort. Eventually I will make sure the
final results are stored in the database making it even easier to
retrieve them.
uses findif_response_utils module similar to roa.py.
Not yet production ready, Key function in ccresponse module is missing
thus as of now it does nothing except database level operations
…r but python wont run without them at the top of all other imports
That will be added back when it's ready to go
The module is now completely ignorant of the calling run_xxx function.
The necessary arguments to the property() driver in each sub-dir is now
handled by the individual drivers.  roa driver has been updated to reflect
these changes.
@amjames
Copy link
Member Author

amjames commented Jun 1, 2016

I am pretty sure this is a false failure in travis due to a server being down (see log below). Can someone from @psi4/p4pub-rw restart the travis tests? I don't think I should need to push a commit just to get the build to run.

$ git checkout -qf FETCH_HEAD
Adding APT Sources (BETA)
$ export DEBIAN_FRONTEND=noninteractive
0.18s$ curl -sSL "http://llvm.org/apt/llvm-snapshot.gpg.key" | sudo -E apt-key add -
gpg: no valid OpenPGP data found.
The command "curl -sSL "http://llvm.org/apt/llvm-snapshot.gpg.key" | sudo -E apt-key add -" failed and exited with 2 during .
Your build has been stopped

# END sythesize_displaced_tensor()


def grab_psi4_matrix(outfile, matrix_name, row_tot):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would point out that this is not for general Psi4 matrices, but very specifically for (n x 3) geometry-like matrices and the return is vector-like no matrix-like. Perhaps parse_psi4_geometry_matrix for the name.

@dgasmith
Copy link
Member

dgasmith commented Jun 1, 2016

Hmm, still seem this travis issue on respawn of the job. Something deeper is going on.

@amjames
Copy link
Member Author

amjames commented Jun 1, 2016

The log-file still looks like the error occurs before the build is even started, so I don't know if there is anything I can do about this.

It looks like this is an issue with all travis builds w/ clang they are aware of it, I don't know if we can do anything about that travis-ci/travis-ci#6120

@dgasmith
Copy link
Member

dgasmith commented Jun 1, 2016

@amjames Yea, look like we just need to wait it out for now.

Error is raised when a problem occurs parsing some file. ValidationError
is specific to inputfile problems, ParsingError will be for problems
reading data from other files that may have been written by psi4, or
another program.
The return types of these functions are neither proper matrix objects, nor
tensor objects. They are lists of data that can be used to construct
matrix objects.  They are also specific to 3xn shape data. The naming
has been changed to better reflect the use. roa.py has been updated to
reflect these changes.
@amjames
Copy link
Member Author

amjames commented Jun 1, 2016

I pushed changes to address the discussions on the original diffs.

If you look through this discussion from the llvm mailing list. It looks like their servers are being overwhelmed with requests (which I suspect are originating from travis) so they have shut them down. Anyway, all travis builds using clang are going to fail until that gets resolved.

Whenever the clang builds are working again this is ready to go.

@dgasmith dgasmith merged commit f1c6161 into psi4:master Jun 3, 2016
@amjames amjames deleted the roa-reorganize branch June 3, 2016 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants