[QE-developers] Two chemical potential method for photoexcited insulators in Quantum Espresso

Giovanni Marini Giovanni.Marini at iit.it
Fri Aug 5 16:04:23 CEST 2022


Dear Quantum Espresso developers,

as this is my first message posted here, let me first introduce myself: my name is Giovanni Marini, I am currently working as a postdoc at Istituto Italiano di Tecnologia, collaborating with Prof. Matteo Calandra. It is a great pleasure for me to become part of this community.

I am writing this post because  we have been working on a new methodology to treat photoexcited insulating system in the ultrafast regime ( see Ref. https://journals.aps.org/prb/abstract/10.1103/PhysRevB.104.144103 ), and we have been developing our implementation inside Quantum Espresso.

At present, we would like to publicly release our implementation, possibly within Quantum Espresso. Let me give some further details on what we have been doing.

Our work is divided in two parts:

The first part operates inside pw.x and allows to perform self-consistent, non-self consistent, total energy, forces and stress tensor calculations in the presence of two chemical potentials, one for the holes and one for the electrons, constraining some of the electrons in a subset of bands (conduction bands). Occupations in valence and conduction must be treated using smearing.
The second part operates inside ph.x (and hp.x) and is intended to allow linear response calculations and electron-phonon matrix elements calculations within the same framework.

As a first step, we would like to publish only the part relative to pw.x, and leave the second part (somewhat more complicated) as a future follow-up.
The current status of the project can be found in my fork of the develop branch, https://gitlab.com/giovannimarini1993/q-e_two_chem_pot . I did my best to follow the developers guidelines. I still didn't open any merge request.

You can find a brief description of the operated changes in the .txt file at the following link: https://file.io/cO1lFd8pYiAW

Changes to the pw.x input include the addition of four new variables, one in the &control namelist, twochem, regulating the activation of a two-chemical potential calculation, and three other variables in &system.  It would be useful for the future to add these variables could be added to the .xml output, as they would be needed in the linear response calculation.

The heart of this new implementation can be found in the new module file "PW/src/two_chem.f90", containing some new specific routines to treat the new case. The normal Quantum Espresso workflow would be modified in "PW/src/weights.f90", where the new subroutines are invoked when twochem=.true. (nothing changes when twochem=.false.).
Temporarily, I inserted a stop inside the PHonon code when it detects that pw.x  ran with twochem=.true. (I let pw produce  a certain empty file in this case.)

Let me also add that both magnetism (excluding  fixed tot_magnetization case) and non-collinearity are implemented.
Finally, I also put a new test folder (pw_twochem) in the test-suite folder, according to the procedure specified on gitlab, and I modified the documentation in PW/Doc/INPUT_PW.def to explain the new introduced variables.

Let me know what you think of this project and if you deem possible to integrate it inside Quantum Espresso.

Thank you very much and
Best Regards,

Giovanni Marini
Postdoctoral Researcher
Istituto Italiano di Tecnologia

email: giovanni.marini at iit.it
phone number: +39 3888284164

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20220805/7b534da8/attachment.html>


More information about the developers mailing list