Skip to content

Commit f41434d

Browse files
author
Miki Bonacci
committed
maybe fixed the seekpath update
missing: specify the kpoint path in the inputs... only the bands_kpoints.
1 parent badb9f1 commit f41434d

File tree

1 file changed

+26
-5
lines changed

1 file changed

+26
-5
lines changed

aiida_yambo_wannier90/workflows/__init__.py

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -627,6 +627,9 @@ def setup(self) -> None: # pylint: disable=inconsistent-return-statements
627627

628628
self.ctx.current_structure = self.inputs.structure
629629

630+
self.ctx.current_kpoint_path = None
631+
self.ctx.current_bands_kpoints = None
632+
630633
if "bands_kpoints" in self.inputs:
631634
self.ctx.current_bands_kpoints = self.inputs.bands_kpoints
632635

@@ -691,8 +694,16 @@ def run_seekpath(self):
691694
result = seekpath_structure_analysis(**args)
692695

693696
self.ctx.current_structure = result["primitive_structure"]
694-
self.ctx.current_bands_kpoints = result["explicit_kpoints"]
695-
697+
#self.ctx.current_bands_kpoints = result["explicit_kpoints"]
698+
699+
# Add `kpoint_path` for Wannier bands
700+
self.ctx.current_kpoint_path = orm.Dict(
701+
dict={
702+
"path": result["parameters"]["path"],
703+
"point_coords": result["parameters"]["point_coords"],
704+
}
705+
)
706+
696707
structure_formula = self.inputs.structure.get_formula()
697708
primitive_structure_formula = result["primitive_structure"].get_formula()
698709
self.report(
@@ -1054,7 +1065,11 @@ def prepare_wannier90_pp_inputs(self) -> AttributeDict:
10541065
)["wannier90"]
10551066

10561067
inputs.wannier90.structure = self.ctx.current_structure
1057-
inputs.wannier90.bands_kpoints = self.ctx.current_bands_kpoints
1068+
1069+
if self.ctx.current_kpoint_path:
1070+
inputs.wannier90.kpoint_path = self.ctx.current_kpoint_path
1071+
if self.ctx.current_bands_kpoints:
1072+
inputs.wannier90.bands_kpoints = self.ctx.current_bands_kpoints
10581073

10591074
# Use commensurate kmesh
10601075
if self.ctx.kpoints_w90_input != self.ctx.kpoints_w90:
@@ -1166,7 +1181,10 @@ def prepare_wannier90_inputs(self) -> AttributeDict:
11661181
)
11671182

11681183
inputs.structure = self.ctx.current_structure
1169-
inputs.bands_kpoints = self.ctx.current_bands_kpoints
1184+
if self.ctx.current_kpoint_path:
1185+
inputs.kpoint_path = self.ctx.current_kpoint_path
1186+
if self.ctx.current_bands_kpoints:
1187+
inputs.bands_kpoints = self.ctx.current_bands_kpoints
11701188

11711189
# Use commensurate kmesh
11721190
if self.ctx.kpoints_w90_input != self.ctx.kpoints_w90:
@@ -1252,7 +1270,10 @@ def prepare_wannier90_qp_inputs(self) -> AttributeDict:
12521270
)
12531271

12541272
inputs.wannier90.structure = self.ctx.current_structure
1255-
inputs.wannier90.bands_kpoints = self.ctx.current_bands_kpoints
1273+
if self.ctx.current_kpoint_path:
1274+
inputs.wannier90.kpoint_path = self.ctx.current_kpoint_path
1275+
if self.ctx.current_bands_kpoints:
1276+
inputs.wannier90.bands_kpoints = self.ctx.current_bands_kpoints
12561277

12571278
if self.ctx.kpoints_w90_input != self.ctx.kpoints_w90:
12581279
set_kpoints(

0 commit comments

Comments
 (0)