[Pw_forum] about electric field potential in pp.x
xywu
xywu at imr.ac.cn
Sat Mar 26 06:58:28 CET 2005
Dear all,
I add a sawlike electric potential in SCF and want to get the electric
potential from pp.x.
But when i use the pp.x with plot_num=12, the electric field potential
in output file is zero.
But if i get the electric potential from pp.x without adding electric
field in SCF, the error occurs as follows;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
from punch_plot : error # -1
e_field is not calculated
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
what's the wrong with it.
Please give me some advice.
! plot_num selects what is saved in filplot:
! 0=charge
! 1=total potential V_bare+V_H + V_xc
! 2=local ionic potential
! 3=local density of states at e_fermi
! 4=local density of electronic entropy
! 5=STM images
! 6=spin polarization (rho(up)-rho(down))
! 7=|psi|^2
! 8=electron localization function (ELF)
! 9=planar average of all |psi|^2
! 10=integrated local density of states (ILDOS) from
! emin to emax (emin, emax in eV)
! if emax is not specified, emax=E_fermi
! 11=the V_bare + V_H potential
! 12=the electric field potential
! 13=the noncolinear magnetization.
BTW, still another question about add_efield.
In the file add_efield.f90
" !--------------------------------------------------------------------------
subroutine add_efield(rho,vpoten,etotefield)
!--------------------------------------------------------------------------
!
! This routine adds an electric field to the local potential. The
! field is made artificially periodic by introducing a saw-tooth
! potential. The field is parallel to a reciprocal lattice vector bg,
! according to the index edir.
!
! if dipfield is false the electric field correction is added to the
! potential given as input (the bare local potential) only
! at the first call to this routine. In the following calls
! the routine exit.
!
! if dipfield is true the dipole moment per unit surface is calculated
! and used to cancel the electric field due to periodic boundary
! conditions. This potential is added to the Hartree and xc potential
! in v_of_rho. NB: in this case the electric field contribution to the
! band energy is subtracted by deband.
"
" if (first) then
WRITE( stdout,*)
WRITE( stdout,'(5x,"Adding an external electric field")')
WRITE( stdout,'(5x,"Intensity [a.u.]: ",f15.8)') eamp
endif
if (dipfield) WRITE( stdout,'(5x,"Dipole field [a.u.]: ", f15.8)') dip
if (first) then
WRITE( stdout,'(5x,"Potential amplitude [Ry]: ", f15.8)') vamp
WRITE( stdout,'(5x,"Total length [points]: ", i5)') npoints
WRITE( stdout,'(5x,"Total length [bohr rad]: ", f15.8)') length
WRITE( stdout,'(5x,"Field is reversed between points: ",2i6)')nmax, nmax+ndesc
endif
"
And in a typical output file of PW.x with efield:
"
Adding an external electric field
Intensity [a.u.]: 0.01000000
Potential amplitude [Ry]: 0.24480000
Total length [points]: 200
Total length [bohr rad]: 61.20000000
Field is reversed between points: 1 161
"
More information about the Pw_forum
mailing list