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

wNGXhalf, wNGZhalf

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

\begin{displaymath}
C_q = C^*_{-q} \quad \mbox{and} \quad C_r = C^*_r
\end{displaymath} (2)

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.



Georg Kresse
2009-04-23