On Sat, 2005-03-26 at 13:58 +0800, xywu wrote:
> 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.

Thank you for noticing this. You are right, there is a bug with
plot_num=12. This will be fixed on the cvs version.

> 
> 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.
> 
plot_num=12 is supposed to work only if tefield=.true. in the pw.x
calculation, otherwise pp.x will not plot any field and stops with an
error message.


> 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
> 
> "
> >From the output file and the code in add_efield.f90, the "first" in the code 
> >is TRUE and the "dipfield" is  FALSE, which means that the subroutine is 
> >only running only at the first call and the dipole correction in periodic 
> >boundary conditions is never used! Is it the truth?
> 
> 
Yes this is true. However, from your output, the region where the field
is reversed seems too large. This region is supposed to be a narrow
region within the vacuum. 


> ------------------------------------------------------------
> Best regards
> 
> Xiyong Wu(X.Y.Wu) 
> E_mail:xywu at imr.ac.cn
> 
> 
> 
> 
> 
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum
-- 
Andrea Dal Corso                    Tel. 0039-040-3787428
SISSA, Via Beirut 2/4               Fax. 0039-040-3787528
34014 Trieste (Italy)               e-mail: dalcorso at sissa.it


Reply via email to