Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

About the cooperation between Z2Pack and first-principles codes, such as Quantum espresso and SIESTA. #118

Closed
hongyi-zhao opened this issue Dec 16, 2021 · 8 comments

Comments

@hongyi-zhao
Copy link

hongyi-zhao commented Dec 16, 2021

I'm still not so clear about the guidance described here:

Z2Pack uses the Wannier90 software to compute overlap matrices from first-principles. 
This means that Z2Pack can be used with any first-principles code that interfaces to
Wannier90. If you are using Wannier90 version 2.1.0 or higher, it is compatible with Z2Pack.

Does this mean that if I use the latest version of Wannier90, there is needless to do any specific setup similar to things described there, i.e., ABINIT Setup and VASP Setup?

Regards,
HZ

@greschd
Copy link
Member

greschd commented Dec 16, 2021

It's been a while since I installed either ABINIT or VASP - do they come with a native interface to the latest Wannier90 version? If the Wannier90 version used accepts either skip_B1_tests or (preferably) nnkpts inputs, the specific setup steps are not needed.

In the nnkpts case, you can use the wannier90_full k-point generation method to let Wannier90 know which overlaps to compute.

@jkidd1
Copy link

jkidd1 commented Dec 16, 2021

The newest version of VASP does work with Wannier90 3.1.0. Unfortunately, the VASP team has not add much documentation on the updated interface yet. @hongyi-zhao, you might find this forum post helpful.

@hongyi-zhao
Copy link
Author

hongyi-zhao commented Dec 16, 2021

@jkidd1 VASP is a closed source software. The VASP team never intends to cooperate with the open source community, and always has a superior attitude and arrogance. I have given up the use of it.

@hongyi-zhao
Copy link
Author

hongyi-zhao commented Dec 16, 2021

@greschd

It's been a while since I installed either ABINIT or VASP

Me too.

  • do they come with a native interface to the latest Wannier90 version?

So I know nothing about the situation you described above. I am mainly concerned about the cooperation between Z2Pack and other open source codes, such as Quantum espresso and SIESTA, which is also the purpose of this issue.

If the Wannier90 version used accepts either skip_B1_tests or (preferably) nnkpts inputs, the specific setup steps are not needed.

According to the parameter comments provided in the source code:

  !! no longer an input keyword
  logical, public, save :: skip_B1_tests
  !! do not check the B1 condition
  logical, public, save :: explicit_nnkpts
  !! nnkpts block is in the input file (allowed only for post-proc setup)
  integer, allocatable, public, save :: shell_list(:)

So, it seems that, in the current Wannier90 version, skip_B1_tests is no longer used as an input keyword, and nnkpts is the default accepted one.

In the nnkpts case, you can use the wannier90_full k-point generation method to let Wannier90 know which overlaps to compute.

Thank you for pointing this out. Are there any examples in Z2Pack that use this feature?

@greschd
Copy link
Member

greschd commented Dec 17, 2021

For Quantum Espresso, there's no need to use special setup instructions. An example with wannier90_full can be found here: https://github.com/Z2PackDev/Z2Pack/blob/dev/current/examples/fp/espresso/6.2/Bi/run.py

For Siesta, @juijan provided an example using the sisl library: https://github.com/Z2PackDev/Z2Pack/blob/dev/current/examples/fp/siesta/Bi-monolayer/run.py
This actually uses a different interface on the Z2Pack side, since it directly provides the Hamiltonian matrix (z2pack.hm.System instead of z2pack.fp.System). Besides running this example, I don't have experience with Siesta.

In the current Wannier90 version, it seems that skip_B1_tests is no longer used as an input keyword, and nnkpts is the default accepted one.

Yes, if available that is to be preferred. The nnkpts specifies explicitly which overlap integrals are to be computed, whereas the skip_B1_tests was a temporary measure to fix a common exception from using the automatic process.

@hongyi-zhao hongyi-zhao changed the title Question about setting up first-principles codes. About the cooperation between Z2Pack and other open source codes, such as Quantum espresso and SIESTA. Dec 17, 2021
@hongyi-zhao hongyi-zhao changed the title About the cooperation between Z2Pack and other open source codes, such as Quantum espresso and SIESTA. About the cooperation between Z2Pack and first-principles codes, such as Quantum espresso and SIESTA. Dec 17, 2021
@hongyi-zhao
Copy link
Author

For Quantum Espresso, there's no need to use special setup instructions. An example with wannier90_full can be found here: https://github.com/Z2PackDev/Z2Pack/blob/dev/current/examples/fp/espresso/6.2/Bi/run.py

Running rg under the examples' folder in the Z2Pack repository gives me the following results:

$ rg -l z2pack.fp.kpoint.wannier90_full examples/ 
examples/fp/espresso/6/Bi/run.py
examples/fp/espresso/6.2/Bi_volume/run.py
examples/fp/espresso/6.2/Bi/run.py
examples/fp/espresso/6/MoP2_weyl/run.py

@greschd greschd closed this as completed Jan 25, 2023
@hongyi-zhao
Copy link
Author

hongyi-zhao commented Jan 25, 2023

@jkidd1

#118 (comment)
The newest version of VASP does work with Wannier90 3.1.0. Unfortunately, the VASP team has not add much documentation on the updated interface yet. @hongyi-zhao, you might find this forum post helpful.

Good news, Wannier90 v.3.x is supported by VASP since 6.2.0:

image

@greschd
Copy link
Member

greschd commented Jan 25, 2023

Thanks for the info. I've closed this issue in favor of the remaining TODOs in #132, #119.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants