(git:20da4d9)
Loading...
Searching...
No Matches
negf_green_methods Module Reference

Subroutines to compute Green functions. More...

Data Types

type  sancho_work_matrices_type
 

Functions/Subroutines

subroutine, public sancho_work_matrices_create (work, fm_struct)
 Create work matrices required for the Lopez-Sancho algorithm.
 
subroutine, public sancho_work_matrices_release (work)
 Release work matrices.
 
subroutine, public do_sancho (g_surf, omega, h0, s0, h1, s1, conv, transp, work)
 Iterative method to compute a retarded surface Green's function at the point omega.
 
subroutine, public negf_contact_self_energy (self_energy_c, omega, g_surf_c, h_sc0, s_sc0, zwork1, zwork2, transp)
 Compute the contact self energy at point 'omega' as self_energy_C = [omega * S_SC0 - KS_SC0] * g_surf_c(omega - v_C) * [omega * S_SC0 - KS_SC0]^T, where C stands for the left (L) / right (R) contact.
 
subroutine, public negf_contact_broadening_matrix (gamma_c, self_energy_c)
 Compute contact broadening matrix as gamma_C = i (self_energy_c^{ret.} - (self_energy_c^{ret.})^C)
 
subroutine, public negf_retarded_green_function (g_ret_s, omega, self_energy_ret_sum, h_s, s_s, v_hartree_s)
 Compute the retarded Green's function at point 'omega' as G_S^{ret.} = [ omega * S_S - KS_S - \sum_{contact} self_energy_{contact}^{ret.}]^{-1}.
 

Detailed Description

Subroutines to compute Green functions.

Function/Subroutine Documentation

◆ sancho_work_matrices_create()

subroutine, public negf_green_methods::sancho_work_matrices_create ( type(sancho_work_matrices_type), intent(inout)  work,
type(cp_fm_struct_type), pointer  fm_struct 
)

Create work matrices required for the Lopez-Sancho algorithm.

Parameters
workwork matrices to create (allocated and initialised on exit)
fm_structdense matrix structure
Author
Sergey Chulkov

Definition at line 72 of file negf_green_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sancho_work_matrices_release()

subroutine, public negf_green_methods::sancho_work_matrices_release ( type(sancho_work_matrices_type), intent(inout)  work)

Release work matrices.

Parameters
workwork matrices to release
Author
Sergey Chulkov

Definition at line 105 of file negf_green_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ do_sancho()

subroutine, public negf_green_methods::do_sancho ( type(cp_cfm_type), intent(in)  g_surf,
complex(kind=dp), intent(in)  omega,
type(cp_fm_type), intent(in)  h0,
type(cp_fm_type), intent(in)  s0,
type(cp_fm_type), intent(in)  h1,
type(cp_fm_type), intent(in)  s1,
real(kind=dp), intent(in)  conv,
logical, intent(in)  transp,
type(sancho_work_matrices_type), intent(in)  work 
)

Iterative method to compute a retarded surface Green's function at the point omega.

Parameters
g_surfcomputed retarded surface Green's function (initialised on exit)
omegaargument of the Green's function
h0diagonal block of the Kohn-Sham matrix (must be Hermitian)
s0diagonal block of the overlap matrix (must be Hermitian)
h1off-fiagonal block of the Kohn-Sham matrix
s1off-fiagonal block of the overlap matrix
convconvergence threshold
transpflag which indicates that the matrices h1 and s1 matrices should be transposed
worka set of work matrices needed to compute the surface Green's function
Author
Sergey Chulkov

Definition at line 171 of file negf_green_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ negf_contact_self_energy()

subroutine, public negf_green_methods::negf_contact_self_energy ( type(cp_cfm_type), intent(in)  self_energy_c,
complex(kind=dp), intent(in)  omega,
type(cp_cfm_type), intent(in)  g_surf_c,
type(cp_fm_type), intent(in)  h_sc0,
type(cp_fm_type), intent(in)  s_sc0,
type(cp_cfm_type), intent(in)  zwork1,
type(cp_cfm_type), intent(in)  zwork2,
logical, intent(in)  transp 
)

Compute the contact self energy at point 'omega' as self_energy_C = [omega * S_SC0 - KS_SC0] * g_surf_c(omega - v_C) * [omega * S_SC0 - KS_SC0]^T, where C stands for the left (L) / right (R) contact.

Parameters
self_energy_ccontact self energy (initialised on exit)
omegaenergy point where the contact self energy needs to be computed
g_surf_ccontact surface Green's function
h_sc0scattering region – contact off-diagonal block of the Kohn-Sham matrix
s_sc0scattering region – contact off-diagonal block of the overlap matrix
zwork1complex work matrix of the same shape as s_sc0
zwork2another complex work matrix of the same shape as s_sc0
transpflag which indicates that transposed matrices (KS_C0S and S_C0S) were actually passed
Author
Sergey Chulkov

Definition at line 269 of file negf_green_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ negf_contact_broadening_matrix()

subroutine, public negf_green_methods::negf_contact_broadening_matrix ( type(cp_cfm_type), intent(in)  gamma_c,
type(cp_cfm_type), intent(in)  self_energy_c 
)

Compute contact broadening matrix as gamma_C = i (self_energy_c^{ret.} - (self_energy_c^{ret.})^C)

Parameters
gamma_cbroadening matrix (initialised on exit)
self_energy_cretarded contact self-energy
Author
Sergey Chulkov

Definition at line 314 of file negf_green_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ negf_retarded_green_function()

subroutine, public negf_green_methods::negf_retarded_green_function ( type(cp_cfm_type), intent(in)  g_ret_s,
complex(kind=dp), intent(in)  omega,
type(cp_cfm_type), intent(in)  self_energy_ret_sum,
type(cp_fm_type), intent(in)  h_s,
type(cp_fm_type), intent(in)  s_s,
type(cp_fm_type), intent(in), optional  v_hartree_s 
)

Compute the retarded Green's function at point 'omega' as G_S^{ret.} = [ omega * S_S - KS_S - \sum_{contact} self_energy_{contact}^{ret.}]^{-1}.

Parameters
g_ret_scomplex matrix to store the computed retarded Green's function
omegaenergy point where the retarded Green's function needs to be computed
self_energy_ret_sumsum of contact self-energies
h_sKohn-Sham matrix block of the scattering region
s_soverlap matrix block of the scattering region
v_hartree_scontribution to the Kohn-Sham matrix from the external potential
Author
Sergey Chulkov

Definition at line 348 of file negf_green_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function: