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 self-consistent computation of Hubbard V #7

Closed
MackeEric opened this issue Oct 29, 2020 · 2 comments
Closed

Add support for self-consistent computation of Hubbard V #7

MackeEric opened this issue Oct 29, 2020 · 2 comments

Comments

@MackeEric
Copy link
Collaborator

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):

  1. 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 file

  2. Adapt 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 results

  3. If 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 the hubbard_parameters = 'file' and forget about the rest.

  4. 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.

@MackeEric
Copy link
Collaborator Author

This is being addressed in PR #13

@bastonero
Copy link
Collaborator

Fixed in #32

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 a pull request may close this issue.

2 participants