-
Notifications
You must be signed in to change notification settings - Fork 0
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
Feature: add nearest neighbours analysis #53
Open
bastonero
wants to merge
48
commits into
master
Choose a base branch
from
feat/voronoi
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Two exit codes are added, for which a possible handler can be implemented in the future.
We implement the logic to skip a certain number of relax iterations. For these iterations the check on convergence is also skipped. Some fixes are also added.
Two exit codes are added, for which a possible handler can be implemented in the future.
The `hp.x` and `pw.x` code can distinguish hubbard values for atoms with the same names, thus relabeling is not performed for the intersite case. Alghough, this is not the case when utilizing only onsite U.
We implement the logic to skip a certain number of relax iterations. For these iterations the check on convergence is also skipped. Some fixes are also added.
Modify the `SelfConsistentHubbardWorkChain` to clean the work directories at each iteration instead of cleaning everything at the end, eventually saving lots of storage space, which may be crucial for large scale calculations or for users with few space.
Some structures may have onsite atoms of the same specie but with different nearest neighbours (e.g. Fe3O4). The hp.x code can handle this only specifying a maximum radius, within which one can find the nearest neighbours. As such radius may change during relaxation of the atomic structure, an analysis is introduced to define at each iteration such maximum radius.
Fixes #55 Exit status 0 was given when at the last iteration no self-consistency (of Hubbard parameters) was reached. This is misleading, and a new exit code is added to highlitght better this condition.
Adapt the `convergence_not_reached` handler so that it only adjusts `alpha_mix`. `niter_max` is moved to the protocol.
The current raw output parser would miss some corner cases, when lots of q-points are generated and the number has no more any space left from the parenthesis. The solution is to use a more general regex search. As a sanity check, also the perturbed atom number sites regex search is changed correspondingly.
Fixes #66 The relabel function might not work if the spin configuration changes and the kinds cannot be determined uniquely by the parsed configuration from the hp.x post-processing. For this reason, we catch the error and exit smoothly with a new exit code if this would happen.
The convergence check on parameters had a bug in the logic. That logic would work for 1 Hubbard atom only, and that's the reason why this passed unseen in the tests. The fix is rather simple, and the new tests are tested again a case which made the old tests to make.
The convergence check on parameters had a bug in the logic. That logic would work for 1 Hubbard atom only, and that's the reason why this passed unseen in the tests. The fix is rather simple, and the new tests are tested again a case which made the old tests to make.
The self-consistent workflow now checks the maximum number of neighbours and defines the hp inputs so to print all the possible intersites couples. The parser is then instructed to only keep the interactions that were defined in the initial HubbardStructureData. This is useful in case the actual first neighbours are different then the activated intersite interactions, thus a screening of the HUBBARD.dat file cannot be avoided. This methodology allows for having a more consistent definition and parsing of the nearest neighbours using Voronoi tessellation.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Complex structures may present multiple coordination environments. The
hp.x
is unable to distinguish multiple neighbours at the post-processing steps with the usual approach. One can still input tohp.x
a maximum radius for which to print the nearest neighbours. Such analysis is performed using pymatgen capabilities, and it is now performed by default.This should wait https://github.com/bastonero/aiida-quantumespresso/tree/feat/voronoi to be merged.