mod_mssinit Module

Calculation of the matrix in the global frame of reference

Note

Jonathan Chico: This routine seems to make use of the variables naezd and natypd, these are unnecessary as they are duplicates of natyp and naez. These should be unified.


Subroutines

public subroutine mssinit(ncpa, icpastart, tsst, msst, mssq, trefll, drotq, refpot, iqat, itoq, noq, conc, kmrot, natyp, naez)

License
Creative Commons License
Category
single-site, KKRhost

C a l c u l a t i o n

o f

t h e

\ ( \ D e l t a

t ^ { - 1 } \ )

m a t r i x

i n

t h e

g l o b a l

f r a m e

o f

r e f e r e n c e

Read more…

Arguments

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

NCPA = 0/1 CPA flag

integer, intent(in) :: icpastart
complex(kind=dp), intent(in), dimension(lmmaxd, lmmaxd, natypd) :: tsst

t-matrix in the local frame

complex(kind=dp), intent(inout), dimension(lmmaxd, lmmaxd, natypd) :: msst

(TSST-TREF)^(-1) in the LOCAL frame

complex(kind=dp), intent(out), dimension(lmmaxd, lmmaxd, naezd) :: mssq

matrix in the global frame

complex(kind=dp), intent(in), dimension(lmmaxd, lmmaxd, nrefd) :: trefll
complex(kind=dp), intent(in), dimension(lmmaxd, lmmaxd, naezd) :: drotq

Rotation matrices to change between LOCAL/GLOBAL frame of reference for magnetisation <> Oz or noncollinearity

integer, intent(in), dimension(naezd) :: refpot

Ref. pot. card at position

integer, intent(in), dimension(natypd) :: iqat

The site on which an atom is located on a given site

integer, intent(in), dimension(natypd,naezd) :: itoq

Kind of atom at site in elem. cell

integer, intent(in), dimension(naezd) :: noq

Number of diff. atom types located

real(kind=dp), intent(in), dimension(natypd) :: conc

Concentration of a given atom

integer, intent(in) :: kmrot

0: no rotation of the magnetisation; 1: individual rotation of the magnetisation for every site

integer, intent(in) :: natyp

Number of kinds of atoms in unit cell

integer, intent(in) :: naez

Number of atoms in unit cell