Symmetry control in Yambo e2y

Forum for discussing issues arising with interfacing the Abinit code (KSS) file with Yambo.

Moderator: Conor Hogan

Symmetry control in Yambo e2y

Postby Manoram » Thu Oct 05, 2017 11:54 am

Hello,
I have been recently using yambo code to obtain momentum matrices for non-linear response calculations. Since matrices generated using symmetry operations might lead to a phase difference, I made Abinit calculate WFunctions for the Full-BZ using "kptopt 3". I have attached the input file being used :
GaAs_DOJO.in.txt
GaAs_DOJO.log

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
yambo.in.txt


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.
You do not have the required permissions to view the files attached to this post.
Manoram
 
Posts: 2
Joined: Wed Sep 27, 2017 5:07 pm

Re: Symmetry control in Yambo e2y

Postby Davide Sangalli » Thu Oct 05, 2017 2:56 pm

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.
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
http://www.ism.cnr.it/en/davide-sangalli-cv/
http://www.max-centre.eu/
User avatar
Davide Sangalli
 
Posts: 315
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy

Re: Symmetry control in Yambo e2y

Postby Manoram » Fri Oct 06, 2017 11:13 am

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 non-linear 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 source-code to prevent symmetry calculation?

regards
Manoram
Manoram
 
Posts: 2
Joined: Wed Sep 27, 2017 5:07 pm

Re: Symmetry control in Yambo e2y

Postby Davide Sangalli » Fri Oct 06, 2017 11:23 am

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 full-BZ 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.yambo-code.org)


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
Code: Select all
     force_noSYMM         =index(in_string,'nosy')>0

to
Code: Select all
     force_noSYMM         =.true.
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
http://www.ism.cnr.it/en/davide-sangalli-cv/
http://www.max-centre.eu/
User avatar
Davide Sangalli
 
Posts: 315
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy


Return to Abinit

Who is online

Users browsing this forum: No registered users and 1 guest