29: Platinum Spin Hall conductivity¶
-
Outline: Calculate spin Hall conductivity (SHC) and plot Berry curvature-like term of fcc Pt considering spin-orbit coupling. To gain a better understanding of this tutorial, it is suggested to read Ref. 1 for a detailed description of the theory and the berry_task=shc: spin Hall conductivity chapter of the User Guide.
-
Directory:
tutorials/tutorial29/
Files can be downloaded here -
Input files
-
Pt.scf
Thepwscf
input file for ground state calculation -
Pt.nscf
Thepwscf
input file to obtain Bloch states on a uniform grid -
Pt.pw2wan
The input file forpw2wannier90
-
Pt.win
Thewannier90
andpostw90
input file
-
-
Run
pwscf
to obtain the ground state of platinum -
Run
pwscf
to obtain the Bloch states on a uniform \(k\)-point grid -
Run
wannier90
to generate a list of the required overlaps (written into thePt.nnkp
file) -
Run
pw2wannier90
to compute the overlaps between Bloch states and the projections for the starting guess (written in thePt.mmn
andPt.amn
files) -
Run
wannier90
to compute the MLWFs -
Run
postw90
- serial execution
- example of parallel execution with 8 MPI processes
Spin Hall conductivity¶
The intrinsic spin Hall conductivity
\(\sigma_{\alpha\beta}^{\text{spin}\gamma}\) is proportional to the BZ
integral of the Berry curvature-like term. To evaluate the SHC using a
\(25\times
25\times 25\) \(k\)-point mesh, set the following lines in Pt.win
,
When calculating SHC, adaptive smearing can be used by commenting the following two lines,
Then set the Fermi energy \(\varepsilon_F\) to a specific value
or invoke Fermi energy scan by setting
fermi_energy_min = [insert here your lower range]
fermi_energy_max = [insert here your upper range]
fermi_energy_step = [insert here your step]
and re-run postw90
. The SHC is written in the output file
Pt-shc-fermiscan.dat
. If only fermi_energy
is set, the output file
will contain SHC at this specific energy; if a list of Fermi energies
are set, the output file will contain SHC calculated at each energy
point in the list: we call this the "Fermi energy scan" of SHC.
To plot the Fermi energy scan of SHC \(\sigma_{xy}^{\text{spin}z}\) versus \(\varepsilon_F\), issue
As a result of the strong and rapid variations of the Berry curvature-like term across the BZ, the SHC converges rather slowly with \(k\)-point sampling, and a \(25\times 25\times 25\) kmesh does not yield a well-converged value.
-
Increase the kmesh density by changing
berry_kmesh
. -
To accelerate the convergence, adaptively refine the kmesh around spikes in the Berry curvature-like term, by adding to
Pt.win
the lines This adds a \(5\times 5\times 5\) fine mesh around those points where \(\vert{\Omega_{\alpha\beta}^{\text{spin}\gamma}}({\bm k})\vert\) exceeds 100berry_curv_unit
. The percentage of points triggering adaptive refinement is reported inPt.wpout
.
Compare the converged SHC value with those obtained in Refs. 1 and 2.
Note some rough estimations of computation progress and time are
reported in Pt.wpout
(see the SHC part of the Solution Booklet). These
may be helpful if the computation time is very long.
Note
-
Since the Kubo formula of SHC involves unoccupied bands, we need to include some unoccupied bands and construct more MLWF. Thus the following parameters should be increased accordingly:
-
Normally we calculate the SHC \(\sigma_{xy}^{\text{spin}z}\), i.e. \(\alpha = x, \beta = y, \gamma = z\). To calculate other components, the following parameters can be set as
1, 2, 3
with1, 2, 3
standing forx, y, z
respectively.
Berry curvature-like term plots¶
The band-projected Berry curvature-like term
\(\Omega_{n,\alpha\beta}^{\text{spin} \gamma}({\bm k})\) is defined in
this equation
of the User Guide.
The following lines in Pt.win
are used
to calculate the energy bands colored by the band-projected Berry
curvature-like term
\(\Omega_{n,\alpha\beta}^{\text{spin} \gamma}({\bm k})\) (in Å\(^2\)), as
well as the \(k\)-resolved Berry curvature-like term
\(\Omega_{\alpha\beta}^{\text{spin} \gamma}({\bm k})\) along high-symmetry
lines in \(k\)-space, i.e. the kpath
plot. First comment the line
berry = true
and then set
kpath = true
kpath_task = bands+shc
kpath_bands_colour = shc
kpath_num_points = 400
kubo_adpt_smr = false
kubo_smr_fixed_en_width = 1
fermi_energy = [insert your value here]
berry_curv_unit = ang2
After executing postw90
, four files are generated: Pt-bands.dat
,
Pt-path.kpt
, Pt-shc.dat
and Pt-bands+shc.py
. Then plot the
band-projected Berry curvature-like term
\(\Omega_{n,\alpha\beta}^{\text{spin}\gamma}({\bm k})\) using the script
generated at runtime,
and compare with Fig. 2 of Ref. 1. Note a large fixed
smearing of 1 eV is used to recover the result in Ref. 1.
You can adjust the kubo_smr_fixed_en_width
as you like to draw a
visually appealing figure. A kpath
plot of 0.05 eV smearing is shown
in the Solution Booklet.
Besides, you can set kpath_task = shc
to only draw \(k\)-resolved term
\(\Omega_{\alpha\beta}^{\text{spin} \gamma}({\bm k})\) (the lower panel of
the figure), or set kpath_task = bands
and kpath_bands_colour = shc
to only draw energy bands colored by the band-projected term
\(\Omega_{n,\alpha\beta}^{\text{spin} \gamma}({\bm k})\) (the upper panel
of the figure).
Similar to that of AHC, we can get a heatmap plot of the \(k\)-resolved
Berry curvature-like term
\(\Omega_{\alpha\beta}^{\text{spin}\gamma}({\bm k})\), i.e. the kslice
plot. To move forward, set kpath = false
and uncomment the following
lines in Pt.win
, Note the kslice_b2
is actually
\((\frac{\sqrt{2}}{4}, \frac{3\sqrt{2}}{4},0.0)\) which leads to a
square slice in the BZ, making it easier to plot in the generated
python
script. Re-run postw90
, and issue
Compare the generated figure with Fig. 3 in Ref. 1, or the Solution Booklet.
Note
Adaptive smearing depends on a uniform kmesh, so when running
kpath
and kslice
plots adaptive smearing should not be used. A
fixed smearing is needed to avoid near zero number in the denominator of the
Kubo formula
in the User Guide. To add a fixed smearing of 0.05 eV, add the following
keywords in thePt.win
,
Input parameters for SHC¶
Finally, we provide a complete list of input parameters that can be used to control the SHC calculation, including the calculation of alternating current (ac) SHC which will be introduced in the next tutorial.
-
general controls for SHC
-
kmesh
-
ac SHC
-
smearing
-
Fermi energy
-
kpath
-
kslice
Their meanings and usages can be found in the berry_task=shc: spin Hall conductivity chapter of the User Guide.
-
Junfeng Qiao, Jiaqi Zhou, Zhe Yuan, and Weisheng Zhao. Calculation of intrinsic spin hall conduc tivity by wannier interpolation. Phys. Rev. B, 98:214402, Dec 2018. URL: https://link.aps.org/doi/10.1103/PhysRevB.9 8.214402, doi:10.1103/PhysRevB.98.214402. ↩↩↩↩↩
-
G. Y. Guo, S. Murakami, T.-W. Chen, and N. Nagaosa. Intrinsic spin hall effect in platinum: first-principles calculations. Phys. Rev. Lett., 100:096401, Mar 2008. URL: https://link.aps.org/doi/10.1103/PhysRevLett.100.096401, doi:10.1103/PhysRevLett.100.096401. ↩