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

Add support for PDWF with external projectors #55

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

jiang-yuha0
Copy link
Contributor

The atom_proj_ext in pw2wannier90 is not only applicable to projectors in the openMX format, any reasonable projector that meets the file format rules can be used for PDWF. Therefore, I have renamed WannierProjectionType.ATOMIC_PROJECTORS_OPENMX to ATOMIC_PROJECTORS_EXTERNAL and added some functions. Now, we only need to provide additional external_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 elements
For 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}],

When using external projectors, the projectors may be different from that
in pseudo potentials. We should provide a list of projectors as input then
calculate the corespoding num_wann, num_bands, and semicore_list.
Rename the `WannierProjectionType` type `ATOMIC_PROJECTOR_OPENMX` to
`ATOMIC_PROJECTORS_EXTERNAL`, because the projectors do not necessarily
come from OPENMX.
The old logic confused spin_orbit_coupling with spin_non_collinear,
which did not affect the operation workflows because the
spin_non_collinear in not implemented in the code.
By handling this confused logic with the correct logic, it will
facilitate future code extension (for non-collinear).
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

Successfully merging this pull request may close these issues.

None yet

1 participant