w90_kslice Module

Plots the intersections of constant-energy isosurfaces with a BZ slice, and/or makes a heatmap plot on the slice:

  • Minus the Berry curvature, summed over occupied bands

  • The k-integrand of the orbital magnetization formula

  • The k-integrand of the spin Hall conductivity formula

The slice is defined in reduced coordinates by three input variables:

kslice_corner(1:3) is the lower left corner
kslice_b1(1:3) and kslice_b2(1:3) are the vectors subtending the slice

Used by

  • module~~w90_kslice~~UsedByGraph module~w90_kslice w90_kslice program~postw90 postw90 program~postw90->module~w90_kslice

Contents


Subroutines

public subroutine k_slice()

Main routine

Arguments

None

private subroutine kslice_print_info(plot_fermi_lines, fermi_lines_color, plot_curv, plot_morb, plot_shc)

Arguments

Type IntentOptional AttributesName
logical, intent(in) :: plot_fermi_lines
logical, intent(in) :: fermi_lines_color
logical, intent(in) :: plot_curv
logical, intent(in) :: plot_morb
logical, intent(in) :: plot_shc

private subroutine write_data_file(filename, fmt, data)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: filename
character(len=*), intent(in) :: fmt
real(kind=dp), intent(in) :: data(:,:)

private subroutine write_coords_file(filename, fmt, coords, vals, mask, blocklen)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: filename
character(len=*), intent(in) :: fmt
real(kind=dp), intent(in) :: coords(:,:)
real(kind=dp), intent(in) :: vals(:,:,:)
logical, intent(in), optional :: mask(:,:)
integer, intent(in), optional :: blocklen

private subroutine script_common(scriptunit, areab1b2, square)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: scriptunit
real(kind=dp), intent(in) :: areab1b2
character(len=25) :: square

private subroutine script_fermi_lines(scriptunit)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: scriptunit