w90_geninterp Module

Generic Interpolation Routine

written by Giovanni Pizzi THEOS, EPFL, Station 12, 1015 Lausanne (Switzerland) June, 2012


Uses

  • module~~w90_geninterp~~UsesGraph module~w90_geninterp w90_geninterp module~w90_error w90_error module~w90_geninterp->module~w90_error module~w90_comms w90_comms module~w90_error->module~w90_comms module~w90_error_base w90_error_base module~w90_error->module~w90_error_base module~w90_comms->module~w90_error_base module~w90_constants w90_constants module~w90_comms->module~w90_constants

Used by

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

Subroutines

private subroutine internal_write_header(outdat_unit, commentline, pw90_geninterp)

Writes a header for the output file(s).

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: outdat_unit

Integer with the output file unit. The file must be already open.

character(len=*) :: commentline

no intent? String with the comment taken from the output, to be written on the output

type(pw90_geninterp_mod_type), intent(in) :: pw90_geninterp

public subroutine geninterp_main(dis_manifold, pw90_geninterp, kpt_latt, pw90_band_deriv_degen, ws_region, print_output, wannier_data, ws_distance, wigner_seitz, HH_R, v_matrix, u_matrix, eigval, real_lattice, scissors_shift, mp_grid, num_bands, num_kpts, num_wann, num_valence_bands, effective_model, have_disentangled, seedname, stdout, timer, error, comm)

This routine prints the band energies (and possibly the band derivatives)

Read more…

Arguments

Type IntentOptional Attributes Name
type(dis_manifold_type), intent(in) :: dis_manifold
type(pw90_geninterp_mod_type), intent(in) :: pw90_geninterp
real(kind=dp), intent(in) :: kpt_latt(:,:)
type(pw90_band_deriv_degen_type), intent(in) :: pw90_band_deriv_degen
type(ws_region_type), intent(in) :: ws_region
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 :: HH_R(:,:,:)
complex(kind=dp), intent(in) :: v_matrix(:,:,:)
complex(kind=dp), intent(in) :: u_matrix(:,:,:)
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) :: 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