In orca it is possible to use NumFreq and AnFreq to get the numerical and analytical frequencies, but the analytical frequencies take a large amount of memory and computing time compared to numerical frequencies at large system sizes.

Since NumFreq must perform 6N (N=# of atoms) displacements, is there any way to parallelize this? Instead of using 48 cores to do 1 displacement, I would like to use 8 cores to 6 displacements all at once and combine the results.


1 Answer 1


This is exactly what ORCA actually does. For example if you have 48 cores, then ORCA does 48 displacements at once, each using only a single core. This is trivial to implement and is one of the major advantages of a numerical frequency calculation as compared to analytical ones, so basically every program that supports numerical frequencies will support this feature. (EDIT: according to the OP, this feature appears to be less universally supported in periodic codes than in molecular codes.)

By the way, at least for DFT, analytical frequencies should almost always be faster than numerical frequencies (see the benchmark results in this paper). If you ever encountered the opposite case, it's likely that your coupled-perturbed SCF calculation encountered some convergence difficulties, or that you specified a too small %maxcore, or that the calculation is so memory-intensive that it starts to use your virtual memory.

  • $\begingroup$ Coming from periodic DFT, I can say that most/all of the codes I have used so far do not inherently support this parallelization. Good to know that codes like ORCA should support this out of the box though. $\endgroup$ Nov 20, 2021 at 17:46
  • 1
    $\begingroup$ @TristanMaxson Is it? My knowledge of periodic codes is very limited, but I vaguely remember that DMol3 supports this. Maybe periodic codes (especially plane-wave codes) consume more memory than molecular codes, so that the physical memory of a typical workstation is insufficient for multi-process runs? $\endgroup$
    – wzkchem5
    Nov 20, 2021 at 18:03
  • $\begingroup$ As far as I know VASP / Quantum Espresso / CASTEP do not support this. GPAW could easily, but I don't think this is too common. Maybe I am wrong though, some codes like DMol3 may support it and all codes ideally should. $\endgroup$ Nov 21, 2021 at 20:53
  • $\begingroup$ @TristanMaxson Anyway thanks for this input - I edited my post to reflect this $\endgroup$
    – wzkchem5
    Nov 22, 2021 at 8:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .