Octopus
wannier90lib_interface_oct_m Module Reference

Interface module to Wannier 90 library. More...

Detailed Description

Interface module to Wannier 90 library.

Functions/Subroutines

subroutine, public wannier90lib_init_w90main (namespace, space, mesh, ions, kpoints, st, wannier_opts, w90main, stdout, stderr, ierr)
 Initialize wannier90 library data. More...
 
subroutine wannier90lib_set_atom_data (w90main, ions)
 Set atom data in wannier90 library. More...
 
subroutine wannier90lib_set_projections (w90main, wannier_opts)
 Parse projections. More...
 
subroutine wannier90lib_warn_inputs (wannier_opts)
 Check for options in .win file. More...
 
subroutine, public wannier90lib_create_wannier90_amn (w90main, wan_opts, exclude_list, band_index, space, mesh, latt, st, kpoints, projection)
 Calculate wannier90 Projection Matrix. More...
 
subroutine, public wannier90lib_create_wannier90_mmn (w90main, exclude_list, band_index, mesh, st, ions, overlap)
 Kohn-Sham State Overlap Matrix. More...
 

Function/Subroutine Documentation

◆ wannier90lib_init_w90main()

subroutine, public wannier90lib_interface_oct_m::wannier90lib_init_w90main ( type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
class(mesh_t), intent(in)  mesh,
type(ions_t), intent(in)  ions,
type(kpoints_t), intent(in)  kpoints,
type(states_elec_t), intent(in)  st,
type(wan_opts_t), intent(in)  wannier_opts,
type(lib_common_type), intent(inout)  w90main,
integer, intent(inout)  stdout,
integer, intent(inout)  stderr,
integer, intent(inout)  ierr 
)

Initialize wannier90 library data.

Definition at line 148 of file wannier90lib_interface.F90.

◆ wannier90lib_set_atom_data()

subroutine wannier90lib_interface_oct_m::wannier90lib_set_atom_data ( type(lib_common_type), intent(inout)  w90main,
type(ions_t), intent(in)  ions 
)
private

Set atom data in wannier90 library.

Wannier90 needs atomic information (positions and species) to properly parse the projections block from the .win file. This subroutine extracts this data from the octopus ions structure and passes it to the wannier90 library.

Definition at line 210 of file wannier90lib_interface.F90.

◆ wannier90lib_set_projections()

subroutine wannier90lib_interface_oct_m::wannier90lib_set_projections ( type(lib_common_type), intent(inout)  w90main,
type(wan_opts_t), intent(in)  wannier_opts 
)
private

Parse projections.

This subroutine reads the projections specified in the .win file and set them in wannier90 library.

Definition at line 251 of file wannier90lib_interface.F90.

◆ wannier90lib_warn_inputs()

subroutine wannier90lib_interface_oct_m::wannier90lib_warn_inputs ( type(wan_opts_t), intent(in)  wannier_opts)
private

Check for options in .win file.

Some options are not set from .win file but directly from octopus by calling the library. If these options are present in .win file, issue warning to user.

Definition at line 297 of file wannier90lib_interface.F90.

◆ wannier90lib_create_wannier90_amn()

subroutine, public wannier90lib_interface_oct_m::wannier90lib_create_wannier90_amn ( type(lib_common_type), intent(in)  w90main,
type(wan_opts_t), intent(in)  wan_opts,
logical, dimension(:), intent(in)  exclude_list,
integer, dimension(:), intent(in)  band_index,
class(space_t), intent(in)  space,
class(mesh_t), intent(in)  mesh,
type(lattice_vectors_t), intent(in)  latt,
type(states_elec_t), intent(in)  st,
type(kpoints_t), intent(in)  kpoints,
complex(real64), dimension(:, :, :), intent(out), contiguous  projection 
)

Calculate wannier90 Projection Matrix.

Definition at line 358 of file wannier90lib_interface.F90.

◆ wannier90lib_create_wannier90_mmn()

subroutine, public wannier90lib_interface_oct_m::wannier90lib_create_wannier90_mmn ( type(lib_common_type), intent(in)  w90main,
logical, dimension(:), intent(in)  exclude_list,
integer, dimension(:), intent(in)  band_index,
class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in), target  st,
type(ions_t), intent(in)  ions,
complex(real64), dimension(:, :, :, :), intent(out), contiguous  overlap 
)

Kohn-Sham State Overlap Matrix.

@NOTE Copy-pasted from wannier90_interface.F90, then modified to store full overlap in memory, rather than write out to file

@TODO

  • Implement properly for BATCH_PACKED

Definition at line 417 of file wannier90lib_interface.F90.