aiida-quantumespresso icon indicating copy to clipboard operation
aiida-quantumespresso copied to clipboard

plugin for dynmat.x

Open ghost opened this issue 2 years ago • 4 comments

Hi, A plugin for dynmat.x would be very helpful.

Thanks, Rita

ghost avatar Oct 19 '22 13:10 ghost

Thanks for opening the issue, @ritamaji! Could you perhaps:

  1. Describe why and how you use dynmat.x (i.e. the steps you take when using Quantum ESPRESSO)
  2. Provide some example input and output files of one of your dynmat.x calculations?

That'll help quite a bit in getting me started. 🙃

mbercx avatar Oct 19 '22 13:10 mbercx

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:

  1. Describe why and how you use dynmat.x (i.e. the steps you take when using Quantum ESPRESSO)
  2. 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: @.***>

ghost avatar Oct 20 '22 08:10 ghost

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)

  1. Diagonalize the dynamical matrix (but I bet matdyn.x does it too).
  2. Compute infrared and Raman cross sections.
  3. 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?

bastonero avatar Oct 24 '22 14:10 bastonero

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.

sphuber avatar Nov 11 '22 11:11 sphuber