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