SAPT level suitable for halogenated molecules

Dear colleagues,

In the work by Parker et al. (TM Parker, LA Burns, RM Parrish, AG Ryno, CD Sherril, J. Chem. Phys… 2014, 140(9), 094106. DOI: 10.1063/1.4867135), some levels of SAPT are discussed (recommended as the gold, silver, and bronze standard of SAPT: SAPT2+(3)δMP2/aug-cc-pVTZ, SAPT2+/aug-cc-pVDZ, and sSAPT0/jun-ccpVDZ).

Could someone with experience suggest me some SAPT levels to calculate the interaction energy of dimer halogenated molecules derived from methane (e.g., CH3F, CH2F2, CF4, CFCl3…etc)?

Calculations with sSAPT0/jun-ccpVDZ (bronze standard) were successful (did not crash). I tried to perform calculations with SAPT2+/aug-cc-pVDZ (silver standard) but they always crashed because temporary files generated were too large.

I would like to know if there is any better level than sSAPT0/jun-ccpVDZ for calculating the interaction energy of halogenated dimers derived from methane.

Any suggestions or references are welcome.


Hi Emerson,
I’ve seen a paper, that I believe may answer your question. It has some SAPT calculations, so hopefully it’s useful. I’ve not read it yet, though:

It’s strange that your calculations with higher order SAPT crash - they must be for huge systems. Feel free to share the input, just in case it’s a bug. Perhaps a good DFT (such as wB97M-V) could get you decent interaction energies?

Hope that helps,

Ah, good, someone else has chimed in on the halogen issue — I’ve got no new info there. I would have suggested running a higher-order sapt job at double-zeta and triples-zeta on a representative system and checking at what sapt level it converges. Which is what you tried to do :slight_smile:

I’m concerned that your >sapt0 job isn’t running. I hacked up the sapt4 test case to add F and Cl atoms (below), and sapt2+ ran in 15 min (psi4 -n6). That’s on a reasonably beefy computer, but the 10 heavy atom systems you describe don’t sound extraordinary for a high-level sapt job. Make sure you give it a good amount of memory and threads, and feel free to post back the specific error and input file.

memory 20gb

molecule formamide_dimer {
     0 1
     C  -2.018649   0.052883   0.000000
     O  -1.452200   1.143634   0.000000
     N  -1.407770  -1.142484   0.000000
     Cl  -1.964596  -1.977036   0.000000
     Cl  -0.387244  -1.207782   0.000000
     Cl  -3.117061  -0.013701   0.000000
     0 1
     C   2.018649  -0.052883   0.000000
     O   1.452200  -1.143634   0.000000
     N   1.407770   1.142484   0.000000
     F   1.964596   1.977036   0.000000
     F   0.387244   1.207782   0.000000
     F   3.117061   0.013701   0.000000
     units angstrom

set {
    basis         aug-cc-pvdz
    df_basis_sapt aug-cc-pvdz-ri
    df_basis_scf  aug-cc-pvdz-jkfit
    guess         sad
    scf_type      df
    puream        true
    print         1
    basis_guess   true

set sapt {
    freeze_core   true


Thanks for your reply @tetrahydrofuran and @loriab, i appreciate that.

Maybe I somehow ran the SAPT calculation wrong.

Attached I send 2 example outputs for SAPT calculations for the 2 x CF4 molecules:
cf4_1_1.dat (41.6 KB)
cf4_1_2.dat (40.2 KB)

  • The cf4_1_1.out file would be the output of the sSAPT0/jun-ccpVDZ calculation for 2 x CF4.
  • The cf4_1_2.out file would be the output of the SAPT2+/aug-cc-pVDZ calculation for the 2 x CF4.

Both 2 SAPT cases (sSAPT0/jun-ccpVDZ and SAPT2+/aug-cc-pVDZ) were run on the same cluster with the following command: psi4 -i cf4_1_X.dat -o cf4_1_X.out -n 1.

SAPT2+/aug-cc-pVDZ calculations for CF4 gave problem related to lack of memory. Maybe I built my input incorrectly.

If anyone can kindly tell me what i did wrong or some probable solution, i would be grateful.

Thanks in advance.

Best Regards,

@loriab Maybe it’s a memory issue. psi4 starts by dedicating 500.0 MiB to 1 thread according to my script
cf4_1_2.dat (461 Bytes)
and result
cf4_1_2.dat (40.2 KB)

Do you have any suggestions to fix my script?

Thanks in advance.

I completely missed that it’s substituted methane dimers - that should run on almost anything made in the last decade!

The memory line on the top of Lori’s reply is the key: memory 20gb

Generally you want to give Psi4 slightly less memory than either your physical memory or whatever you ask for in the job script, as there is an overhead. I usually give Psi4 90% of the memory that I request from the queueing system - so if you are running it on your local PC with 16 GB, give the job slightly less than that so your other apps won’t start crashing.

1 Like

Thanks you all @tetrahydrofuran and @loriab for the comments!

I ended up increasing the memory considerably and the calculations ran normally.

It was a lack of experience of mine.

Best regards,

1 Like