VASP Memory Estimate

Is there any way to get a memory estimate for VASP calculations either directly or indirectly (based on some example calculation)? For example, I would like to be able to predict based on my settings how much memory is needed within about a GB per core.

This is difficult to calculate in detail, but the largest memory objects are probably the Kohn-Sham wavefunctions and the pseudopotential projectors (if you're representing them in reciprocal-space). In order to calculate their memory requirements, you need to know the number of:

• Plane-waves, $$N_p$$

• Bands, $$N_b$$ (all the bands you're calculating, i.e. including conduction bands)

• k-points, $$N_k$$

• Spins, $$N_s$$

• Total pseudopotential projectors, $$N_{proj}$$

The wavefunction coefficients will be stored as double-precision complex values, meaning 16 bytes each. The total storage for the wavefunction is thus,

RAM for $$\psi = 16\times N_p\times N_b\times N_k\times N_s$$ bytes;

RAM for projectors $$= 16\times N_p\times N_{proj}\times N_k\times$$ bytes.

(Assuming that the pseudopotentials are not spin-dependent.)

This is the total storage for each object; as a rough guide, you could divide them by the number of processes to get the memory requirements per process.

• I was thinking something like this should be correct, I was really hoping something like CASTEP's dry run was available in VASP but I can't seem to find it either because I don't know where to look or its not available. Dec 13 '21 at 16:15