aiida-quantumespresso
aiida-quantumespresso copied to clipboard
plugin for dynmat.x
Hi, A plugin for dynmat.x would be very helpful.
Thanks, Rita
Thanks for opening the issue, @ritamaji! Could you perhaps:
- Describe why and how you use
dynmat.x
(i.e. the steps you take when using Quantum ESPRESSO) - Provide some example input and output files of one of your
dynmat.x
calculations?
That'll help quite a bit in getting me started. 🙃
Hi, Following are the details:
pw.x < co2.scf.in > co2.scf.out ph.x < co2.ph.in > co2.ph.out dynmat.x < co2.dm.in > co2.dm.out
All inputs and outputs are in the attached folder.
Thanks, Rita
Rita Maji Dip. di Scienze e Metodi dell'Ingegneria Università di Modena e Reggio Emilia(UNIMORE) via Amendola 2, Padiglione Tamburini 42122 Reggio Emilia, Italy. Tel: 0522-522638
On Wed, 19 Oct 2022 at 15:43, Marnik Bercx @.***> wrote:
Thanks for opening the issue, @ritamaji https://github.com/ritamaji! Could you perhaps:
- Describe why and how you use dynmat.x (i.e. the steps you take when using Quantum ESPRESSO)
- Provide some example input and output files of one of your dynmat.x calculations?
That'll help quite a bit in getting me started. 🙃
— Reply to this email directly, view it on GitHub https://github.com/aiidateam/aiida-quantumespresso/issues/851#issuecomment-1284039938, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2KWGEXYWWMAVEPMKP3TXUTWD73HVANCNFSM6AAAAAARJDTB4E . You are receiving this because you were mentioned.Message ID: @.***>
This was actually something that I wanted something like 1 year ago.
The dynmat.x
binary should do the following: (https://www.quantum-espresso.org/Doc/INPUT_DYNMAT.html)
- Diagonalize the dynamical matrix (but I bet
matdyn.x
does it too). - Compute infrared and Raman cross sections.
- Add non-analytical correction at q=0 and computes LO shift.
I wanted to do this in the past, but since I moved to phonopy
and finite fields techniques, and considering all these are just post-processing, I never did it at the end.
Moreover, the Raman cross section can be computed only with NC pseudos and LDA, meaning this is not used quite often.
@ritamaji what would be your usage among the points I listed?
Just wanted to mention that their might be a solution that allows you to run dynmat.x
already without having to code up a CalcJob
and Parser
plugin. The aiida-shell
package, allows you to run any command. Assuming you have successfully run a PhCalculation
, you could run dynmat.x
using aiida-shell
as follows:
import io
from aiida.orm import SinglefileData
from aiida_shell import launch_shell_job
ph = load_node(60535) # Load the completed `PhCalculation` node
# The `PhCalculation` plugin writes the dynamical matrices to `DYN_MAT/dynamical-matrix-` filenames.
# Here we read the content of one of them into a string
dynmat_file = ph.outputs.retrieved.get_object_content('DYN_MAT/dynamical-matrix-1')
results, node = launch_shell_job(
'dynmat.x',
nodes={
'input': SinglefileData(io.StringIO("&INPUT fildyn='dynmat' /"), filename='dynmat.in'),
'dynmat': SinglefileData(io.StringIO(dynmat_file), filename='dynmat.1')
},
metadata={'options': {'filename_stdin': 'input'}},
outputs=['dynmat.axsf', 'dynmat.mold']
)
The results
would be a dictionary with the following nodes:
{'dynmat_axsf': <SinglefileData: uuid: f1e1a204-91b6-4c4f-b816-56e89a5fbcb4 (pk: 60621)>,
'dynmat_mold': <SinglefileData: uuid: 58e92436-fd22-4357-9bd1-146f26c3ef58 (pk: 60622)>,
'stderr': <SinglefileData: uuid: 089a3c0a-6640-40d3-b144-ea99be4624eb (pk: 60623)>,
'stdout': <SinglefileData: uuid: ef285c6b-5477-4694-8318-da33c7d71297 (pk: 60624)>}
I am not familiar with dynmat.x
at all, so not sure if the dynmat.axsf
and dynmat.mold
are the only interesting output files to capture.