Add support for PDWF with external projectors #55
+266
−42
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
atom_proj_ext
inpw2wannier90
is not only applicable to projectors in theopenMX
format, any reasonable projector that meets the file format rules can be used forPDWF
. Therefore, I have renamedWannierProjectionType
.ATOMIC_PROJECTORS_OPENMX
toATOMIC_PROJECTORS_EXTERNAL
and added some functions. Now, we only need to provide additionalexternal_projectors
, and the workflow will automatically compute number of projectors and semicore lists, and do the calculation automatically.Format of
external_projectors
: A dict of projectors for elementsFor non-spin-orbit-coupling projectors:
"F": [{"label": "2S", "l": 0}, {"label": "2P", "l": 1}],
For spin-orbit-coupling projectors:
"F": [{"label": "2S", "l": 0, "j": 0.5}, {"label": "2P", "l": 1, "j": 0.5}, {"label": "2P", "l": 1, "j": 1.5}],