Commit c84a6401 authored by dceresoli's avatar dceresoli

Changed RDG-related plot_num to 19 and 20.

plot_num=9 is now density minus superposition of atomic densities.



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@9992 c92efa57-630b-4861-b058-cf58834340f0
parent 9dfed7d5
......@@ -82,10 +82,7 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pp.x
8 = electron localization function (ELF)
9 = Reduced density gradient
(J. Chem. Theory Comput. 7, 625 (2011))
Set the isosurface between 0.3 and 0.6 to plot the
non-covalent interactions (see also plot_num = 19)
9 = charge density minus superposition of atomic densities
10 = integrated local density of states (ILDOS)
from emin to emax (emin, emax in eV)
......@@ -104,8 +101,14 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pp.x
18 = The exchange and correlation magnetic field in
the noncollinear case
19 = Product of the electron density (charge) and the second
eigenvalue of the electron-density Hessian matrix
19 = Reduced density gradient
(J. Chem. Theory Comput. 7, 625 (2011))
Set the isosurface between 0.3 and 0.6 to plot the
non-covalent interactions (see also plot_num = 20)
20 = Product of the electron density (charge) and the second
eigenvalue of the electron-density Hessian matrix;
used to colorize the RDG plot (plot_num = 19)
}
}
......
......@@ -146,7 +146,7 @@ SUBROUTINE extract (filplot,plot_num)
!
IF (plot_num == -1) RETURN
!
IF (plot_num < 0 .or. plot_num > 19) CALL errore ('postproc', &
IF (plot_num < 0 .or. plot_num > 20) CALL errore ('postproc', &
'Wrong plot_num', abs (plot_num) )
IF (plot_num == 7 .or. plot_num == 13 .or. plot_num==18) THEN
......
......@@ -22,12 +22,12 @@ SUBROUTINE punch_plot (filplot, plot_num, sample_bias, z, dz, &
USE constants, ONLY : rytoev
USE cell_base, ONLY : at, bg, omega, alat, celldm, ibrav
USE ions_base, ONLY : nat, ntyp => nsp, ityp, tau, zv, atm
USE run_info, ONLY : title
USE run_info, ONLY : title
USE extfield, ONLY : tefield, dipfield
USE fft_base, ONLY : dfftp
USE fft_interfaces, ONLY : fwfft, invfft
USE gvect, ONLY : gcutm
USE gvecs, ONLY : dual
USE gvecs, ONLY : dual
USE klist, ONLY : nks, nkstot, xk
USE lsda_mod, ONLY : nspin, current_spin
USE ener, ONLY : ehart
......@@ -52,7 +52,7 @@ SUBROUTINE punch_plot (filplot, plot_num, sample_bias, z, dz, &
#endif
! auxiliary vector
REAL(DP), ALLOCATABLE :: raux (:)
REAL(DP), ALLOCATABLE :: raux (:), raux2(:,:)
IF (filplot == ' ') RETURN
......@@ -172,9 +172,29 @@ SUBROUTINE punch_plot (filplot, plot_num, sample_bias, z, dz, &
CALL do_elf (raux)
ELSEIF (plot_num == 9) THEN
!
! plot of the charge density minus the atomic rho
!
allocate (raux2(dfftp%nnr,nspin))
raux2 = 0.d0
call atomic_rho(raux2, nspin)
rho%of_r(:,:) = rho%of_r(:,:) - raux2
deallocate (raux2)
IF (noncolin) CALL errore('punch_plot','rdg+noncolin not yet implemented',1)
CALL do_rdg (raux) ! in elf.f90
IF (noncolin) THEN
CALL dcopy (dfftp%nnr, rho%of_r, 1, raux, 1)
ELSE
IF (spin_component == 0) THEN
CALL dcopy (dfftp%nnr, rho%of_r (1, 1), 1, raux, 1)
DO is = 2, nspin
CALL daxpy (dfftp%nnr, 1.d0, rho%of_r (1, is), 1, raux, 1)
ENDDO
ELSE
IF (nspin == 2) current_spin = spin_component
CALL dcopy (dfftp%nnr, rho%of_r (1, current_spin), 1, raux, 1)
CALL dscal (dfftp%nnr, 0.5d0 * nspin, raux, 1)
ENDIF
ENDIF
ELSEIF (plot_num == 10) THEN
......@@ -247,10 +267,20 @@ SUBROUTINE punch_plot (filplot, plot_num, sample_bias, z, dz, &
ELSE
CALL errore('punch_plot','B_xc available only when noncolin=.true.',1)
ENDIF
ELSEIF (plot_num == 19) THEN
!
! Reduced density gradient
!
IF (noncolin) CALL errore('punch_plot','rdg+noncolin not yet implemented',1)
CALL do_rdg (raux) ! in elf.f90
ELSEIF (plot_num == 20) THEN
!
! Density * second eigenvalue of Hessian of density (for coloring RDG plots)
!
IF (noncolin) CALL errore('punch_plot','rdg+noncolin not yet implemented',1)
CALL do_sl2rho (raux) ! in elf.f90
CALL do_sl2rho (raux) ! in elf.f90
ELSE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment