Open GeigerJ2 opened 1 month ago
@GeigerJ2. Thanks for reporting the issue. Could you fix it?
btw. There are two EOS examples for quantum espresso; one is using aside-quantumespresso
, and another using an ASE espresso calculator (PythonJob
).
Hi @superstar54, sure, I'll see when I get around implementing a fix. Yes, I saw the one using the ASE espresso calculator, but wasn't aware of the one using aiida-quantumespresso
. Could you point me to that, please? Or do you just mean the general EOS workchain? Ideally, I'd just run the pw.x
executable via ShellJob
, using a standard function to write the input (as outlined here), and then a minimal parser to get the results. The idea is to keep it as minimal as possible, with no AiiDA boilerplate, to get a good comparison for the ADIS project. At least, that's my idea, and I think with WorkGraph
and aiida-shell
we can achieve that.
Source code: https://github.com/superstar54/workgraph-collections/blob/main/workgraph_collections/qe/eos.py Example usage: https://workgraph-collections.readthedocs.io/en/latest/qe/eos.html
Source code: https://github.com/superstar54/workgraph-collections/blob/main/workgraph_collections/ase/espresso/eos.py Example usage: https://workgraph-collections.readthedocs.io/en/latest/ase/espresso/eos.html
I think with WorkGraph and aiida-shell we can achieve that.
Yes
Cheers, thanks for the pointers! <3
Now, ideally, we wouldn't rely on PwCalculation
of aiida-quantumespresso
and aiida-pseudo
, but run pw.x
directly via ShellJob
so we can fit all the code snuggly in a small jupyter notebook (which is what I've been trying today).
I just tried running the
eos
WorkGraph
fromworkgraph_collections
and ended up passing aStructureData
where anAtoms
object should have been passed. The traceback I got (see below) was a bit misleading, and led me to think there was something wrong with my other inputs, e.g., themetadata
dictionary (that is, until I printed the actual offendingdata
object in theValueError
). AsStructureData
doesn't have a.value
property, the exception was triggered and assumed it wasn't an AiiDA data type. Maybe the check can be further refined here, or at least the object added in the exception for easier debugging.