-
Notifications
You must be signed in to change notification settings - Fork 21
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
PCMSolver fatal error. S matrix is not positive-definite! #206
Comments
I wanted to gently follow up about this issue. If you could spare some time to review and provide your feedback or guidance, it would be greatly appreciated. |
I'm getting the same issue with 1.8.1 on Rocky8. I've tried different values for area (0.1, 0.3, 0.5), but I still get the error. |
I'm getting the same issue albeit with MRCC. Same exact error and I've changed the area from really small (0.1) to large ones like 5.0. |
Well hello everyone, I am also getting the same issue with Psi4 1.8.2. Tried a number of different cavity areas. I can only speculate but it looks like it's a recent problem, however the code in this repo hasn't changed since 2021. Maybe it's coming from a dependency? Maybe earlier versions of Psi4 would work? |
In case anybody is interested: using Psi4 1.6 I was able to get the solvation to work. I think it's because Psi4 1.6 uses a previous version of the PCMSolver library. |
Thanks for the report, and I'm sorry for the trouble. Looking a little closer, loriab/pcmsolver@v1211...loriab:pcmsolver:v123_plus_ming is the diff for the pcmsolver used with psi4 v1.8 (v1.2.3-ish) vs. earlier (v.1.2.1-ish). Skipping over all the frills, there's only three changes of substance:
So it looks like the reason you were seeing success with psi4 1.6 is b/c the pos-def check hasn't been implemented yet at pcm ~1.2.1. I could do a 1.2.1 on c-f and link psi4 to it, but that does seem to be heading backwards. Maybe for the larger mols you're using, the 1.0e-4 filter (loriab/pcmsolver@v1211...loriab:pcmsolver:v123_plus_ming#diff-9bb493e48722de80574a99af86291d9a574403d31c862161e5e29f4c0a41b89cR252) is too small to eliminate all the tesserae contaminating positive-definiteness? I guess I could try to make that an adjustable parameter. Thoughts, @robertodr ? It'd be good to find a strategy by the end of the month so that psi4 v1.9 in early Dec can use the new version. |
Thank you for the details, Lori! It seems the lack of positive-definiteness in 1.6 was causing some issues in SCF convergence, maybe. I was also looking at a weird system. |
Hi Jerome! It seems like the "area" knob isn't enough to solve some of the errors being thrown. I'm not sure if optionally turning off that warning and letting SCF take its chances or if there's another knob that can be exposed. Hoping @robertodr can provide some guidance. It doesn't look like there's any changes in v1.3 that would address this problem. |
Hello: |
I am also having this issue (Psi4 1.9.1), have there been any updates? I tried using 0.3 AU, 0.1 AU, and 0.05 AU for the area but to no avail. Is there any guidance on how serious the error is, e.g. can we trust the results? |
tl;dr I'll convert the error to warning in the conda package, but it's not best advised. Consider pyddx instead of PCMSolver. Hi all, I've been in touch with Roberto DiRemegio on this issue. He says the S-not-positive-definite is a real issue potentially producing nonsense if ignored. But he mentions another check that might take a little more physics into account so as to be a better gauge for sensible results. He's fine with me converting these to bold warnings but does implore you all to watch for bad results. (The current state on conda is that the latest pcm package has the main (S matrix) error as warning, but I don't know if you get that package with the latest psi4, as I haven't rebuilt that.) The problem can't really be healed because it's coming from legacy Fortran PCM code that constructs the cavity and wasn't designed for larger molecules. He suggests that Michael Herbst's pyddx+psi4 interface might be the way to go test case. |
Update that the latest PCMSolver and Psi4 packages have both the errors converted to warnings. They're based on v1.2.3 . |
Hi all, @loriab, I wanted to raise attention for my issue, #207, where I notice that the cavity generated by PCMSolver using Psi4 1.9.1 is incorrect. Did some of the changes introduced into the most recent updates to PCMSolver introduce some sort of bug that at the very least makes the generated cavity file to be incorrect? I fear that the update mentioned above that converts errors into warnings doesn't address what seems to be a regression in the software. |
Getting an error in pcm-enabled energy calculation:
Expected Behavior
There is no error when inputting a very small molecule such as below. The energy is calculated smoothly.
Current Behavior
When I change the molecule to something slightly bigger, I get the following error. The error reads:
Attached please find the outputs.
output.txt
output.log
Steps to Reproduce (for bugs)
Here is the input (named
input
):How to run:
psi4 input -n 16 output.txt
Context
Your Environment
The text was updated successfully, but these errors were encountered: