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 174 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 202 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 223 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 250 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 294 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 341 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 370 of file wannier.F90.