Get forces from quantum espresso calc

Not sure if this is the place to ask about plugins too so sorry if it’s not.
I need to do what is being done here for other structures. In this example the dict_of_forces that is computed in quantum espresso is just written there assuming it’s been computed already.
I was wondering is there a command in aiida-qe or aiida-phonopy to get this result from the qe output file or do I need to write it?

If I remember correctly, Aiida-Quantumespresso already parses the forces and includes them. It may be worthwhile to look at Bastonero’s aiida-vibroscopy plugin for ideas

1 Like

The forces are already parsed and stored in the output_trajectory output. This is a TrajectoryData that records various properties for each “frame” of the simulation. If it was an scf or nscf, there would be just a single frame. But for relaxations, there would be multiple.
You can get the forces array as follows:

load_node(PK).outputs.output_trajectory.get_array('forces')

where you replace PK with the pk of the completed PwCalculation.

1 Like

Just randomly passed through here. If you’d like to, we have from some months published the aiida-vibroscopy package, which uses both aiida-phonopy and aiida-quantumespresso to perform phonons via finite difference in supercells. It also supports Hubbard (U+V) and the calculation of IR/Raman spectra with any funcitonal, thanks to the use of finite electric fields.
Here the extended documentation: AiiDA Vibroscopy — aiida-vibroscopy 1.0.2 documentation.
HTH