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
-
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.
-
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
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/
0 Comments