Insufficient memory for semidirect MP2


I tried to run SP calculation(aug-cc-pVTZ, MP2, RCA_DIIS, PCM).
And there are 309 shells and 943 basis functions.
I give 32 core and MEM_TOTAL = 160000, AO2MO_DISK = 8000.

The SCF calculation was completed without any problems, but the next step did not proceed and the following error was guided.

In TrnAlg: available memory = 20000000
needed mmory = 30377976

Q-Chem fatal error occurred in module 0, line 283:

Insufficient memory for semidirect MP2

I looked at the manual, but there was no explanation for “In TrnAlg”, and changing the MEM_TOTAL and AO2MO_DISK did not change the error message.

And what’s really confusing is what “mmory” is.

Please help me.

This error indicates that there is not enough memory for the MP2 code to store half-transformed and 3/4-transformed quantities. The keyword that affect this memory setting is MEM_STATIC, which is limited to about 2GWords putting a hard limit on the problem size.

We typically recommend using RI-MP2 instead of full MP2, which is faster and scales better in parallel. Please see these threads for more information:

1 Like

I also strongly recommend RIMP2 for the practical reasons stated above, and because it is barely an approximation at all for energy differences (i.e., relative energies). That said, if for some reason you want/need to run the original (canonical) MP2 code on this system, your problem is the small value of AO2MO_DISK, which then leads to a high memory requirement. Leave MEM_STATIC as large as possible but set AO2MO_DISK to be more or less all the scratch space that you have on your node.

Thank you for your guidance. :slight_smile:

Thanks for explaining this for me. :slight_smile: