next up previous contents
Next: Proposed Eigensolver Up: Independent Band Optimisation (Work Previous: Introduction   Contents


Castep Eigensolver

When using ultrasoft pseudopotentials, the DFT Schrödinger-like equation becomes a generalised eigenvalue problem,


\begin{displaymath}
\hat{H}\psi_i = \epsilon_i \hat{S}\psi_i,
\end{displaymath} (6.1)

where $\hat{H}$ and $\hat{S}$ are $N_p\times N_p$ matrices in a plane-wave basis set of $N_p$ plane-waves, and we seek the lowest $N_b$ eigenstates (where $N_b«N_p$).

Direct construction and diagonalisation of the Hamiltonian $\hat{H}$ is impractical, but there are a variety of methods available to solve for the lowest eigenstate iteratively. Typically Castep employs a Krylov subspace method:

  1. The current (S-orthonormal) set of trial eigenstates is split into blocks, each block spanning a small subspace and update sequentially
  2. For each $\psi_i$ in the current block, $\hat{K}\left(\hat{H}\psi_i-\epsilon_i\hat{S}\psi_i\right)$ is computed (where $\hat{K}$ is a preconditioning matrix[2]) and added to the block subspace.
  3. The augmented subspace is S-orthogonalised to the existing approximate eigenstates
  4. The augmented subspace Hamiltonian is constructed and diagonalised, i.e. we solve


    \begin{displaymath}
H\psi_i^\prime = \epsilon_i^\prime S\psi_i^\prime,
\end{displaymath} (6.2)

    where
    $\displaystyle H_{ij}$ $\textstyle =$ $\displaystyle \ensuremath{\left \langle \left. \psi_i
\right. \right\vert \hat{H} \left\vert \left. \psi_j \right. \right \rangle}$  
    $\displaystyle S_{ij}$ $\textstyle =$ $\displaystyle \ensuremath{\left \langle \left. \psi_i
\right. \right\vert \hat{S} \left\vert \left. \psi_j \right. \right \rangle}$ (6.3)

  5. The new lowest eigenstates of the subspace are accepted as improved approximations to the true eigenstates, and the convergence criteria are checked. If they are not satisfied the algorithm repeats from step 2 with further augmentations of the subspace.

It is step 3 of this algorithm that we wish to avoid, but without it the eigenstates of each block would always tend to converge to those of the lowest block.


next up previous contents
Next: Proposed Eigensolver Up: Independent Band Optimisation (Work Previous: Introduction   Contents
Sarfraz A Nadeem 2008-09-01