[Pw_forum] modified explicit exchange potential

Helen helen at fh.huji.ac.il
Mon Jul 16 11:44:35 CEST 2007


Hi,

 I sent a previous message which wasn't answered, but which I've since been 
working on, so I think I have found some answers myself. I'd really 
appreciate Dr. de Gironcoli's input as I'm sure he is a lot more 
knowledgable than I am.

1. I asked a question about band-structure calculations when using exx.f90, 
as in the examples it states that only k-points used in the original scf 
calculation can be used to calculate band structure. I think a way to get 
round this would be to in the scf input file, first list the k-points with 
normal weights for scf calculation, followed by a list of k-points for band 
structure calculation with very small weights. This way the values at these 
points are calculated but they won't effect any BZ integrations. (For direct 
band gaps just use Monkhorst-pack k-point generator which includes k=(0, 0, 
0)).

2. The error involved in discarding the q=0 term
goes as 1/(NQS*Omega). This fact is utilized in removing the error. I think 
this will still be valid if the e- interaction is not U(r)=1/r but
U(r)=efr(gam r)/r ? [Fourier Transform=exp(-q^2/4*gam^2)*4Pi/q^2, so
divergence as q->0 is same as U(r)=1/r, so I think they should be the same)

3. I think that in exx.f90 all I need to do to account for a descreened 
potential is to change fac(ig):
                 fac(ig)=e2*fpi*dexp(-qq/(4d0*gam))/(tpiba2*qq + yukawa ) * 
grid_factor
I did this in the routines exxenergy2 and in vexx. I haven't touched 
exx_divergence, do I need to? Are there any other places which need to be 
changed?

Thanks so much for your help,

Dr.Helen Eisenberg

Post-doctoral researcher,
The Fritz Haber Center for Molecular Dynamics,
The Hebrew University of Jerusalem,
Jerusalem 91904 Israel.








----- Original Message ----- 
Hi,

I have a few questions regarding exx:


1. I was reading in the examples the README file for EXX_example, that when
calculating the band structure you have to use the same k-points as are
contained in the scf calculation. Currently I want to calculate the band
structure in Si along the 100 axis, similar to example01 (though using the
different functional for exx which I need to implement). Can I just use the
standard scf input k-points and tag the k-points I need at the end
(appropriately weighted) in the scf input file? If so what weighting will
they need? e.g

K_POINTS
  20
   0.1250000  0.1250000  0.1250000   1.00
   0.1250000  0.1250000  0.3750000   3.00
   0.1250000  0.1250000  0.6250000   3.00
   0.1250000  0.1250000  0.8750000   3.00
   0.1250000  0.3750000  0.3750000   3.00
   0.1250000  0.3750000  0.6250000   6.00
   0.1250000  0.3750000  0.8750000   6.00
   0.1250000  0.6250000  0.6250000   3.00
   0.3750000  0.3750000  0.3750000   1.00
   0.0              0.0              0.0               1.0?
   0.0              0.0              0.1               1.0?
   0.0              0.0              0.2               1.0?
   0.0              0.0              0.3               1.0?
   0.0              0.0              0.4               1.0?
   0.0              0.0              0.5               1.0?
   0.0              0.0              0.6               1.0?
   0.0              0.0              0.7               1.0?
   0.0              0.0              0.8               1.0?
   0.0              0.0              0.9               1.0?
   0.0              0.0              1.0               1.0?

2. In README it states that the error involved in discarding the q=0 term
goes as 1/(NQS*Omega). This fact is utilized in removing the error. Will
this still be valid if the e- interaction is not U(r)=1/r but
U(r)=efr(gam r)/r ? [Fourier Transform=exp(-q^2/4*gam^2)*4Pi/q^2, so
divergence as q->0 is same as U(r)=1/r, so I think they should be the same)

3. Is there anywhere in exx.f90 where the interaction is defined and then
used throughout the code. i.e is there a specific place in the code where I
can change the interaction, or do I need to look through the whole code?

Thanks so much for your help,

Dr.Helen Eisenberg
Post-doctoral researcher,

The Fritz Haber Center for Molecular Dynamics,

The Hebrew University of Jerusalem,

Jerusalem 91904 Israel.




From: "degironc" <degironc at sissa.it>
To: <pw_forum at pwscf.org>
Sent: Monday, July 09, 2007 3:47 PM
Subject: Re: [Pw_forum] modified explicit exchange potential


> Helen wrote:
>> Thank you Paolo and Lorenzo to the replies to my previous e-mail. I think 
>> I didn't explain what I wanted to modify clearly enough. We modify the 
>> explicit exchange to include a descreened potential:
>> K_x[n]=-0.25 Int[ P[n](r,r')^2 * u(r-r') ] d3r d3r'
>> where P[n](r,r') is the density matrix of non-interacting particles and 
>> u(r-r') is the descreened interaction (normally the coulomb interaction 
>> u(r)=1/r, but in our case a different function).
>>  Which files do I need to change for the modified K_x and its potential? 
>> Is it exx.f90 in PW? These explicit exchanges are also used in 
>> Hartree-Fock and B3LYP calculations.
>>  Thank you for your help,
>> Helen Eisenberg
> Yes, the part of the code performing HF-like exchange is in exx.f90.
> You need to compile the code specifying -DEXX at compilation time... HF, 
> B3LYP and PBE0 are implemented (but no corresponding pseudopotential are 
> available so one need to use some PBE or LDA one and overwite the XC by 
> the input_dft flag in the system namelist) ...
> Beware: it is extreeeemely slow.
>
> As you wll see the EXX part requires some work to be made more useful... 
> if you are interested in working in that line let me know... :-) .. by the 
> way, full affiliation would be appreciated.
>
> Stefano de Gironcoli
> SISSA and DEMOCRITOS, Trieste, Italy
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum
> 




More information about the users mailing list