mod_mixstr Module

Performs a straight mixing between the potential from a previous iteration and the one from the current iteration to speed up convergence.


Subroutines

public subroutine mixstr(rmsavq, rmsavm, ins, lpot, lmpot, natref, nshell, nstart, nend, conc, nspin, itc, rfpi, fpi, ipf, mixing, fcm, irc, irmin, r, drdi, vons, visp, vins, vspsmo, vspsme, lsmear)

License
Creative Commons License
Category
potential, KKRhost

P e r f o r m s

a

s t r a i g h t

m i x i n g

o f

t h e

p o t e n t i a l

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out) :: rmsavq

RMS value of the charge

real(kind=dp), intent(out) :: rmsavm

RMS value of the magnetization

integer, intent(in) :: ins

0 (MT), 1(ASA), 2(Full Potential)

integer, intent(in) :: lpot

Maximum l component in potential expansion

integer, intent(in) :: lmpot

(LPOT+1)**2

integer, intent(in) :: natref
integer, intent(in), dimension(0:nsheld) :: nshell

Index of atoms/pairs per shell (ij-pairs); nshell(0) = number of shells

integer, intent(in) :: nstart

First atom in the loop

integer, intent(in) :: nend

Final atom in the loop

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

Concentration of a given atom

integer, intent(in) :: nspin

Counter for spin directions

integer, intent(in) :: itc

Current iteration number

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

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

4

integer, intent(in) :: ipf

Not real used, IPFE should be 0

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

Magnitude of the mixing parameter

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

Factor for increased linear mixing of magnetic part of potential compared to non-magnetic part.

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

R point for potential cutting

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

Max R for spherical treatment

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

Radial mesh ( in units a Bohr)

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

Derivative dr/di

real(kind=dp), intent(inout), dimension(irmd, lmpotd, *) :: vons

output potential (nonspherical VONS)

real(kind=dp), intent(in), dimension(irmd, *) :: visp

Spherical part of the potential

real(kind=dp), intent(in), dimension(irmind:irmd, lmpotd, *) :: vins

Non-spherical part of the potential

real(kind=dp), intent(inout), dimension(irmd, nspotd) :: vspsmo
real(kind=dp), intent(inout), dimension(irmd, nspotd) :: vspsme
integer, intent(in) :: lsmear