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:
pw90_kslice_corner(1:3) is the lower left corner pw90_kslice_b1(1:3) and pw90_kslice_b2(1:3) are the vectors subtending the slice
Main routine
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(pw90_berry_mod_type), | intent(in) | :: | pw90_berry | |||
| type(dis_manifold_type), | intent(in) | :: | dis_manifold | |||
| real(kind=dp), | intent(in), | allocatable | :: | fermi_energy_list(:) | ||
| type(kmesh_info_type), | intent(in) | :: | kmesh_info | |||
| real(kind=dp), | intent(in) | :: | kpt_latt(:,:) | |||
| type(pw90_kslice_mod_type), | intent(in) | :: | pw90_kslice | |||
| type(pw90_oper_read_type), | intent(in) | :: | pw90_oper_read | |||
| type(pw90_band_deriv_degen_type), | intent(in) | :: | pw90_band_deriv_degen | |||
| type(pw90_spin_mod_type), | intent(in) | :: | pw90_spin | |||
| type(ws_region_type), | intent(in) | :: | ws_region | |||
| type(pw90_spin_hall_type), | intent(in) | :: | pw90_spin_hall | |||
| type(print_output_type), | intent(in) | :: | print_output | |||
| type(wannier_data_type), | intent(in) | :: | wannier_data | |||
| type(ws_distance_type), | intent(inout) | :: | ws_distance | |||
| type(wigner_seitz_type), | intent(inout) | :: | wigner_seitz | |||
| complex(kind=dp), | intent(inout), | allocatable | :: | AA_R(:,:,:,:) | ||
| complex(kind=dp), | intent(inout), | allocatable | :: | BB_R(:,:,:,:) | ||
| complex(kind=dp), | intent(inout), | allocatable | :: | CC_R(:,:,:,:,:) | ||
| complex(kind=dp), | intent(inout), | allocatable | :: | HH_R(:,:,:) | ||
| complex(kind=dp), | intent(inout), | allocatable | :: | SH_R(:,:,:,:) | ||
| complex(kind=dp), | intent(inout), | allocatable | :: | SHR_R(:,:,:,:,:) | ||
| complex(kind=dp), | intent(inout), | allocatable | :: | SR_R(:,:,:,:,:) | ||
| complex(kind=dp), | intent(inout), | allocatable | :: | SS_R(:,:,:,:) | ||
| complex(kind=dp), | intent(inout), | allocatable | :: | SAA_R(:,:,:,:,:) | ||
| complex(kind=dp), | intent(inout), | allocatable | :: | SBB_R(:,:,:,:,:) | ||
| complex(kind=dp), | intent(in) | :: | v_matrix(:,:,:) | |||
| complex(kind=dp), | intent(in) | :: | u_matrix(:,:,:) | |||
| real(kind=dp), | intent(in) | :: | bohr | |||
| real(kind=dp), | intent(in) | :: | eigval(:,:) | |||
| real(kind=dp), | intent(in) | :: | real_lattice(3,3) | |||
| real(kind=dp), | intent(in) | :: | scissors_shift | |||
| integer, | intent(in) | :: | mp_grid(3) | |||
| integer, | intent(in) | :: | fermi_n | |||
| integer, | intent(in) | :: | num_bands | |||
| integer, | intent(in) | :: | num_kpts | |||
| integer, | intent(in) | :: | num_wann | |||
| integer, | intent(in) | :: | num_valence_bands | |||
| logical, | intent(in) | :: | effective_model | |||
| logical, | intent(in) | :: | have_disentangled | |||
| character(len=50), | intent(in) | :: | seedname | |||
| integer, | intent(in) | :: | stdout | |||
| type(timer_list_type), | intent(inout) | :: | timer | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| 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 | |||
| integer, | intent(in) | :: | stdout | |||
| type(pw90_berry_mod_type), | intent(in) | :: | pw90_berry | |||
| real(kind=dp), | intent(in), | allocatable | :: | fermi_energy_list(:) | ||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | stdout | |||
| character(len=*), | intent(in) | :: | filename | |||
| character(len=*), | intent(in) | :: | fmt | |||
| real(kind=dp), | intent(in) | :: | data(:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | stdout | |||
| 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 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | scriptunit | |||
| real(kind=dp), | intent(in) | :: | areab1b2 | |||
| character(len=25), | intent(in) | :: | square | |||
| character(len=50), | intent(in) | :: | seedname |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | scriptunit | |||
| character(len=50), | intent(in) | :: | seedname | |||
| real(kind=dp), | intent(in), | allocatable | :: | fermi_energy_list(:) |