this is part of the 'u-transformation' (see PhD David Bauer) which can be used to shift positions of impurity atoms with respect to their original position. It is intended for relaxations of impurities
D y s o n
e q u a t i o n
f o r
t h e
v i r t u a l
a t o m
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | natom |
Number of atoms in impurity cluster, excl. "killed atoms" |
||
integer, | intent(in) | :: | ntotatom |
Number of host sites where GF is read in, incl. "killed atoms" |
||
integer, | intent(in) | :: | lmsizehost |
Host lm-max * NSOC (see below for NSOC) |
||
double complex, | intent(in) | :: | gmathost(ntotatom*lmsizehost,ntotatom*lmsizehost) | |||
double complex, | intent(in) | :: | tmat(lmsizehost,lmsizehost,ntotatom) | |||
integer, | intent(in) | :: | killatom(ntotatom) | |||
integer, | intent(in) | :: | isvatom(ntotatom) | |||
integer, | intent(in) | :: | lmaxatom(ntotatom) |
lmax to be used for specific atom |
||
double complex, | intent(out), | allocatable | :: | gmatimp(:,:) | ||
integer | :: | nlmhostnew | ||||
integer, | intent(in) | :: | lattice_relax | |||
integer, | intent(in) | :: | NSOC |
=2 if host-GF is 2x2 in spin space; =1 otherwise |
M a t r i x
m u l t i p l i c a t i o n
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
double complex, | intent(in) | :: | mat1(:,:) | |||
double complex, | intent(in) | :: | mat2(:,:) | |||
double complex | :: | matout(size(mat1,1),size(mat2,2)) |