next up previous contents index
Next: debug Up: Pre-compiler flags overview, parallel Previous: NGXhalf, NGZhalf   Contents   Index

wNGXhalf, wNGZhalf

At the $ \Gamma $-point half the storage for the wavefunctions can be saved if one of these flags is used because

$\displaystyle C_q = C^*_{-q}$   and$\displaystyle \quad C_r = C^*_r

To use a real to complex FFT you must specify -DwNGXhalf for the serial version and -DwNGZhalf for the parallel version. If -DwNGXhalf is specified for the serial version the real to complex FFT is "simulated" by a complex to complex FFT.

Mind: If this flag is changed in the makefile, recompile all *.F files. This can be done using

touch *.F
make vasp
It is a good idea to compile the $ \Gamma $-point only version in a separate directory (for instance vasp_gamma). Copy all files from vasp to vasp_gamma, copy makefile.machine to makefile, and edit the makefile. Add the wNGXhalf (or wNGZhalf) flag to the cpp line.
CPP     = ... cpp ... -DNGXhalf -DwNGXhalf ...
Usually the $ \Gamma $-point only version is 2 times faster than the conventional version.

N.B. Requests for support are to be addressed to: