subroutine kslice_print_info(plot_fermi_lines, fermi_lines_color, plot_curv, plot_morb, &
plot_shc, stdout, pw90_berry, fermi_energy_list, error, comm)
!================================================!
use w90_constants, only: dp
use w90_postw90_types, only: pw90_berry_mod_type
use w90_comms, only: w90_comm_type
type(pw90_berry_mod_type), intent(in) :: pw90_berry
real(kind=dp), allocatable, intent(in) :: fermi_energy_list(:)
type(w90_error_type), allocatable, intent(out) :: error
type(w90_comm_type), intent(in) :: comm
integer, intent(in) :: stdout
logical, intent(in) :: plot_fermi_lines, fermi_lines_color, plot_curv, plot_morb, plot_shc
integer :: fermi_n
write (stdout, '(/,/,1x,a)') &
'Properties calculated in module k s l i c e'
write (stdout, '(1x,a)') &
'--------------------------------------------'
fermi_n = 0
if (allocated(fermi_energy_list)) fermi_n = size(fermi_energy_list)
if (plot_fermi_lines) then
if (fermi_n /= 1) then
call set_error_input(error, 'Must specify one Fermi level when kslice_task=fermi_lines', &
comm)
return
end if
select case (fermi_lines_color)
case (.false.)
write (stdout, '(/,3x,a)') '* Fermi lines'
case (.true.)
write (stdout, '(/,3x,a)') '* Fermi lines coloured by spin'
end select
write (stdout, '(/,7x,a,f10.4,1x,a)') &
'(Fermi level: ', fermi_energy_list(1), 'eV)'
end if
if (plot_curv) then
if (pw90_berry%curv_unit == 'ang2') then
write (stdout, '(/,3x,a)') '* Negative Berry curvature in Ang^2'
elseif (pw90_berry%curv_unit == 'bohr2') then
write (stdout, '(/,3x,a)') '* Negative Berry curvature in Bohr^2'
end if
if (fermi_n /= 1) then
call set_error_input(error, 'Must specify one Fermi level when kslice_task=curv', comm)
return
end if
elseif (plot_morb) then
write (stdout, '(/,3x,a)') '* Orbital magnetization k-space integrand in eV.Ang^2'
if (fermi_n /= 1) then
call set_error_input(error, 'Must specify one Fermi level when kslice_task=morb', comm)
return
end if
elseif (plot_shc) then
if (pw90_berry%curv_unit == 'ang2') then
write (stdout, '(/,3x,a)') '* Berry curvature-like term ' &
//'of spin Hall conductivity in Ang^2'
elseif (pw90_berry%curv_unit == 'bohr2') then
write (stdout, '(/,3x,a)') '* Berry curvature-like term ' &
//'of spin Hall conductivity in Bohr^2'
end if
if (fermi_n /= 1) then
call set_error_input(error, 'Must specify one Fermi level when kslice_task=shc', comm)
return
end if
end if
end subroutine kslice_print_info