Don't know if it helps or not, but you could check if this sounds right or not:

Let

iz: a fractional position of z

where z ∝ iz

then

In SRC_lapw0/eramps.f, the backramp0 function on line 129 in WIEN2k 17.1:

z0 = z <- Assuming z = iz even though it might just be that z ∝ iz
z0 = 1 - z0, if z > 0.5
z0=abs(z0)
backramp0 = (0.5 - z0)/0.5-0.5

At iz = 0, backramp0 = 0.5, while

backramp0  = -0.5 at iz = 0.5
backramp0 = 0.5 at iz = 1

Therefore, the extrema due seem to occur at iz = 0, iz = 0.5, and iz = 1.

In SRC_lapw0/epot1.f,

line 223: tmp1∝ backget(z,imode,wefeld,ifourier) -> tmp1 ∝ backramp0

line  227: bbu (lm1) ∝ tmp1

line 235: Vfield(LM1,ir)=bbu(LM1)*refeld

such that

Vfield(LM1,ir) ∝ refeld*backramp0

Here refeld = EFIELD. There is likely a lattice constant c somewhere else in the code that I haven't found, such that the triangular wave of Vfield goes from:

EFIELD*c/2 to -EFIELD*c/2

If you were to enter a EFIELD value of 1/c you could see that you get Vfield ∝ 0.5 at iz = 0. You would have to enter an EFIELD value of 2/c to get Vfield ∝ 1 at iz = 0.

So it looks like using EFIELD/c would give you a peak amplitude [1] value of 0.5 at iz = 0, while using 2*EFIELD/c would give you a peak amplitude value of 1 at iz = 0.  This would be before it gets projected onto spherical harmonics in the RMT's as the code mentions it does this on line 159 in epot1.f:

!     Projects the E-field onto spherical harmonics in the RMT's

Note: The makeback function in eramps.f has:

line 317: if(debug)then
line 318: write(6,*)'Efield values along z'

line 323: t1=backget(z,mode,lambda,ifourier)*refeld

So if you want the "Efield values along z" printed in case.output0 after running "x lapw0", try changing line 302 in SRC_lapw0/eramps.f from:

        debug=.false.

to

        debug=.true.

then recompile, lapw0, in siteconfig.

[1] http://www.rfcafe.com/references/electrical/triangle-wave-voltage-conversion.htm

On 1/5/2018 4:20 AM, Peter Blaha wrote:
Besides the remark by L.Marks, that you can get more info by putting -999 for IFIELD, I can only recommend to put R2V in case.in0 and plot the resulting potentials with a field. (Best is a 1D plot along z, preferentially not through any atoms.) You should clearly see where the kinks are, and also how large delta-V / delta-l really is (plot in Ry units in in5).

In that way you can verify if the statement in the UG is correct or not.

PS: I'll take up any "explicit" suggestion for the UG. (but not just "please improve it").

Best regards
Peter

On 01/05/2018 09:55 AM, Stefaan Cottenier wrote:
With my interpretation problem being solved (see previous summarizing mail), I’m left with the two questions about the value and “phase” of the zigzag potentials. For clarity, I repeat here these two questions (copied from the initial post).

Thanks,

Stefaan

================

I know that the Berry phase approach is the recommended way nowadays for applying an external electric field in wien2k. However, for a quick test I resorted to the old zigzag potential that is described in the usersguide, sec. 7.1.

It works, but I have some questions to convince me that I’m interpreting it the right way.

