next up previous
Next: Application Notes Up: User Guide Previous: The CASTEP Code

The CETEP Code

  The CETEP-based code can provide spin-dependent population analysis as well as spin-independent analysis. When spin-dependent analysis is selected, separate spilling parameter, orbital population and overlap population results are given for each spin. The net spin and charge on each atom is given at the end of the cetep_mulliken output.

The parameter file, param.file, for the CETEP version of the codes has the format shown in Figure 2. An example is given in the CETEP directory of the distribution.


  
Figure 2: The parameter file for the CETEP version of population analysis code.
\begin{figure}
\begin{verbatim}
NRPLWV. Number of plane wave components (As in m...
 ... occupied
No of spin down bands occupied (if required)\end{verbatim}\end{figure}

The atom positions must be specified in the file fort.15, the occupancies as generated by CETEP must be in the file oout and the wavefunctions in wout.

Each band in the CETEP output file must be in a contiguous block. Some versions of CETEP output the data from each node in contiguous blocks, thus breaking the bands into node-by-node chunks. Look at the subroutine PUTWFN in the source file wfn.f. If the subroutine is as shown in Figure 3 then replace the subroutine with that given in Figure 4. If you make this change, you will probably want to change the subroutine GETWFN in a corresponding fashion to that shown in Figure 5.


  
Figure 3: The incorrect code for PUTWFN. If this appears in wfn.f it should be changed to the code shown in Figure 4.
\begin{figure}
{\small
\begin{verbatim}
SUBROUTINE PUTWFN(IUNIT,NRPLWV,NBANDS,CP...
 ...ONODE, CONFIRM, 1)
 20 CONTINUE
 END IF

 RETURN
 END\end{verbatim}}\end{figure}


  
Figure 4: The correct code for PUTWFN. If the code shown in Figure 3 appears in wfn.f it should be changed to this code.
\begin{figure}
{\small
\begin{verbatim}
SUBROUTINE PUTWFN(IUNIT,NRPLWV,NBANDS,CP...
 ...ONODE, CONFIRM, 1)
 20 CONTINUE
 END IF

 RETURN
 END\end{verbatim}}\end{figure}


  
Figure 5: The correct code for GETWFN. If you change PUTWFN to the code shown in Figure 4 you should change GETWFN to the code shown in this figure.
\begin{figure}
{\small
\begin{verbatim}
SUBROUTINE GETWFN(IUNIT,NRPLWV,NBANDS,CP...
 ...PTW(1,NB), NRPLWV)
 20 CONTINUE
 END IF

 RETURN
 END\end{verbatim}}\end{figure}


next up previous
Next: Application Notes Up: User Guide Previous: The CASTEP Code
Matthew Segall
7/28/1998