Header Ads Widget

Ab initio Calculations Using Elk Code

Last Posts

10/recent/ticker-posts

Extracting radial functions

 

Alice Shipley

Alice Shipley - 2019-08-06

Hi all,

I'd like to extract radial wavefunctions from Elk to perform some scattering calculations. I tried writing the core wavefunction using task 65, but I notice this gives core wavefunctions depending on quantum numbers n, l and k, whereas the radial function I am looking for - written in the literature as u_l(r) - only has l and r dependence. Is there a way to extract this?

Best wishes,
Alice

 

  • J. K. Dewhurst

    J. K. Dewhurst - 2019-08-07

    Hi Alice,

    You may have hack the code for this.

    There are both APW and local-lorbital radial funtions stored in the global arrays apwfr and lofr, respectively. These are generated by a call to genapwlofr.

    The form of the local-orbital array is: lofr(ir,i,ilo,ias), where ir is the radial mesh number; i=1 is the radial function itself, i=2 is the radial function operated on by the Schrödinger Hamiltonian; ilo is the local-orbital number and ias is the atom index.

    Also, if it's of any help, I wrote another code some years ago for calculating atomic scattering cross-sections using the method of partial waves. You can find it here: http://edico.sourceforge.net/

    I hope this helps.

    Regards,
    Kay.

     

  • Alice Shipley

    Alice Shipley - 2019-08-09

    Hi Kay,

    That's really helpful - thank you for pointing me in the right direction. I've added a bit to the code to extract ir and lofr(ir,1,ilo,ias) and write different files for all the values of ilo and ias.

    I've noticed that ilo takes values from 1 to nlorb, where nlorb is defined in the species file and each value of ilo consists of an lorbl, lorbord. This means that I don't up with one radial function for each angular momentum value, l. I want to calculate logarithmic derivatives and hence phase shifts, using, e.g. Eq. 6.4.53 of Modern Quantum Mechanics by J.J Sakurai 2nd Ed, where the radial functions are dependent only on l and r. Is there a way of modifying the species file to achieve this? Or combining the lorbord values within each l value?

    Secondly, if I'm plotting the radial functions as ir vs lofr(ir,1,ilo,ias) should the x-axis be rescaled by R_MT/nrmt, so that the function is only defined up to the muffin tin radius?

    Thanks again,
    Alice

     

J. K. Dewhurst

J. K. Dewhurst - 2019-08-12

Hi Alice,

The radial mesh is logarithmic not uniform. It is stored in the global array 'rsp'.

I urge you to look at EDiCo (http://edico.sourceforge.net/). In this code the functions depend on only l and r, and the phase shifts are calculated in the subroutine 'genspecies'.

EDiCo is built for calculating the scattering cross-sections of atoms and its routines are designed to handle much higher angular momenta than elk -- up to about l=1000.

Regards,
Kay.

 

https://sourceforge.net/p/elk/discussion/897820/thread/7e0f49b4a0/ 

Post a Comment

0 Comments