w90_library_c Module


Uses

  • module~~w90_library_c~~UsesGraph module~w90_library_c w90_library_c iso_c_binding iso_c_binding module~w90_library_c->iso_c_binding module~w90_library w90_library module~w90_library_c->module~w90_library module~w90_library->iso_c_binding module~w90_comms w90_comms module~w90_library->module~w90_comms module~w90_constants w90_constants module~w90_library->module~w90_constants module~w90_io w90_io module~w90_library->module~w90_io module~w90_types w90_types module~w90_library->module~w90_types module~w90_wannier90_types w90_wannier90_types module~w90_library->module~w90_wannier90_types module~w90_comms->module~w90_constants module~w90_error_base w90_error_base module~w90_comms->module~w90_error_base module~w90_io->module~w90_constants module~w90_types->module~w90_constants module~w90_wannier90_types->module~w90_constants

Derived Types

type, public, bind(c) ::  w90_data

Components

Type Visibility Attributes Name Initial
type(c_ptr), public :: caddr

Subroutines

public subroutine w90_create(w90_obj) bind(c)

return a c-pointer to a instance of the wannier90 library data structure

Arguments

Type IntentOptional Attributes Name
type(w90_data) :: w90_obj

public subroutine w90_delete(w90_obj) bind(c)

deallocates/clears a c-pointer to a instance of the wannier90 library data structure

Arguments

Type IntentOptional Attributes Name
type(w90_data) :: w90_obj

public subroutine w90_get_nk(w90_obj, n) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: n

public subroutine w90_get_nw(w90_obj, n) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: n

public subroutine w90_get_nn(w90_obj, n, ierr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: n
integer(kind=c_int) :: ierr

public subroutine w90_get_gkpb(w90_obj, gkpb, ierr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: gkpb
integer(kind=c_int) :: ierr

public subroutine w90_get_nnkp(w90_obj, nnkp, ierr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: nnkp
integer(kind=c_int) :: ierr

public subroutine w90_input_setopt_f(w90_obj, seedname, ierr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
character(kind=c_char, len=*) :: seedname
integer(kind=c_int) :: ierr

public subroutine w90_input_reader(w90_obj, ierr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
integer(kind=c_int) :: ierr

public subroutine w90_project_overlap(w90_obj, ierr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
integer(kind=c_int) :: ierr

public subroutine w90_print_info(w90_obj, ierr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
integer(kind=c_int) :: ierr

public subroutine w90_set_eigval(w90_obj, eigval_cptr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: eigval_cptr

public subroutine w90_set_m_local(w90_obj, m_cptr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: m_cptr

public subroutine w90_set_u_matrix(w90_obj, a_cptr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: a_cptr

public subroutine w90_set_u_opt(w90_obj, a_cptr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: a_cptr

public subroutine w90_disentangle(w90_obj, ierr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
integer(kind=c_int) :: ierr

public subroutine w90_wannierise(w90_obj, ierr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
integer(kind=c_int) :: ierr

public subroutine w90_get_centres(w90_obj, centres) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: centres

public subroutine w90_get_spreads(w90_obj, spreads) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: spreads

public subroutine w90_get_nproj(w90_obj, n) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: n

public subroutine w90_get_proj(w90_obj, n, site, l, m, s, rad, x, z, sqa, zona, ierr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: n
type(c_ptr), value :: site
type(c_ptr), value :: l
type(c_ptr), value :: m
type(c_ptr), value :: s
type(c_ptr), value :: rad
type(c_ptr), value :: x
type(c_ptr), value :: z
type(c_ptr), value :: sqa
type(c_ptr), value :: zona
integer(kind=c_int) :: ierr

public subroutine w90_get_num_excl_bands(w90_obj, num_excl_bands) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: num_excl_bands

public subroutine w90_get_excl_bands(w90_obj, excl_bands, ierr) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
type(c_ptr), value :: excl_bands
integer(kind=c_int) :: ierr

public subroutine w90_set_option_double_f(w90_obj, keyword, cdble) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
character(kind=c_char, len=*) :: keyword
real(kind=c_double), value :: cdble

public subroutine w90_set_option_double1d_f(w90_obj, keyword, arg_cptr, x) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
character(kind=c_char, len=*) :: keyword
type(c_ptr), value :: arg_cptr
integer(kind=c_int), value :: x

public subroutine w90_set_option_double2d_f(w90_obj, keyword, arg_cptr, x, y) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
character(kind=c_char, len=*) :: keyword
type(c_ptr), value :: arg_cptr
integer(kind=c_int), value :: x
integer(kind=c_int), value :: y

public subroutine w90_set_option_int_f(w90_obj, keyword, cint) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
character(kind=c_char, len=*) :: keyword
integer(kind=c_int), value :: cint

public subroutine w90_set_option_int1d_f(w90_obj, keyword, arg_cptr, x) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
character(kind=c_char, len=*) :: keyword
type(c_ptr), value :: arg_cptr
integer(kind=c_int), value :: x

public subroutine w90_set_option_int2d_f(w90_obj, keyword, arg_cptr, x, y) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
character(kind=c_char, len=*) :: keyword
type(c_ptr), value :: arg_cptr
integer(kind=c_int), value :: x
integer(kind=c_int), value :: y

public subroutine w90_set_option_logical_f(w90_obj, keyword, boolarg) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
character(kind=c_char, len=*) :: keyword
logical(kind=c_bool), value :: boolarg

public subroutine w90_set_option_text_f(w90_obj, keyword, text) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
character(kind=c_char, len=*) :: keyword
character(kind=c_char, len=*) :: text

public subroutine w90_set_option_text2d_f(w90_obj, keyword, text) bind(c)

Arguments

Type IntentOptional Attributes Name
type(w90_data), value :: w90_obj
character(kind=c_char, len=*), intent(in) :: keyword
character(kind=c_char, len=*), intent(in) :: text(:)