-
Notifications
You must be signed in to change notification settings - Fork 22
Description
This may be related to #206, but it also might not be. If it's related, hopefully this can provide some clues to solving that issue.
I noticed that with a test molecule, when I visualize the cavity.off file (as well as the cavity.npz file), the cavity looks wrong. This occurs when I use Psi4 version 1.9.1, which I presume uses a later version of PCMSolver.
Here's what I see when I open the cavity.off file with GeomView:
I installed an older version of Psi4, version 1.7, which uses an older version of PCMSolver. The cavity.off file looks correct when visualized:
GeomView is only rendering what the .off files contain. It's apparent that the .off file generated from version 1.9.1 is strange. For example, here is the first face, spanning several angstroms.
0.00000000000000 5.38493480770725 -0.24495631562047 1.0000 1.0000 1.0000 0.7500 # Tess 1
7.48623343416459 6.51468476188352 -0.22384001935377 1.0000 1.0000 1.0000 0.7500 # Tess 1
6.65809546936335 0.02562006853899 3.07844533351791 1.0000 1.0000 1.0000 0.7500 # Tess 1
The input to Psi4 that I used to calculate this was as follows:
memory 15 GB
set_num_threads(16)
molecule {
0 1
N -1.5465417693 -1.2796398575 0.0107903739
C -0.8413899636 -2.3906314381 -0.0120482313
N 0.5052752739 -2.5213778186 -0.0345451095
C 1.2094891640 -1.4085182175 -0.0332303580
N 0.5765247879 -0.2053080169 -0.0109009439
C -0.8176536479 -0.1485416994 0.0112079948
C -1.1272753970 1.2054086149 0.0297830830
C 0.1198679222 1.8638606215 0.0171572095
N 1.1608971994 1.0102822254 -0.0076621882
C 0.3861857826 3.3247286526 0.0283747103
C -2.4998302207 1.7721058115 0.0565833777
N 2.5464535183 -1.3943103040 -0.0510913442
H -1.3929333841 -3.3217921764 -0.0132603618
H -0.5365584640 3.8957889465 0.0444441706
H 0.9729286912 3.6055639415 0.9014309682
H 0.9531467069 3.6226355491 -0.8520120554
H -2.4837924379 2.8584384720 0.0694927000
H -3.0756048325 1.4590404534 -0.8135420402
H -3.0501019187 1.4378645900 0.9352621355
H 3.0306629236 -0.5155845127 -0.0588247822
H 3.0415632768 -2.2638329572 -0.0779693955
}
set {
basis def2-SVP
scf_type df
pcm true
}
pcm = {
Units = Angstrom
Medium {
SolverType = CPCM
correction = 0.5
Solvent = Water
}
Cavity {
RadiiSet = UFF
Type = GePol
Scaling = True
Area = 0.3
Mode = Implicit
}
}
set print 3
energy('BP86')
4-26 edited to add: changing units to Angstrom means area 0.3 is in angstroms^2. See followup comment.
When I look at the output of psi4 for both versions, the reported energetics are still the same
=> Energetics <=
Nuclear Repulsion Energy = 696.3357089573493113
One-Electron Energy = -2119.6263820573644807
Two-Electron Energy = 953.7017744256992273
DFT Exchange-Correlation Energy = -75.9570151273202185
Empirical Dispersion Energy = 0.0000000000000000
VV10 Nonlocal Energy = 0.0000000000000000
PCM Polarization Energy = -0.0074516131966917
Total Energy = -545.5533654148330243
The cavity generated by Psi4 version 1.7 has 1262 tessera, while the cavity from Psi4 version 1.9.1 has 1252 tessera.
How this affects me is that Psi4 using PCMSolver seems to fail for many organic molecules that I am testing with the PCMSolver fatal error. S matrix is not positive-definite!
error, as described in #206. In those cases, the cavity also looks incorrect. I took a molecule that failed with this error and found that the calculation successfully completes when I use Psi4 1.7.
Note that Psi4 1.9.1 does generate cavities that look correct as well, particular for smaller, simpler molecules that I've tested.
Your Environment
- Version used: Psi4 1.9.1 which uses PCMSolver 1.2.3?
- Environment name and version (e.g. PHP 5.4 on nginx 1.9.1): installed both versions using conda
- For psi4 1.7
conda create -c psi4 -c conda-forge -n psi4_1_7 python psi4=1.7.0 pydantic=1.10 dftd3 dftd4 gcp
- For psi4 1.9.1
conda create -c conda-forge -n psi4_1_9 python psi4 dftd3-python dftd4-python gcp-correction
- Operating System and version: Linux x86 64