I could not find a way to pass a hubbard node as input to SelfConsistentHubbardWorkChain in a way such that the provenance of those Hubbard parameters was tracked (as one would do with a structure node, for instance).
The use case I have in mind is running one SelfConsistentHubbardWorkChain with a given grid of q-points, and doing a final check with a finer q-grid (another instance of SelfConsistentHubbardWorkChain) to see whether the calculated value of U is well converged with respect to q-sampling. I used the following to pass the Hubbard parameters calculated by the first WC to the second one, however provenance wasn't tracked.
#node 9415 is the hubbard node, output of the first WC, as seen in `Verdi node show <WC_node>`:
Outputs PK Type
--------- ---- -------------
hubbard 9415 Dict
structure 9419 StructureData
#Loading the node and doing:
result_hubbard = load_node(9415)
builder = SelfConsistentHubbardWorkChain.get_builder()
builder.structure = structure
builder.hubbard_u=Dict(dict={
result_hubbard.get_dict()['sites'][0]['kind']:float(result_hubbard.get_dict()['sites'][0]['value']),
result_hubbard.get_dict()['sites'][1]['kind']:float(result_hubbard.get_dict()['sites'][1]['value']),
})
Feel free to close the issue if there is a way to do that and I just didn't find it.
I could not find a way to pass a
hubbard
node as input toSelfConsistentHubbardWorkChain
in a way such that the provenance of those Hubbard parameters was tracked (as one would do with astructure
node, for instance).The use case I have in mind is running one
SelfConsistentHubbardWorkChain
with a given grid of q-points, and doing a final check with a finer q-grid (another instance ofSelfConsistentHubbardWorkChain
) to see whether the calculated value of U is well converged with respect to q-sampling. I used the following to pass the Hubbard parameters calculated by the firstWC
to the second one, however provenance wasn't tracked.Feel free to close the issue if there is a way to do that and I just didn't find it.