Problem with graphene example?

Elk Users
2012-05-07
2013-06-11
  • Hi all,

    I am starting to use elk, at this point, to validate a pseudopotential for Carbon and Hydrogen using the B88-opt energy functional, thanks to the interface with libxc. So, three questions:

    1) usually the vdW functionals, in pseudopotential codes, are implemented using an efficient algorithm by Jose Soler. I see no mention of that in the elk homepage; does it work properly with the van der Waals functionals?

    2) I am running the example for graphene, but I keep getting the "linearisation energy not found" warning:

    Warning(linengy): linearisation energy not found
    for species    1
    atom    1
    local-orbital    3
    order    3
    and s.c. loop    1

    Should I be worried?

    3) I found a strange thing by the end of the scf loop;

    Warning(linengy): linearisation energy not found
    for species    1
    atom    1
    local-orbital    3
    order    3
    and s.c. loop   38

    Info(main): current task :     10

    Warning(linengy): linearisation energy not found
    for species    1
    atom    1
    local-orbital    3
    order    3
    and s.c. loop    0

    So, after scf loop 38, elk says that the following loop number is 0. Is it supposed to be this way?

    Cheers.

    Marcos

     
  • By the way, I have already tried to set autolinengy to true, and lower deband - a lot. Nothing worked, I still get the warnings on not finding the linearisation energy…

     
  • Markus
    Markus
    2012-05-08

    Hi Marcos!

    1) Elk does not support vdW.

    2) I can reproduce the problem with graphene with elk 1.4.18. It seems that the very small muffin-tin radius causes the problem with the third local orbital. You can switch the basis set to APW+lo, which gives essentially the same results in the case of graphene. The additional local orbital at the 2s level is not really necessary. Try this species file:

    'C'                                        : spsymb
     'carbon'                                   : spname
      -6.00000                                  : spzn
       21894.16672                              : spmass
      0.816497E-06    1.4500   32.2046   300    : sprmin, rmt, sprmax, nrmt
       4                                        : spnst
       1   0   1   2.00000    T                 : spn, spl, spk, spocc, spcore
       2   0   1   2.00000    F
       2   1   1   1.00000    F
       2   1   2   1.00000    F
       1                                        : apword
      0.1500   0  F                             : apwe0, apwdm, apwve
       0                                        : nlx
       2                                        : nlorb
       0   2                                    : lorbl, lorbord
      0.1500   0  F                             : lorbe0, lorbdm, lorbve
      0.1500   1  F
       1   2                                    : lorbl, lorbord
      0.1500   0  F                             : lorbe0, lorbdm, lorbve
      0.1500   1  F
    

    3) The code says it's going to do task 10, then you get a message from task 0. Looks like a messed up MPI compilation. Can you check this?

    Regards,
    Markus

     
  • Hi Markus,

    Thanks a lot for the reply. I managed to overcome the problem in the meantime, by setting autolinengy to true and deband to 0.01 - I must have done something wrong before, when I posted that this would not prevent elk from giving me an error.  However, I will try your solution.

    In the meantime, I will also use H, adsorbed on top of graphene - is there any similar problem (and a similar solution) for H?

    The problem was not mpi compilation, since I only compiled it serialy with openmp support. It was I who messed up here: initially it gives a message from task 0 and then from task 10, as expected. It was my first day using elk, and I got confused by getting a message from the task, thinking it referred to the scf step instead.  I'm very sorry for the confusion. Once more, thanks for the help!

    Cheers,

    Marcos

     
  • Markus
    Markus
    2012-05-08

    Hi Marcos,

    check the file LINENGY.OUT. You will find that the linearization energy for the third local orbital is at about 1 Ha, which is totally wrong (it should be at about -0.7 Ha, at the 2s energy). You allow the code to move it up there by increasing deband to 0.01. Usually, you do not want to do this. In your case, it does not affect the results, because you do not need the LO at all - so removing it is probably the better way.

    autolinengy and the linearization energy warning are two different things. autolinengy allows the code to move the APW and second order local orbitals linearization energies. The linearization energy, that the code complains about, is just the one for the third radial function of the third order local orbital! Have a look at LINENGY.OUT to see what I mean.

    You might want to read PRB 64, 195134 (2001) to understand what all that stuff means.

    Best regards,
    Markus

     
  • Hi Markus,

    Thanks a lot for the advice. I will re-do all the calculations using the information you gave me. I will read the article of Madsen et al you indicate. I guess I got a bit spoiled by Wien2K, which does all rather automatically… but is more painful to run than elk, which was really straightforward with openmp.

    Cheers,

    Marcos

     
  • By the way, checking LINENGY, I see:

    l.o. =  1, l =  0, order =  1 :   0.6270783373
      l.o. =  1, l =  0, order =  2 :   0.6270783373
      l.o. =  2, l =  1, order =  1 :   0.6270783373
      l.o. =  2, l =  1, order =  2 :   0.6270783373
      l.o. =  3, l =  0, order =  1 :   0.6270783373
      l.o. =  3, l =  0, order =  2 :   0.6270783373
      l.o. =  3, l =  0, order =  3 :    1.499729703
    

    How does "order" relate to the quantities in the article? Sorry for asking those super-basic questions, but I am pretty much alone in this issue here.

    Thanks in advance,

    Marcos

     
  • Markus
    Markus
    2012-05-09

    Hi Marcos,

    the species files (including the local orbitals' order) are explained in the manual on pages 14 and 15. In simple words:

    The order 2 local orbitals are the "lo"s, the order 3 local orbitals are the "LO"s in Madsen's paper (and also in Wien2k notation).

    The LOs have three radial functions and two energy parameters - one approximately at the center of the valence bands (which is typically at about 0.15 Ha in a solid), and the other one at the energy of, e.g., a semicore state.

    Markus