-
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
Add support for self-consistent computation of Hubbard V #7
Comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Dear collaborators,
now that Sebastiaan has fixed the aiida-quantumespresso PW calculation so that the files containing Hubbard V parameters are uploaded correctly, I think the next step would be to implement the self-consistent computation of Hubbard V parameters.
Luckily, the procedure is very similar to the one used for Hubbard U, but I'm afraid we have to extend the workchain by a couple of new classes and/or adapt some others. We could create an entirely new workchain for this purpose, but I'm not sure if that's the right thing to do.
Based on the current
hubbard.py
workchain, the follwing functionalities would need to be added/changed (the list is probably incomplete):Allow to specify as inputs EITHER
a) a set of Hubbard V values for certain pairs (e.g. Fe-Fe or Fe-N)
b) An incoming
parameters.in
fileAdapt the
validate_inputs
class- The second argument of the function call
validate_structure_kind_order(structure, list(hubbard_u.get_dict().keys()))
must be made aware of the fact that any occurrence of an atom kind in the first OR second index of Hubbard_V(na,nb,k) means that this kind is a Hubbard kind.- If a
parameters.in
file is provided as input, the order of the atoms in the structure must not be changed as doing so would alter the resultsIf initially Hubbard V values are specified manually (as mentioned in point 1a), the first iteration of the SC-loop including recon, relax and scf runs must be carried out with the
hubbard_parameters = 'file'
tag switched off. Conversly, all calculations subsequent to the first hp.x run should simply set thehubbard_parameters = 'file'
and forget about the rest.Adapt the
inspect_hp
class (which is probably the hardest part of the whole project):- Find a way to read in the parameters.out file and check for convergence of the Hubbard V pairs
- Attach the parameters.out singlefile to the context instead of the hubbard_u dict (and then use it to set up the input in the
get_inputs
class)I am aware that this is not a trivial thing to do, so before starting to randomly code stuff, I wanted to hear your opinion.
The text was updated successfully, but these errors were encountered: