Hybrid band structure calculation with Seekpath in AiiDA-VASP

Hello everyone,

Recently, I’ve been trying to do hybrid band structure calculations with AiiDA-VASP and Seekpath. I’m curious about the correct procedure for conducting these calculations with AiiDA.

According to the VASP wiki, the initial step involves performing a normal SCF calculation to attain the converged wavefunctions of the structure and the explicit list of irreducible k points from the regular k mesh. The latter can be transferred from the [IBZKPT] file of a previous run to the new [KPOINTS] file. Subsequently, you concatenate to the KPOINTS file the k points along a high-symmetry path using the explicit list, which includes zero-weighted k points.

I’m wondering if there’s an automatic way to do this with SeekPath or another method inside AiiDA. Otherwise, I think I might need to manipulate files in the submission script using builder.metadata.options.prepend_text to modify the KPOINTS just before submitting the VASP binary.

Thanks in advance!
Kind regards,

Hi @DoriniTT :wave:

Sorry for the terribly slow response. It seems the aiida-vasp team hasn’t made their way to the Discourse yet. I’ve used VASP a little in the past but that was before I used AiiDA.

To me, this seems like a feature request, where the VaspCalculation might need to be updated. Did you try opening an issue on their Github?

Maybe they already have a solution for running hybrid band structures with VASP.

Hi @DoriniTT I have implemented this in a custom version of the band structure workchain to do exactly this. This is a slightly different stack of workflow code (mostly in terms of how input nodes are configured). But it uses the same VaspCalculation from the aiida-vasp. The plan is to merge new workflows into aiida-vasp at some point. You can install the addon package and the workflows will be available via the entry points vaspu.xxx.

Note that you will still need to obtain the IBZKPT somewhere - this can be from an existing calculation (in AiiDA’s database) or if you are forming a relaxation step inside the workchain, the last singlepoint calculation can be used automatically, or you can manually input a KpointData. In any caes, you won’t need to manually edit the files.

Note that the workflow can split the path into mutiple segments and join them up in the end, in case of compute intensive systems.

1 Like

Hello Bonan and Marnik :wave:

Thanks a lot for the explanation, this is great! I will play around with your addons and will be looking forward to the merge with aiida-vasp!

1 Like

Hello Bonan,
I have been trying to make the vaspu.hybrid_bands workflow work, but without any success. Do you have an example of a simple calculation in a workchain that I can base my script on?

I have made an example notebook for this.
Note that you will need to install the latest development branch of aiida-vasp where the hybrid functional band structure workflows has been merged into the plugin code under the entrypoint vasp.v2.hybrid_bands.
The documentation and examples of aiida-vasp have not been updated yet to reflect this addition yet.

pip install -U git+https://github.com/aiida-vasp/aiida-vasp

(please change suffx from txt to ipynb)
example_vasp_workchain-v2-hybrid-band.txt (317.6 KB)