Coulomb cutoff

Deals with issues related to computation of optical spectra in reciprocal space: RPA, TDDFT, local field effects.

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano, Conor Hogan

yping
Posts: 22
Joined: Sat Apr 04, 2009 4:35 am

Re: Coulomb cutoff

Post by yping » Fri Apr 30, 2010 8:05 pm

Dear Daniele,

I actually find the warning in TDHF with coulomb cutoff:

" [WARNING]Exchange FFT size is too big. RL vectors reduced to 99 "


I don't understand why it reduces to 99. But in RIM, it didn't complain.

yuan ping
University of California, Davis

yping
Posts: 22
Joined: Sat Apr 04, 2009 4:35 am

Re: Coulomb cutoff

Post by yping » Fri Apr 30, 2010 9:04 pm

Dear Daniele,

I think some parameters in the input of TDHF with cutoff are not reading in the calculation.
First of all, the Bands of BSK is 200. It's the largest possible number from the ground state. In the BSE input I set 2 bands for BSK.
second, in the BSE output it shows:
[BSE] Kernel dimension : 7960
[BSE] Exchange components : 56443
They are also the largest possible numbers according to the ground state g vectors:
G-vectors [RL space]: 56443
Components [wavefunctions]: 7084
That's why it complains "[WARNING]Exchange FFT size is too big. RL vectors reduced to 99 "

But I promise in the input I have written
"BSENGexx= 111 RL # [BSK] Exchange components
BSENGBlk= 111 RL # [BSK] Screened interaction block size"

It could be the code I have is not a stable one or something else.
I am not super urgent to solve this problem. Maybe we just forget about it.

thanks for your patience and time.
yuan ping
University of California, Davis

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: Coulomb cutoff

Post by Daniele Varsano » Fri Apr 30, 2010 11:11 pm

Dear Yuan,
as I told you in the last post, I reproduced the error, i.e. different number of Gvec
with respect the input file, and BSS solver skipped. Tdhf it is a part of the code that
it is not extensively used, and it is possible that there is a bug there that have to be fixed.
I will look at it very soon, and I will let you know. It's good for us to have a feedback, in this way
the code can perform better and to be bugs free.

Thanks,

Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: Coulomb cutoff

Post by Daniele Varsano » Mon May 03, 2010 12:23 pm

Dear Yuan,
I had a look at yours input file and there is an error:
I indicated here below with a red arrow. As you can see there is an extra symbol "%" where it should no to be there.
That symbol is used as start and end of lists of number.

As a general practice, as far you don't have a complete confidence with the input files I suggest you always
to generate your input files with command line option, in order to avoid this kind of error:
In your case for instances:
yambo -o t -c -y d

and than you can edit your variables without changing the structure.

Now, for your calculations, you should restart from scratch, i.e. remove all yours ndb databases,
except the ns.db1, ns.wfs and eventually ns.kb_pp, because having generated them with that wrong
input file they could be corrupted.


Cheers,


Daniele



------------------------------
optics # [R OPT] Optics
tdhf
bse # [R BSK] Bethe Salpeter Equation.
bss # [R BSS] Bethe Salpeter Equation solver
rim_cut # [R RIM CUT] Coulomb interaction
RandQpts=0 # [RIM] Number of random q-points in the BZ
RandGvec=0 RL # [RIM] Coulomb interaction RS components
CUTGeo= "cylinder x" # [CUT] Coulomb Cutoff geometry: box/cylinder/sphere
% CUTBox
0.000 | 0.000 | 0.000 | # [CUT] [au] Box sides
%
CUTRadius= 12.000000 # [CUT] [au] Sphere/Cylinder radius
#CUTCylLen= 0.000000 # [CUT] [au] Cylinder length
------------->>>>>>> %
BSresKmod= "xc" # [BSK] Resonant Kernel mode. (`x`;`c`;`d`)
% BSEBands
1 | 2| # [BSK] Bands range
%
....
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

yping
Posts: 22
Joined: Sat Apr 04, 2009 4:35 am

Re: Coulomb cutoff

Post by yping » Tue May 04, 2010 12:34 am

Hi, Daniele
Thank you to point out the mistakes in the input. In fact, I never think it could be the problem before. I'll redo some calculations according to your suggestions.

best,

yuan ping
University of California, Davis

yping
Posts: 22
Joined: Sat Apr 04, 2009 4:35 am

Re: Coulomb cutoff

Post by yping » Wed May 26, 2010 1:26 am

Hi, Daniele

