Hi all,
Currently in get_builder_from_protocol from EpwPrepWorkChain we are choosing wannier workchain type as following:
if wannier_projection_type == WannierProjectionType.ATOMIC_PROJECTORS_QE:
if reference_bands is None:
raise ValueError(
f"reference_bands must be specified for {wannier_projection_type}"
)
w90_bands = Wannier90OptimizeWorkChain.get_builder_from_protocol(
...
)
w90_bands.separate_plotting = False
w90_bands.pop("projwfc", None)
elif wannier_projection_type == WannierProjectionType.SCDM:
w90_bands = Wannier90BandsWorkChain.get_builder_from_protocol(
...
)
else:
raise ValueError(
f"Unsupported wannier_projection_type: {wannier_projection_type}"
)
This means if we use wannier_projection_type == WannierProjectionType.ATOMIC_PROJECTORS_QE, we are forced to do a Wannier90OptimizeWorkChain.
But actually, if I understand the wannier workchain correctly, we are allowed not to do any optimization even if we want to use PDWF.
Is it better if we choose the work chain type according to the existence of reference_bands in the inputs ports? If there is an reference_bands, one is prone to use Wannier90OptimizeWorkChain and it will only proceed if wannier_projection_type == WannierProjectionType.ATOMIC_PROJECTORS_QE (@qiaojunfeng we can't do any optimization on WannierProjectionType.SCDM, right?).
Hi all,
Currently in
get_builder_from_protocolfromEpwPrepWorkChainwe are choosing wannier workchain type as following:This means if we use
wannier_projection_type == WannierProjectionType.ATOMIC_PROJECTORS_QE, we are forced to do aWannier90OptimizeWorkChain.But actually, if I understand the wannier workchain correctly, we are allowed not to do any optimization even if we want to use PDWF.
Is it better if we choose the work chain type according to the existence of
reference_bandsin the inputs ports? If there is anreference_bands, one is prone to useWannier90OptimizeWorkChainand it will only proceed ifwannier_projection_type == WannierProjectionType.ATOMIC_PROJECTORS_QE(@qiaojunfeng we can't do any optimization onWannierProjectionType.SCDM, right?).