mod_rhoqtools Module

quasiparticle interference (QPI) simulation. Author: Philipp Ruessmann Deprecated: False For details on the quasiparticle interference technique and it's implementation see chapter 4 of the PhD thesis of Philipp Ruessmann which is available here: http://epflicht.ulb.uni-bonn.de/urn/urn:nbn:de:hbz:5:2-162838


Uses

    • mod_datatypes

Subroutines

public subroutine rhoq_write_kmesh(nofks, nxyz, volbz, bzkp, volcub, recbv, bravais)

Author
Philipp Ruessmann
License
Creative Commons License
Category
input-output, k-points, KKRhost

Write the k-mesh to file for the use in the QPI-tool

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nofks

number of points in irreducible BZ

integer, intent(in), dimension(3) :: nxyz

original k-mesh net in the 3 directions of the reciprocal lattice vectors (not xyz directions)

real(kind=dp), intent(in) :: volbz

volume of the BZ

real(kind=dp), intent(in), dimension(3, nofks) :: bzkp

k-point mesh

real(kind=dp), intent(in), dimension(nofks) :: volcub

Weight of the k-points

real(kind=dp), intent(in), dimension(3, 3) :: recbv

Reciprocal basis vectors

real(kind=dp), intent(in), dimension(3, 3) :: bravais

Bravais lattice vectors

public subroutine rhoq_read_mu0_scoef(iatomimp, mu, nscoef, imin)

Author
Philipp Ruessmann
License
Creative Commons License
Category
input-output, KKRhost

Read information about scanning position of the QPI-tool

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(inout), allocatable :: iatomimp(:)

layer indices

integer, intent(out) :: mu

scannning position (mu0 in PhD Ruessmann)

integer, intent(out) :: nscoef

number of layers in the impurity cluster

integer, intent(out) :: imin

smalles layer index of impurity cluster

public subroutine rhoq_find_kmask(nofks, k_end, bzkp, kmask, rhoq_kmask)

Author
Philipp Ruessmann
License
Creative Commons License
Category
k-points, input-output, KKRhost

Find mask of necessary k-points for the QPI-tool

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nofks

number of k-points

integer, intent(out) :: k_end

number of k-points after filtering

real(kind=dp), intent(in) :: bzkp(3,nofks)

k-points array

integer, intent(out), allocatable :: kmask(:)

kmask array labelling points (either inside or outside of masked region)

real(kind=dp), intent(out), allocatable :: rhoq_kmask(:,:)

output array holding kpoints and indices in reduced region only

public subroutine rhoq_saveg(nscoef, rhoq_kmask, kpt, k_end, kp, i, j, mu, imin, iatomimp, lmmaxd, g)

Author
Philipp Ruessmann
License
Creative Commons License
Category
input-output, k-points, structural-greensfunction, KKRhost

Save k-dependent GF to file for the QPI-tool

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nscoef

number of layers in imp. cluster

real(kind=dp), intent(in) :: rhoq_kmask(5,k_end)

mask and mapping array of reduced k-point set

integer, intent(in) :: kpt

kpoint index

integer, intent(in) :: k_end

number of kpoints to be stored

real(kind=dp), intent(in) :: kp(3)

kpoint

integer, intent(in) :: i

atom index i

integer, intent(in) :: j

atom index j

integer, intent(in) :: mu

scanning position (mu0)

integer, intent(in) :: imin

minimal layer index

integer, intent(in) :: iatomimp(nscoef)

layer indices of imp. cluster

integer, intent(in) :: lmmaxd

lm-size of GF matrices

complex(kind=dp), intent(in) :: g(lmmaxd,lmmaxd)

structural GF (of pair i,j, and k-point)

public subroutine rhoq_write_tau0(nofks, nshell, nsh1, nsh2, nsymat, nscoef, mu, iatomimp, kmask, lmmaxd, bzkp, imin)

Author
Philipp Ruessmann
License
Creative Commons License
Category
input-output, k-points, structural-greensfunction, KKRhost

Write out scattering path operator to fort.990099 and fort 998888 files for the QPI-tool

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nofks
integer, intent(in) :: nshell
integer, intent(in) :: nsh1(nshell)
integer, intent(in) :: nsh2(nshell)
integer, intent(in) :: nsymat
integer, intent(in) :: nscoef
integer, intent(in) :: mu
integer, intent(in) :: iatomimp(nscoef)
integer, intent(inout), allocatable :: kmask(:)
integer, intent(in) :: lmmaxd
real(kind=dp), intent(in) :: bzkp(3,nofks)
integer, intent(in) :: imin

public subroutine rhoq_save_rmesh(natyp, irmd, ipand, irmin, irws, ipan, rmesh, ntcell, ircut, r_log, npan_log, npan_eq)

Author
Philipp Ruessmann
License
Creative Commons License
Category
radial-grid, input-output, KKRhost

Write the radial mesh information to file for QPI-tool

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: natyp
integer, intent(in) :: irmd
integer, intent(in) :: ipand
integer, intent(in) :: irmin(natyp)
integer, intent(in) :: irws(natyp)
integer, intent(in) :: ipan(natyp)
real(kind=dp), intent(in) :: rmesh(irmd,natyp)
integer, intent(in) :: ntcell(natyp)
integer, intent(in) :: ircut(0:ipand,natyp)
real(kind=dp), intent(in) :: r_log
integer, intent(in) :: npan_log
integer, intent(in) :: npan_eq

public subroutine rhoq_save_refpot(ielast, i1, nref, natyp, refpot, wlength, lmmaxd, ie, trefll)

Author
Philipp Ruessmann
License
Creative Commons License
Category
input-output, reference-system, KKRhost

Save the reference potentials to an unformatted filefor the QPI-tool

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ielast
integer, intent(in) :: i1
integer, intent(in) :: nref
integer, intent(in) :: natyp
integer, intent(in) :: refpot(natyp)
integer, intent(in) :: wlength
integer, intent(in) :: lmmaxd
integer, intent(in) :: ie
complex(kind=dp), intent(in) :: trefll(lmmaxd,lmmaxd,natyp)