Page 3 of 3
Re: coulamb cutoff , chi2 value
Posted: Fri Mar 21, 2025 12:55 pm
by lorenzo.sponza
Daniele Varsano wrote: ↑Fri Feb 07, 2025 8:07 am
Ciao Lorenzo,
it is possible there is some inconsistency between what is calculated and what is reported.
In order to inspect it, it would be desirable if you can repeat the calculation using the latest release of Yambo (5.3) and attach your entire report if the inconsistency persists.
Best,
Daniele
Ciao Daniele!
I did the update to the current version 5.3.0 and launched a quick test. The inconsistency persists, as you can see from the extract below. Namely, the RIM runlevel does not prompt correct information about the Coulomb Cutoff one and the other way round.
Code: Select all
[04.02] RIM integrals
=====================
Gamma point sphere radius : 0.120409 [a.u.]
Points outside the sphere : 3998716
[Int_sBZ(q=0) 1/q^2]*(Vol_sBZ)^(-1/3) =: 7.043239
should be <: 7.795600
[WR./diag_4//ndb.RIM]-----------------------------------------------------------
Brillouin Zone Q/K grids (IBZ/BZ) : 3 9 3 9
Coulomb cutoff potential : none
Coulombian RL components : 1
Coulombian diagonal components : yes
RIM random points : 5000000
RIM RL volume [a.u.] : 0.390133
Real RL volume [a.u.] : 0.390112
Eps^-1 reference component : 0
Eps^-1 components : 0.000000 0.000000 0.000000
RIM anysotropy factor : 0.000000
- S/N 000784 ---------------------------------------------- v.05.03.00 r.23927 -
Summary of Coulomb integrals for non-metallic bands |Q|[au] RIM/Bare
Q [1] 0.100000E-4 0.903489 * Q [2] 0.512807 1.166054
Q [3] 0.888208 1.049806
Non-periodic chartesian directions : none
Optical renormalization : 33.01200 [au]
Polarizability dimension : length
Timing [Min/Max/Average]: 03s/03s/03s
[05] Coloumb potential CutOffslab
=================================
Cut directionsZ
Slab Cutoff:Z
Symmetry test passed : yes
[WR./diag_4//ndb.cutoff]--------------------------------------------------------
Brillouin Zone Q/K grids (IBZ/BZ) : 3 9 3 9
CutOff Geometry : slab z
Coulomb cutoff potential : slab z
Box sides length [au] : 0.000000 0.000000 0.000000
Sphere/Cylinder radius [au] : 0.000000
Cylinder length [au] : 0.000000
RL components : 3951
RL components used in the sum : 21817
RIM corrections included : no
RIM RL components : 0
RIM random points : 0
- S/N 000784 ---------------------------------------------- v.05.03.00 r.23927 -
Enclosed to this message you will find my input file and the report.
Cheers!
Re: coulamb cutoff , chi2 value
Posted: Fri Mar 21, 2025 2:09 pm
by Daniele Varsano
Dear Lorenzo,
I think this is quite unintuitive but partially correct:
1) ndb.cutoff does not report the RIM as "slab" geometry is analytic, so integrations are not needed. This is different from the "box" where the potential is evaluated numerically and an integration over the BZ is needed.
2) The RIM does not report the cutoff info. It seems that yambo is doing the right thing:
but then the v_slab info are not reported in the header of the database.
I presume that this is just a problem of the reporting, but it is possible that the info is also missing in the header of the database,
we will check what is happening.
Many thanks for reporting,
Best,
Daniele
Re: coulamb cutoff , chi2 value
Posted: Tue Mar 25, 2025 12:04 am
by lorenzo.sponza
Dear Daniele,
Thank you very much for your response. Though, I'm still confused by the way one should set CUTGeo, RandQpts and RandGvec when performing calculations on 2D materials. You said that the 'slab z' relies on an analytic formulation, so I was expecting yambo to skip the RIM whenever CUTGeo='slab z' but, according to my tests detailed here below, it doesn't seem to be the case. On the contrary, the result still display quite a strong dependance on the RIM parameters and I don't understand why. Can you kindly explain when and why one should use these methods and how they influence each other?
My quick tests
I'm currently running Yambo version 5.3.0 in double precision. I run five tests with BSE simulations on an under-converged hBN monolayer differing only by the value of CUTGeo, RandQpts, RandGvec and the runlevel key rim_cut. Below I provide a summary of the input files concerning these variables and some information about the output. The output spectra, which I enclose to this post, are quite confusing to me because each calculation differ from the others. I was expecting at least all calculations with CUTGeo='slab z' to give the same result!
Q5m_G11_Slab
Code: Select all
rim_cut
RandQpts = 5000000
RandGvec = 11 RL
CUTGeo='slab z'
The calculation produced an 'alpha' file and performed RIM initialization, RIM integration and CutOffslab runlevels.
Q1_G1_Slab
Code: Select all
rim_cut
RandQpts = 1
RandGvec = 1 RL
CUTGeo='slab z'
The calculation produced an 'alpha' file and performed RIM initialization, RIM integration and CutOffslab runlevels.
Q0_G0_Slab
Code: Select all
rim_cut
RandQpts = 0
RandGvec = 0 RL
CUTGeo='slab z'
The calculation produced an 'alpha' file. It performed only the CutOffslab runlevel although the variable RandGvec is raised to 1 after parsing the input.
Q5m_G11_None
Code: Select all
rim_cut
RandQpts = 5000000
RandGvec = 11 RL
CUTGeo='none'
The calculation produced 'eps' and 'eel' files. It performed RIM initialization, RIM integration and no CutOffslab runlevels.
commented
Code: Select all
### rim_cut
RandQpts = 5000000
RandGvec = 11 RL
CUTGeo='slab z'
The calculation produced 'eps' and 'eel' files. It performed neither the RIM nor the CutOffslab runlevel.
Re: coulamb cutoff , chi2 value
Posted: Tue Mar 25, 2025 9:55 am
by Daniele Varsano
Dear Lorenzo,
"Slab z" is analytic so, at difference of "box" does not need RIM method to be built.
Next, you can use RIM to integrate it in the BZ. So if you use RIM or not it makes difference as in one case you have \int Vslab calculated with Monte Carlo method, otherwise it is calculated as \sum_qi Vslab(qi)*Volbz/Nq.
When using the "box", the RIM is used to build the potential Vbox(qi), but then it cannot be integrated MC as it is not analytical.
Resuming:
Q5m_G11_Slab: cutoff slab potential integrated MC inside and outside the BZ for 11RL
Q1_G1_Slab: cutoff slab, in theory integrated only in the BZ, but just 1 random q-point, essentially no statistics at all to evaluate the integral.
Q0_G0_Slab: cutoff slab, potential integrated discretely \int V= \sum_qi Vslab(qi)*Volbz/Nq.
Q5m_G11_None: 3D potential 1/q^2 integrated MC
commented: 3D potential 1/q^2 and integrated discretely.
Hope this solves your doubts.
Best,
Daniele
Re: coulamb cutoff , chi2 value
Posted: Tue Mar 25, 2025 4:35 pm
by lorenzo.sponza
Dear Daniele,
Yes! I think it does. Many many thanks!
Indeed I misunderstood what you meant by 'analytic formulation', thinking that \int Vslab itself was evaluated with an analytic, possibly approximate, expression. In fact, the analytic expression concerns only the shape of Vslab(q) but its integral has to be evaluated numerically anyway. The RIM is the best way to do it close to singular points. So, the right thing to do when dealing with 2D materials is to use both RIM and slab z, possibly checking the convergence with respect of RandQpts and RandGvec.
Cheers
Re: coulamb cutoff , chi2 value
Posted: Tue Mar 25, 2025 5:02 pm
by Daniele Varsano
Dear Lorenzo,
that's correct.
In addition, you can gain a considerable speed up using the W average methods, e.g. RIM method for W.
https://www.nature.com/articles/s41524-023-00989-7
This will accelerate considerably the convergence wrt the k point grid obtaining converged results with grids just slightly larger than the ones used for DFT. Here you can find a very short guide:
https://wiki.yambo-code.eu/wiki/index.p ... 2D_systems
Best,
Daniele