yambo-code / yambo

This is the official GPL repository of the yambo code
http://www.yambo-code.eu/
GNU General Public License v2.0
91 stars 35 forks source link

Tech bse #98

Open sangallidavide opened 3 weeks ago

sangallidavide commented 3 weeks ago

This contains part of a old pull request which was never merged in the private repo It contains a development used to compute circular dichroism on molecules beyond IP https://github.com/yambo-code/yambo-devel/pull/725

Specifically it contains the first two parts, and not the third point, which will be merged later to reduce the size of the merge

Other changes:

attacc commented 3 weeks ago

Just few comments:

1) Did you prepare a tutorial for circular dichroism on molecules? and the corresponding tests?

2) It is good that one can set different number of plane waves for exchange and correlation, but one of the problem of Yambo is that there are too much variables in the inputs (what many users say). Is it possible to do something like:

NGexchange = 1000 RL NGcorrel = -1 RL ! If negative Yambo sets it equal to NGexange

put a negative value for one of the two in such a way that Yambo automatically setd it equal to the other one, and put a higher verbosity on NGcorrel.

sangallidavide commented 3 weeks ago

Just few comments:

1. Did you prepare a tutorial for  circular dichroism on molecules? and the corresponding tests?

Working on it. For now there is just an empty page: https://www.yambo-code.eu/wiki/index.php/Dichroism_in_molecules I'll let you know as soon as it is ready. :-)

2. It is good that one can set different number of plane waves for exchange and correlation, but one of the problem
   of Yambo is that there are too much variables in the inputs (what many users say). Is it possible to do something like:

NGexchange = 1000 RL NGcorrel = -1 RL ! If negative Yambo sets it equal to NGexange

put a negative value for one of the two in such a way that Yambo automatically setd it equal to the other one, and put a higher verbosity on NGcorrel.

I did not change the input. The two variables remain

BSENGexx= 4000            RL    # [BSK] Exchange components
BSENGBlk= 200            RL    # [BSK] Exchange components

There is already the option BSENGBlk= -1 RL which sets it equal to the cutoff on the screening (I think you did it, right?)

However, the present yambo will change automatically the value of BSENGexx= 4000 RL it the fft grid corresponding to this exchange cutoff is not compatible with the fft grid corresponding to the correlation cutoff BSENGBlk= 200 RL. Moreover, there is an extra variable to void this "automatic lowering", e.g. ALLGexx. If you use it, the lowering is not done, but the computation of the correlation part will become much slower.

With the new implementation ALLGexx is not needed anymore, and the cutoff is never "automatically lowered", since the eh-exchange and eh-correlation part are done independently (in a loop over the different parts of the kernel)

attacc commented 3 weeks ago

Ok, thanks for the answers

andreamarini commented 3 weeks ago

Hi Davide.

I will check the source ASAP.

In the meantime:

Actually regarding the publication I think that one paper is not enough. We should decide among us how and when a new physical feature is mature enough to be released to the general public.

Side question: how can I check the code if the branch is hosted on a separate repo? Do I have to clone it? Would'nt it be better to have the branch in the yambo repo so that, among other things, the robots can access it?

sangallidavide commented 3 weeks ago

We used it for calculation on molecules,

* why tech-? It looks to me a mixture or refact- and phys-

There is no new physics. Just the points mentioned above. In the meeting we agreed in having tech-master, maintentance-master and phys-master. There is no refact-master

* I do believe that in order to enter in the GPL a piece of code describing new physics should be supported with a tutorial (you already answered to this) and a publication.

Actually regarding the publication I think that one paper is not enough. We should decide among us how and when a new physical feature is mature enough to be released to the general public.

See above, no new physcs. It was used to compute dichroism in molecules (which can be done also with the gpl master). However the simultaions where too demanding (expecially for memory). For this reasons the changes introduced. Related publication where this was used: https://iopscience.iop.org/article/10.1088/1757-899X/1265/1/012005/meta https://papers.sif.it/?pid=ncc12480 I'll also prepare a tutorial

Side question: how can I check the code if the branch is hosted on a separate repo? Do I have to clone it? Would'nt it be better to have the branch in the yambo repo so that, among other things, the robots can access it?

Yeah, you can clone it

sangallidavide commented 3 weeks ago

Ok for me, if tests are fine. I notice that there are also other changes in the psuedo-potential part, coulomb cutoff,

it was merged with bug-fixes to import recent fixes

slepc,

This are maybe the chanegs related to this point (?)

new subroutine for scalar products

Some "V_dot_V" interfaces where missing, like for r1 and r2. Do you mean this ?

and excitons sorting.

I guess you mean this point (?)

attacc commented 3 weeks ago

Thanks

attacc commented 2 weeks ago

Ok, since there is not new physics here, but a good optimization of memory in BSE, that one of the main iusse of Yambo, I think this branch should be merged in the tech-master

attacc commented 2 weeks ago

But I see that there are still some test that fail https://media.yambo-code.eu/robots/tech-bse/unimi-XPS-8930.php

sangallidavide commented 2 weeks ago

But I see that there are still some test that fail https://media.yambo-code.eu/robots/tech-bse/unimi-XPS-8930.php

Yes, with gfortran the tests nloptics due to the previous merge ... https://media.yambo-code.eu/robots/tech-bse/unimi-XPS-8930_tech-bse_3_error.php

With nvfortran, CUDA and GPUs the status is the same as the tech-master. https://media.yambo-code.eu/robots/tech-bse/unimi-XPS-8930_tech-bse_1_error.php Here there was just an extra fail on 03_GoWo_PPA_corrections which caused subsequent fails. There were missing dependencies via input flags, now added b1ac8c94ed21f97121c17cf27badea62135dc267

attacc commented 2 weeks ago

I found a bug in the previous merge... fixing in progress...

sangallidavide commented 2 weeks ago

Ok. Meanwhile tutorial for CD available: https://www.yambo-code.eu/wiki/index.php/Dichroism_in_molecules

attacc commented 2 weeks ago

Cool!

On Fri, 21 Jun 2024 at 11:09, Davide Sangalli @.***> wrote:

Ok. Meanwhile tutorial for CD available: https://www.yambo-code.eu/wiki/index.php/Dichroism_in_molecules

— Reply to this email directly, view it on GitHub https://github.com/yambo-code/yambo/pull/98#issuecomment-2182343126, or unsubscribe https://github.com/notifications/unsubscribe-auth/AED6PCIFDDZDDPSGHCGK3GLZIPUUDAVCNFSM6AAAAABJGZJU3KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBSGM2DGMJSGY . You are receiving this because you commented.Message ID: @.***>

--

Mobile[FR]: +33662922897 Mobile[IT]: +393384315437 Fax: +33491418916 Address: CINaM Campus de Luminy 163 Avenue de Luminy, Case 913 13288 Marseille Cedex 9

Skype: claudioattaccalite Editor Fellow for: www.scipost.org web site: www.attaccalite.com