In data 04 settembre 2009 alle ore 15:54:38, Manoj Srivastava <manoj at phys.ufl.edu> ha scritto: > The input is CMACH, I can specify various input variables for 'CMACH' to > get output, but what variable is returned as output, as there is only one > in this subroutine? Would you mind having a look at this- its in > espresso4.0.4/flib/dlamch.f
Dear Manoj, QE does not use simple LAPACK routines for most of its algebra. Hamiltonian diagonalization is computed using a custom implementation of the iterative Davidson (or conjugate-gradient) algorithm that only uses LAPACK to diagonalize a reduced hamiltonian during each iteration. Said that, you can control the accuracy to which eigenvalues are computed cannot be controlled directly by the user (without modifying the code) and is decreased automatically as the self-consistency approaches convergence. The formula used is the following: ethr = MIN( ethr, 0.1D0*dr2 / MAX( 1.D0, nelec ) ) where dr2 is the estimated scf accuracy. As you can see you can increase the accuracy (at convergence) of eigenvalues and eigenvectors by increasing the convergence threshold. In a more general frame, I think you could disclose some more information on your "symmetry problem"; personally I doubt it is caused by insufficient diagonalization accuracy. best regards -- Lorenzo Paulatto SISSA & DEMOCRITOS (Trieste) phone: +39 040 3787 511 skype: paulatz www: http://people.sissa.it/~paulatto/ *** save italian brains *** http://saveitalianbrains.wordpress.com/
