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

Priority of incar parameters #583

Open
Tracked by #634
gpetretto opened this issue May 9, 2022 · 4 comments
Open
Tracked by #634

Priority of incar parameters #583

gpetretto opened this issue May 9, 2022 · 4 comments

Comments

@gpetretto
Copy link

Environment

  • Operating system: macos
  • aiida-core version/branch+commit: 1.6.8
  • aiida-vasp version/branch+commit: latest develop 7c0bee1

Steps that lead to the error

According to the documentation (https://aiida-vasp.readthedocs.io/en/latest/concepts/parameters.html#how-parameters-are-prioritized-and-set) the parameters set through inputs.parameters.incar should have the lowest priority. However, considering the run_relax.py example and adding ediffg to the INCAR dictionary I have that this is the value actually used in the calculation, even though the inputs.relax.force_cutoff is set to a different value.

i.e. with this modification

<     INCAR = {'incar': {'encut': 240, 'ismear': 0, 'sigma': 0.1, 'system': 'test system'}}
---
>     INCAR = {'incar': {'encut': 240, 'ismear': 0, 'sigma': 0.1, 'system': 'test system', "ediffg": -0.1}}

VASP is executed with EDIFFG=-0.1, contrarily to the example described in the documentation.

Looking at the code it seems that when the _set_override_vasp_parameters is called in the ParametersMassage

def _set_override_vasp_parameters(self):
the value from inputs.relax.force_cutoff is overridden by the one in inputs.parameters.incar.ediffg.

Is this is bug, or am I missing something?

@zhubonan
Copy link
Member

Hmm I think that the documentation is probably outdated here!
Having those under incar passed right through is the intended behavour.
If one want to use inputs.relax.force_cutoff then the relavant incar tag should not be set directly

@gpetretto
Copy link
Author

Hi @zhubonan, thanks for the clarification. I think that the documentation comes from this discussion #560.

Just to be sure, the correct order of the priority would then be:

  1. Workchain input parameter
  2. Workflow input parameter
  3. INCAR passthrough parameter

or a different one?

@atztogo
Copy link
Collaborator

atztogo commented May 10, 2022

@espenfl, could you confirm this?

@espenfl
Copy link
Collaborator

espenfl commented Sep 15, 2022

@gpetretto Yes, any input supplied in the incar namespace within the parameters is passed untouched to the calculation and overrides anything else. So this should be used with care. We are in the process of updating all the documentation in preparation for the release that is compatible with the new AiiDA version.

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

No branches or pull requests

4 participants