David Strubbe edited Sternheimer.tex  over 9 years ago

Commit id: 764e54e18c03ce03c993351fcd11d82e52379d9d

deletions | additions      

       

for large systems, it saves time overall since it increases the condition number of the matrix for the linear solver,  and thus reduces the number of solver iterations required to attain a given precision.  We also have implemented the Sternheimer formalism when non-integer occupations are used, as appropriate for metallic systems. In this case weighted projectors are added to both sides of the eq.~(\ref{eq:sternheimer}).\cite{DeGironcoli} Eq.~(\ref{eq:sternheimer})~\cite{DeGironcoli}.  We have generalized the equations to the dynamic case \cite{Strubbethesis}. The modified Sternheimer equation is \begin{multline}  \left\{\hat H - \epsilon_n\pm\omega +  \mathrm{i}\eta + \sum_n \alpha_m \left| \varphi_m \right> \left| \varphi_m \right> \right\}\delta\varphi_{n}(\vec r, \pm\omega) = \\  

\alpha_n = {\rm max} \left( \epsilon_{\rm F} - 3 \sigma - \epsilon_n, 0 \right) \\  \beta_{n,m} = \tilde{\theta}_{{\rm F},n} \tilde{\theta}_{n,m} + \tilde{\theta}_{{\rm F},m} \tilde{\theta}_{m,n} + \alpha_m \frac{\tilde{\theta}_{{\rm F},n} - \tilde{\theta}_{n,m}}{\epsilon_n - \epsilon_m \mp \omega} \tilde{\theta}_{m,n}  \end{equation}  $\sigma$ is the broadening energy and $\tilde{\theta}$ $\tilde{\theta}_{ij}$  is the smearing scheme's approximation to the Heaviside function. Apart from semiconducting smearing (\textit{i.e.} the original equation above, which corresponds to the zero temperature limit),  the code offers the standard Fermi-Dirac~\cite{Mermin_1965}, Methfessel-Paxton~\cite{Methfessel_1989}, spline~\cite{Holender_1995}, and cold~\cite{Marzari_1999} smearing schemes.  Additionally, we have developed a scheme for handling arbitrary fractional occupations, which do not have to be defined by a function of the energy eigenvalues \cite{Strubbethesis}.