Hello,
I have been recently using yambo code to obtain momentum matrices for nonlinear response calculations. Since matrices generated using symmetry operations might lead to a phase difference, I made Abinit calculate WFunctions for the FullBZ using "kptopt 3". I have attached the input file being used :
what I was expecting was that yambo takes that into account and would generate Matrix elements on the specified points only however, it uses symmetry operations to increase the number of points from 1000 to 26000. I have been looking into the source code to find a method to make yambo do calculations for only those 1000 points (what the program assumes to be the IBZ). Following are the commands I issue to produce the momentum matrices :
e2y F ./<source file>etsf.nc
yambo o c
yambo
I would love to know if there is a way to make yambo calculate the matrices for only the points for which abinit has calculated WFks explicitly.
Symmetry control in Yambo e2y
Moderator: Conor Hogan

 Posts: 2
 Joined: Wed Sep 27, 2017 5:07 pm
Symmetry control in Yambo e2y
You do not have the required permissions to view the files attached to this post.
 Davide Sangalli
 Posts: 617
 Joined: Tue May 29, 2012 4:49 pm
 Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy
 Contact:
Re: Symmetry control in Yambo e2y
Dear Manoram,
I would suggest to run abinit as usual and generate the WFs in the IBZ only.
Then convert the WFs in yambo format, do the initialization.
Finally remove all the symmetries (ypp y) and you will have the WFs in the full BZ.
D.
I would suggest to run abinit as usual and generate the WFs in the IBZ only.
Then convert the WFs in yambo format, do the initialization.
Finally remove all the symmetries (ypp y) and you will have the WFs in the full BZ.
D.
Davide Sangalli, PhD
CNRISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.maxcentre.eu/
CNRISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.maxcentre.eu/

 Posts: 2
 Joined: Wed Sep 27, 2017 5:07 pm
Re: Symmetry control in Yambo e2y
Thank you Davide for your prompt reply.
The main reason for me needing to calculate WFs using abinit for full BZ was to avoid the introduction of phase differences when using symmetry operations. Since producing momentum matrices for full BZ (with WFs calculated in IBZ) would require using symmetry operations, it would increase the likelihood of error in calculation of phases in the nonlinear part of the response function. My idea therefore was to make abinit calculate WFs in full BZ and prevent yambo from using any symmetry operations.
Is there any variable in the yambo to control usage of symmetry? Is there modification that can be done in the sourcecode to prevent symmetry calculation?
regards
Manoram
The main reason for me needing to calculate WFs using abinit for full BZ was to avoid the introduction of phase differences when using symmetry operations. Since producing momentum matrices for full BZ (with WFs calculated in IBZ) would require using symmetry operations, it would increase the likelihood of error in calculation of phases in the nonlinear part of the response function. My idea therefore was to make abinit calculate WFs in full BZ and prevent yambo from using any symmetry operations.
Is there any variable in the yambo to control usage of symmetry? Is there modification that can be done in the sourcecode to prevent symmetry calculation?
regards
Manoram
 Davide Sangalli
 Posts: 617
 Joined: Tue May 29, 2012 4:49 pm
 Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy
 Contact:
Re: Symmetry control in Yambo e2y
I see.
Not sure I understand why a direct DFT calculation in the BZ would not introduce phase differences.
Anyway, indeed it was possible to import the calculation in the fullBZ using a2y (see the n option below):
We never extended the feature to e2y but it should be easy.
As a quick workaround, I think you can try to open "interfaces/int_modules/mod_com2y.F" and change
to
Not sure I understand why a direct DFT calculation in the BZ would not introduce phase differences.
Anyway, indeed it was possible to import the calculation in the fullBZ using a2y (see the n option below):
Code: Select all
[sangalli@narro::master]$ ./bin/a2y H
___ __ _____ __ __ _____ _____
 Y  _  Y  _ \  _ 
  .  . .  / .  
\ _/ . _ .\ / . _ \ .  
:  :  :  :  \:  
:: :.:.:.:.::. /::. 
`" ` "` "`" `"
This is a2y 4.3.0 rev.14884
A(binit) 2 Y(ambo) interface
h :Short Help
H :Long Help
N :Skip MPI initialization
F <opt> :Abinit file name/prefix
O <opt> :Output directory
U :Do not fragment the DataBases (only for serial runs)
b <int> :Number of bands for each fragment
a <real> :Lattice constants rescaling factor
d :States duplication (artificial spin polarization)
t :Force use of spatial Inv. instead of Time Rev.
n :Force no symmetries
w :Force no wavefunctions
YAMBO developers group (http://www.yambocode.org)
As a quick workaround, I think you can try to open "interfaces/int_modules/mod_com2y.F" and change
Code: Select all
force_noSYMM =index(in_string,'nosy')>0
Code: Select all
force_noSYMM =.true.
Davide Sangalli, PhD
CNRISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.maxcentre.eu/
CNRISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.maxcentre.eu/