Octopus
wannier_oct_m Module Reference

Wannier module. More...

Detailed Description

Wannier module.

This module contains types and routines related to Wannier functions. Used in TD runs where Wannier functionality is enabled.

Data Types

type  wannier_t
 Main object containing all Wannier-related data and methods. More...
 

Functions/Subroutines

subroutine wannier_init_from_input (this, namespace, kpoints)
 Initialize wannier object options from input files. More...
 
subroutine wannier_init_parallelization (this, namespace, st, ions, kpoints)
 Initialize parallelization for wannier object. More...
 
subroutine wannier_init_data_from_file (this, kpoints, space)
 Initialize wannier object data for TD run. More...
 
subroutine wannier_restart_write_data (this, namespace, mc, gr)
 Write TD Wannier restart data. More...
 
subroutine wannier_restart_read_data (this, namespace, mc, gr)
 Read TD Wannier restart data. More...
 
subroutine wannier_write_iter (this, namespace, outp, iter, ions, kpoints)
 Write TD Wannier data every n time steps. More...
 
subroutine wannier_finalize (wan)
 Clean up wannier object data. More...
 

Function/Subroutine Documentation

◆ wannier_init_from_input()

subroutine wannier_oct_m::wannier_init_from_input ( class(wannier_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
type(kpoints_t), intent(in)  kpoints 
)
private

Initialize wannier object options from input files.

This is invoked in a TD run when TDWannierMethod is set.

Definition at line 175 of file wannier.F90.

◆ wannier_init_parallelization()

subroutine wannier_oct_m::wannier_init_parallelization ( class(wannier_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
type(states_elec_t), intent(in)  st,
type(ions_t), intent(in)  ions,
type(kpoints_t), intent(in)  kpoints 
)
private

Initialize parallelization for wannier object.

This initializes the wannier90 library object correctly. The only available parallelization mechanism in wannier90 is kpoint parallelization which is handled using the octopus internal communicator.

Definition at line 203 of file wannier.F90.

◆ wannier_init_data_from_file()

subroutine wannier_oct_m::wannier_init_data_from_file ( class(wannier_t), intent(inout)  this,
type(kpoints_t), intent(in)  kpoints,
type(electron_space_t), intent(in)  space 
)
private

Initialize wannier object data for TD run.

Reads centers and U matrices from prior GS wannierization. Does not change any wannier-related options.

Definition at line 224 of file wannier.F90.

◆ wannier_restart_write_data()

subroutine wannier_oct_m::wannier_restart_write_data ( class(wannier_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
type(multicomm_t), intent(in)  mc,
class(mesh_t), intent(in)  gr 
)
private

Write TD Wannier restart data.

The necessary restart data for TD Wannier functionality are the centers and the U matrices.

Definition at line 251 of file wannier.F90.

◆ wannier_restart_read_data()

subroutine wannier_oct_m::wannier_restart_read_data ( class(wannier_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
type(multicomm_t), intent(in)  mc,
class(mesh_t), intent(in)  gr 
)
private

Read TD Wannier restart data.

The necessary restart data for TD Wannier functionality are the centers and the U matrices.

Definition at line 295 of file wannier.F90.

◆ wannier_write_iter()

subroutine wannier_oct_m::wannier_write_iter ( class(wannier_t), intent(in)  this,
type(namespace_t), intent(in)  namespace,
type(output_t), intent(inout)  outp,
integer, intent(in)  iter,
class(ions_t), intent(in)  ions,
type(kpoints_t), intent(in)  kpoints 
)
private

Write TD Wannier data every n time steps.

Definition at line 342 of file wannier.F90.

◆ wannier_finalize()

subroutine wannier_oct_m::wannier_finalize ( type(wannier_t), intent(inout)  wan)
private

Clean up wannier object data.

Definition at line 371 of file wannier.F90.