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

Strange MBIS charges for molecules with Iodine when using DDX and def2-TZVPPD basis #3135

Open
jthorton opened this issue Feb 19, 2024 · 4 comments

Comments

@jthorton
Copy link

For the below molecule I get very strange MBIS charges with the combination of DDX implicit solvent and the def2-TZVPPD basis set compared to using def2-TZVP. I also only see this happen for molecules containing Iodine.

from qcelemental.models.common_models import Model
from qcelemental.models import AtomicInput, Molecule
import qcengine
import numpy

qc_mol = Molecule.from_data(
    """
    0 1
    C                    -2.770566610000     0.138041700000     0.070178320000
    C                    -1.574766790000    -2.182402580000     0.041630990000
    C                     1.033304570000    -2.323434390000    -0.024422900000
    C                     2.435037490000    -0.121299970000    -0.061679550000
    C                     1.259017560000     2.209348470000    -0.033641890000
    C                    -1.350150920000     2.328080550000     0.032456990000
    I                     6.389923580000    -0.318582790000    -0.161855610000
    H                    -4.794725900000     0.238941070000     0.121450260000
    H                    -2.664958600000    -3.891956620000     0.070604800000
    H                     1.951364020000    -4.127647160000    -0.046322210000
    H                     2.351710440000     3.913369620000    -0.062674850000
    H                    -2.265188840000     4.137542080000     0.054275640000
    units bohr
    no_com
    no_reorient
    """
)
# create the psi4 job
spec = Model(method="PBE0", basis="def2-TZVPPD")
task = AtomicInput(
    molecule=qc_mol,
    driver="properties",
    keywords={
        "function_kwargs": {
            "properties": [
                # "dipole_polarizabilities",
                "mbis_charges",
                "quadrupole",
                "mulliken_charges",
                "dipole",
                "lowdin_charges",
                "wiberg_lowdin_indices",
                "mayer_indices",
            ]
        },
        "ddx": True,
        "ddx_model": "pcm",
        "ddx_solvent_epsilon": 4.0,
        "ddx_solvent": "water",
    },
    model=spec,
)
result = qcengine.compute(
    input_data=task, raise_error=True, task_config={"ncores": 4}, program="psi4"
)
print(result.extras["qcvars"]["MBIS CHARGES"])

def2-TZVPPD

[[ 2.5896714 ]
[ 0.9083468 ]
[ 0.96984483]
[ 1.82049044]
[ 1.84275851]
[ 1.27477756]
[-0.33630084]
[ 0.9999906 ]
[-0.6920741 ]
[-7.79483929]
[-2.0360328 ]
[ 0.45360942]]

def2-TZVP

[[-0.14122935]
[-0.13601096]
[-0.12667168]
[-0.07069663]
[-0.12664356]
[-0.13593726]
[-0.05171043]
[ 0.15172393]
[ 0.15317262]
[ 0.16536587]
[ 0.16536188]
[ 0.15326172]]

conda output

# packages in environment at /Users/joshua/mambaforge/envs/qcsubmit-test-psi4:
#
# Name                    Version                   Build  Channel
psi4                      1.9             py311h5db8dd7_1    conda-forge
pyddx                     0.6.0           py311h6a48a4f_1    conda-forge
@JGrantHill
Copy link

Does the overall energy look sensible when you've got the additional diffuse functions?

I occasionally find that def2-TZVPD converges to some odd state with strange properties (energy, dipole etc). I'd put it down to some form of numerical difficulties as I could usually use a mixed basis of def2-TZVP on some atoms and def2-TZVPD on others and get logical values (identity of which atoms to change was system dependent, but often H is the main culprit).

@susilehtola
Copy link
Member

Which version are you using? IIRC older versions have had some issues with ECPs.

@bismuthadams1
Copy link

Currently we're using
pyddx 0.6.0
and
psi4 1.8.1

To add to this issue further, a lot of my tests with def2-TZVPPD either a) fail to converge entirely or b) hang indefinitely.

@jthorton
Copy link
Author

To add to this issue further, a lot of my tests with def2-TZVPPD either a) fail to converge entirely or b) hang indefinitely.

I am also seeing this with psi4 1.9 as well.

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

No branches or pull requests

4 participants