Speeding up ADC(2) calculations

Hello,

I need to perform scans of excited states along some normal modes using ADC(2). Due to the volume of jobs I must process, I was wondering if there are any key points that I am missing to speed up the calculations, beyond assigning threads and memory. My current $rem section is:

METHOD ADC(2)
BASIS aug-cc-pVTZ
EE_SINGLETS 26
CC_SYMMETRY FALSE
ADC_DAVIDSON_MAXITER 500
BASIS_LIN_DEP_THRESH 4

MEM_TOTAL 64000
MEM_STATIC 2000

I could reduce the number of states to 20, but I would prefer to keep as many as possible. Additionally, I needed to set BASIS_LIN_DEP_THRESH because certain geometries cause the SCF to misbehave, ADC_DAVIDSON_MAXITER to ensure that my excited states are converged, and CC_SYMMETRY FALSE since scanning breaks the symmetry of the molecule.

Thank you in advance for any advice!

You can try RI with ADC,
https://manual.q-chem.com/latest/sec_ADC_RI.html

In addition, for your SCF linear dependency problem a better solution (as compared to BASIS_LIN_DEP_THRESH) is to increase THRESH, e.g., to 14. That is what is recommended for diffuse basis functions, here:
https://doi.org/10.1021/acs.jpca.4c00283

1 Like

Hi,

Yes, for a large basis set, it is probably a good idea to use RI.

Also, the memory is extremely important for ADC. If you don’t have enough memory, then the job will still run but it will spend most of its time in disk I/O. So, I would check with top whether the job actually runs on the appropriate number of cores.

1 Like