The test situation I try to reproduce is from this paper (https://doi.org/10.1103/PhysRevLett.101.137201), in particular this picture (https://journals.aps.org/prl/article/10.1103/PhysRevLett.101.137201/figures/1/medium ). It’s a free-standing slab of bcc-Fe layers, with an electric field perpendicular to the slab. For convenience, I use only 7 Fe-monolayers (case.struct is pasted underneath). Spin orbit coupling is used, and the Fe spin moments point in the positive z-direction.

This is the input I used in case.in0 (the last line triggers the electric field) :

TOT  XC_PBE     (XC_LDA,XC_PBESOL,XC_WC,XC_MBJ,XC_REVTPSS)

NR2V      IFFT      (R2V)

    30   30  360    2.00  1    min IFFT-parameters, enhancement factor, iprint

30 1.266176 1.

Question 1: The usersguide tells “The electric field (in Ry/bohr) corresponds to EFIELD/c, where c is your c lattice parameter.” In my example, EFIELD=1.266176 and c=65.082193 b, hence the electric field should be 0.019455 Ry/bohr. That’s 0.5 V/Angstrom. However, by comparing the dependence of the moment on the field with the paper cited above, it looks like that value for field is just half of what it should be (=the moment changed as if it were subject to a field of 1.0 V/Angstrom). When looking at the definition of the atomic unit of electric field (https://physics.nist.gov/cgi-bin/cuu/Value?auefld), I see it is defined with Hartree, not Rydberg. This factor 2 would explain it. Does someone know whether 2*EFIELD/c is the proper way to get the value of the applied electric field in WIEN2k?

Question 2: It is not clear from the userguide where the extrema in the zigzagpotential are. Are they at z=0 and z=0.5, as in fig. 6 of http://dx.doi.org/10.1103/PhysRevB.63.165205 ? I assumed so, that’s why the slab in my case struct is positioned around z=0.25. Adding this information to the usersguide or to the documentation in the code would be useful. (or alternatively, printing the zigzag potential as function of z by default would help too)

blebleble                                s-o calc. M||  0.00 0.00  1.00

P                            7 99 P

              RELA

   5.423516  5.423516 65.082193 90.000000 90.000000 90.000000

ATOM  -1: X=0.00000000 Y=0.00000000 Z=0.12500000

MULT= 1          ISPLIT=-2

Fe1        NPT=  781  R0=.000050000 RMT=   2.22000   Z: 26.00000

LOCAL ROT MATRIX:    1.0000000 0.0000000 0.0000000

                      0.0000000 1.0000000 0.0000000

                      0.0000000 0.0000000 1.0000000

ATOM  -2: X=0.00000000 Y=0.00000000 Z=0.37500000

           MULT= 1          ISPLIT=-2

Fe2        NPT=  781  R0=.000050000 RMT=   2.22000   Z: 26.00000

LOCAL ROT MATRIX:    1.0000000 0.0000000 0.0000000

                      0.0000000 1.0000000 0.0000000

                      0.0000000 0.0000000 1.0000000

ATOM  -3: X=0.00000000 Y=0.00000000 Z=0.20833333

           MULT= 1          ISPLIT=-2

Fe3        NPT=  781  R0=.000050000 RMT=   2.22000   Z: 26.00000

LOCAL ROT MATRIX:    1.0000000 0.0000000 0.0000000

                      0.0000000 1.0000000 0.0000000

                      0.0000000 0.0000000 1.0000000

ATOM  -4: X=0.00000000 Y=0.00000000 Z=0.29166667

           MULT= 1          ISPLIT=-2

Fe4        NPT=  781  R0=.000050000 RMT=   2.22000   Z: 26.00000

LOCAL ROT MATRIX:    1.0000000 0.0000000 0.0000000

                      0.0000000 1.0000000 0.0000000

                      0.0000000 0.0000000 1.0000000

ATOM  -5: X=0.50000000 Y=0.50000000 Z=0.16666667

           MULT= 1          ISPLIT=-2

Fe5        NPT=  781  R0=.000050000 RMT=   2.22000   Z: 26.00000

LOCAL ROT MATRIX:    1.0000000 0.0000000 0.0000000

                      0.0000000 1.0000000 0.0000000

                      0.0000000 0.0000000 1.0000000

ATOM  -6: X=0.50000000 Y=0.50000000 Z=0.33333333

           MULT= 1          ISPLIT=-2

Fe6        NPT=  781  R0=.000050000 RMT=   2.22000   Z: 26.00000

LOCAL ROT MATRIX:    1.0000000 0.0000000 0.0000000

                      0.0000000 1.0000000 0.0000000

                      0.0000000 0.0000000 1.0000000

ATOM  -7: X=0.50000000 Y=0.50000000 Z=0.25000000

           MULT= 1          ISPLIT=-2

Fe7        NPT=  781  R0=.000050000 RMT=   2.22000   Z: 26.00000

LOCAL ROT MATRIX:    1.0000000 0.0000000 0.0000000

                      0.0000000 1.0000000 0.0000000

                      0.0000000 0.0000000 1.0000000

    8      NUMBER OF SYMMETRY OPERATIONS
_______________________________________________
Wien mailing list
[email protected]
http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
SEARCH the MAILING-LIST at:  
http://www.mail-archive.com/[email protected]/index.html

Reply via email to