Xavier Andrade edited RDMFT.tex  over 9 years ago

Commit id: e26231b455d027fe0361419fcd6d2babbb883bde

deletions | additions      

       

\end{eqnarray}  where $\theta$ is the unit-step Heavside function. We initialize the whole matrix as $F_{ji}=(\lambda_{ji}+\lambda_{ij}^{*})/2$. In every iteration we diagonalize $\mathbf{F}$ keeping the diagonal elements for the next iteration while changing the off-diagonal ones to (\ref{eqF}). At the solution all off-diagonal elements of this matrix vanish, hence, the matrices $\mathbf{F}$ and $\gamma$ can be brought simultaneously to a diagonal form. Thus, the $\{\phi_i\}$ which are the solutions of Eq. (\ref{eqlambda}) can be found by diagonalization of $\mathbf{F}$ in an iterative manner (see \cite{Piris} for details). The criterium to exit the natural orbital optimization is that the difference in the total energies calculated in two successive $\mathbf{F}$ diagonalizations is smaller than a threshhold. Overall convergence is achieved when the difference in the total energies in two successive occupation-number optimizations and the non-diagonal matrix elements of $\mathbf{F}$, see Eq.\ (\ref{eqF}), are close to zero.  As already mentioned above, one needs an initial guess for the natural orbitals both for the first step of occupation-number optimization but also for the optimization of the natural orbitals. A rather obvious choice would be the occupied and a few unoccupied orbitals resulting from a DFT or HF calculation. Unfortunatelly,as we found out, this option is not good mainly because  there are unbound states among the HF (or DFT) HF/DFT  unoccupied states which provide are  avery  bad starting point for the weakly occupied natural orbitals. This is not surprising as especially the higher unoccupied HF or DFT HF/DFT  orbitals see in practice no potential. In an implementation on When calculated in  a finite grid the correspondning these  orbitals look like those for are essentially the eigenstates of  a particle in a box. Using the exact-exchange approximation (EXX) in an optimized effective potential framework results in a larger number of bound states than HF or the local density approximation (LDA) due to the EXX functional being self-interaction free for both occupied and unoccupied orbitals and the resulting effective potential having the correct asymptotic behavior. orbitals.  Using HF or LDA orbitals to start a RDMFT calculation, the natural orbitals did do  not converge to any reasonable shape but even when starting from EXX one needs to further localize the unoccupied states. Thus, we have found that in order to improve the starting point for our calculation we can  multiply each unoccupied orbital with gaussian exponential by a set of Gaussian  functionswhich are  centered at the positions of the atoms. The atom. As the  unbound states need to be more localized than the bound ones thus we choose a larger exponent for them.All orbitals are orthogonalized after this multiplication process. The multiplications with gaussian exponentials has to be done such that one does not break energetic degeneracies, i.e.\ when two orbitals are energetically degenerate or nearly degenerate they should be localized using the same exponent.  In Fig. \ref{fig:rdmft_h2} we show the dissociation curve of H$_{2}$ obtained with RDMFT in Octopus and compare it with results obtained by the Gaussian basis set RDMFT code HIPPO~\cite{ML_Benchmark}. For the Octopus calculation we kept 13 natural orbitals with the smallest occupation number being of the order of $10^{-5}$ after the RDMFT calculation had converged. The HIPPO calculation was performed using $30$ natural orbitals. The RDMFT curve obtained with octopus looks similar to the one from HIPPO and other Gaussian implementations of RDMFT \cite{GPB2005} keeping the nice feature of not diverging strongly in the dissociation limit. However, for internuclear distances $R$ bigger than $1 a.u$ the real-space energy lies above the HIPPO one. We believe that the remaining difference can be removed by further improving the initial guess for the orbitals that we use in Octopus, because a trial calculation using HF orbitals from a Gaussian implementation showed a curve almost identical to the one from the HIPPO code (not shown in the figure). In the future, we plan to include support for open-shell systems and additional xc functionals.