I had another question regard to coulomb cutoff. I have checked the fourier components of cylinder cutoff hatree potential. There are some negative components. (I modified the yambo code to output cutoff hartree potential).
I believe it is not a mistake of implementation because I have done some tests by myself according to the paper "P.R.B 73, 205119 (2006)". Even for the analytical case (no diverged case), there are still some negative components.
After I use coulomb cutoff, the spectra indeed converge faster. But I don't understand the physics of these negative fourier components of hatree potential.
could you help me to understand it? thanks a lot!

Yuan Ping
University of California, Davis

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: Coulomb cutoff

Post by Daniele Varsano » Wed May 26, 2010 10:39 am

Dear Yuang Ping,
you are right, depending on the cell size and cylinder parameter you can have negative Fourier component
in the Hartree potential, and in general in the Coulomb cutoff potential Vc(q,G). I don't know if my answer will
satisfy you, but they are just Fourier components of something that is positive in real space, as well as if
you cut the Coulomb potential on a sphere you will have an oscillating potential in Fourier space (even there
is not easy to understand the physics of this oscillations). I can see the physics in real space, and I think there
is nothing wrong there, then, the negative Fourier components they are just the result of the FT of the
coulomb function (always positive) which has a cut in real space. I don't know if I convinced you, and if there is some argument
which disturb you and I'm missing.

Best,

Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

sdwang
Posts: 299
Joined: Fri Apr 09, 2010 12:30 pm

Re: Coulomb cutoff

Post by sdwang » Sat May 28, 2011 2:16 pm

Daniele Varsano wrote:Dear Hai PIng,
n the file you attached, the third column is the cutoff potential in real space constructed
by "hand" (1/r beteween -L/2 and L/2 and 0 otherwie) , the 4th column if the FT
of your the G-component of the potential you calculate, and as you can see they reseamble each other.

Best,

Daniele
Dear Daniele, do you mean that only if the third column and the 4th column resemble each other, the cutoff is reasionable?
Last edited by sdwang on Sun May 29, 2011 2:13 am, edited 2 times in total.
S. D. Wang
IMU,HOHHOT,CHINA
E-mail: sdwang@imu.edu.cn

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: Coulomb cutoff

Post by Daniele Varsano » Sat May 28, 2011 3:17 pm

Yes: the first two column are grid points in real space.
Consider that the 4th column is a Fourier Transform of the potential defined in G-space,
so it depends on the number of G-vector you are using.

Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

yping
Posts: 22
Joined: Sat Apr 04, 2009 4:35 am

Re: Coulomb cutoff

Post by yping » Thu Sep 08, 2011 8:58 pm

Dear Daniele,

I am not sure I understand what is "box cutoff". I could not find explicitly documentations about it. Is it Beigi type of cutoff :Phys. Rev. B 73, 233103 (2006)
with Random integration only for the divergence of 1/|q+G|^2 at q+G=0 component or something else?
So is it right to define the box size (suppose the system is 1D chain along x direction with Wigner-Seitz cell 50a.u. along vaccum direction as follows ?

CUTGeo= "box yz" # [CUT] Coulomb Cutoff geometry: box/cylinder/sphere
% CUTBox
0.000 | 50.000 | 50.000 | # [CUT] [au] Box sides
%
My concern is that if it is Beigi type of cutoff, the box size has to be the same as Wigner-Seitz cell dimension, otherwise there will be lots of diverged components. So could you tell me what this "box cutoff" is?
Thanks!

Yuan Ping
Department of Chemistry
University of California, Davis
Daniele Varsano wrote:Dear Silvana,
Could you explain me if I need the random q-points and G-vec? I didn't get what they are..
The random q-points are used to integrate the BZ in particular sampling condition. For instances in
1D k-sampling the coulomb integral, as sum over q-point will not converge, so a 3D sampling in needed, and
the RIM (Random Integration method) perform such integral via Monte Carlo. If you use a cylinder-cutoff, the resulting Coulomb potential in q-space does not diverge anymore, so you don't have use it. It is different the situation for a box cutoff, because in order to calculate the components of a box-shaped Coulomb potential you need to perform an integration over the BZ. You can find some explanation of the RIM in the yambo paper that can be downloaded here, or in the doc file of the code.
I know that I have to check convergence with respect to the radius and the high of the cylinder.
Yes, the radius should be checked, anyway you can have an idea about a good value considering that the cylinder have to contain your system and does not touch any replica of your system. You can find more detail here
Phys. Rev. B 73, 205119 (2006), where there are reported the exact conditions (size of the cell vs cutoff parameters), anyway for my experience you don't need to fullfill exactly and you can save time.
If you are considering an infinte cylinder, you does not have to specify the length (L), the coulomb cutoff will be constructed infinte in one direction, except some components, that diverge, and a finite long cylinder is considered, for that components, the larger available value for L=1/dk is used. dk is the spacing of your k-mesh. So the convergence have to be checked on the k-points sampling.

Hope it helps,

Daniele

Post Reply