A document about the INPUT of davidson is added.

git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10317 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
ustcscgyer 2013-06-13 11:50:29 +00:00
parent 48a47195cc
commit 8d2653971a
2 changed files with 81 additions and 0 deletions

View File

@ -0,0 +1,80 @@
# Descriptions for the input of turbo_davidson.x
# Created by Xiaochaun Ge (Jun. 2013)
=====================================
num_eign Default: 1
num_init Default: 2
Here you indicate the number of eigenstates that you would like to calculate at once.
=====================================
num_basis_max Default: 20
The maximum number of basis that you allow for the sub basis set. One should notice
that the memory requirement of davidson algorithm is mainly determined by this variable.
An estimation of the memory is reported at the first of the run.
=====================================
residue_conv_thr Default: 1.0E-4
The convergence level of the residue.
=====================================
precondition Default: .true.
If or not use the precondition. At this moment, one sees no reason not to use precondition.
=====================================
single_pole Default: .false.
A slightly better way to set the initial trial vectors. But the improvement is really small
and this flag at this moment is comparable with only LDA/PBE + NC PPs. So don't use it unless
it's really necessary.
=====================================
reference Default: 0 (Unit: Ry)
One of the highlight variable. Use it to constrain the algorithm converge to these eigenstates
having energy close to the reference. So one can calculate less eigenstates at once and do multiple
calculations with different reference
=====================================
broadening=0.005
start=0.0d0
finish=1.0d0
step=0.01d0
Flags for ploting the spectrum. Meanings of them shoulbd be self-evident. All units are "Ry"
=====================================
if_random_init=.false.
Using preconditional random vectors as the trail vectors. Used only in special cases that you
do hate, and I don't see why, to calculate a few virtual states(Even the precision doesn't need
to be high). Using bad trial vectors should cause only slow convergence, and don't affect the final
resulta.
=====================================
p_nbnd_occ=10
p_nbnd_virt=10
They are useful when there're too many occ/virt states pairs, and you care of only a few of them.
p_nbnd_occ and p_nbnd_virt indicate how many occ and virt states you would like to look at.
In priciple they affect only the interpretation of the eigenstates, but no influence to their energy
and the spectrum.
Make sure that min(p_nbnd_occ,nbnd_occ)*min(p_nbnd_virt,nbnd_virt) is lager than the number of initial
vectors, so you won't end up using rendom trail vectors which will slow down your convergence.
=====================================
poor_of_ram=.false.
When this set to true, you double the memory used for USPP calculation, but you get rid of applying many
times of s_psi and cal_bec calculation, which takes a lot of time (sometimes more than half of the whole
calculation) when the size of sub space is more than 100.

View File

@ -17,5 +17,6 @@ CH4-PR: Tests charge response algorithm
SiH4: Tests Ultrasoft PP implementation
CH4-BOND: This is an example that shows visual analysis of a softened bond in a set of degenerate bonds.
tools: Tools to compare data.
CH4-DAV: Example of using davidson algorithm