[Pw_forum] interpolation of radial atomic wfc

Andrea Ferretti ferretti.andrea at unimore.it
Tue Jul 11 12:36:43 CEST 2006


On Mon, 10 Jul 2006, Hande Ustunel wrote:

> Dear PWSCF users,
> 
> I'm trying to find out how to interpolate a radial atomic wavefunction
> (obtained from the pseudopotential generator) onto the linear grid to
> integrate against the sc potential in a perturbation theory framewrok. I've
> looked through the code and searched the archive to find out if this
> function already exists but couldn't find anything. It would be of great
> help if I could get help on this. Does this (or anything similar) already
> exist or should I write one of my own? Also do you see any problems with
> this procedure in and of its own such as loss of accuracy.
> 

Hi All,
if I understand well, you need to compute some matrix elements of the form

< phi_i | v_sc | phi_j >

where the \phi orbitals are atomic pseudo wfcs...
being the case, I think atomic states are first interpoletad on a 
reciprocal space radial mesh  (  init_at_1.f90 ) and then

computed for a specified kpt (on the same PW grid of wfcs) using 
atomic_wfc.f90
you can take PP/projwfc.f90 (around line 315) as an "example of use"

after this procedure, you should have 
\phi(k+G)          for each G in the cutoff sphere of kpt k


next, I don't konw whether some piece of code computing what you need 
already exists (but I think it is likely)...
 
anyway, the routines in  h_psi.f90  apply the 
hamiltonian operator to some generic wfcs, therefore, moving from there I 
guess it is possible to obtain something that just applys the potential 
you need (ie v_sc) to the atomic states

  < k+G | phi_tmp > = < k+G | v_sc | phi_j >

then, (if I am not wrong), the matrix elements should read

 M_ij(k) = < phi_i(k) | v_sc | phi_j(k) >  
         = \sum_G  < phi_i(k) | k+G > < k+G | phi_tmp > 

(note the dependency on k)

hope it helps, 
cheers

Andrea



More information about the users mailing list