rinput Module

Routine to read the information from the input file

Note

VP: there should be some crosscheck of competing options e.g., XCPL and CONDUCT cannot be done simultaneously neither SOC1 and SOC2 manipulation etc.


Subroutines

public subroutine rinput13(kte, igf, kxc, lly, icc, ins, kws, ipe, ipf, ipfe, icst, imix, lpot, naez, nemb, nref, ncls, npol, lmax, kcor, kefg, khyp, kpre, kvmad, lmmax0d, lmpot, ncheb, nleft, ifile, kvrel, nspin, natyp, nineq, npnt1, npnt2, npnt3, kfrozn, ishift, n1semi, n2semi, n3semi, nsteps, insref, kshape, itdbry, nright, kforce, ivshift, khfield, nlbasis, nrbasis, intervx, intervy, intervz, npan_eq, npan_log, npolsemi, tk, fcm, emin, emax, rmax, gmax, alat, r_log, rcutz, rcutxy, eshift, qbound, hfield, mixing, abasis, bbasis, cbasis, vconst, tksemi, tolrdif, emusemi, ebotsemi, fsemicore, lambda_xc, deltae, lrhosym, linipol, lcartesian, imt, cls, lmxc, irns, irws, ntcell, refpot, inipol, ixipol, hostimp, kfg, vbc, zperleft, zperight, bravais, rmt, zat, rws, mtfac, rmtref, rmtnew, rmtrefat, fpradius, tleft, tright, rbasis, socscale, cscl, socscl, solver, i12, i13, i19, i25, i40, txc, drotq, ncpa, itcpamax, cpatol, noq, iqat, icpa, kaoez, conc, kmrot, qmtet, qmphi, kreadldau, lopt, ueff, jeff, erefldau, invmod, verbosity, MPI_scheme, special_straight_mixing, lbfield, lbfield_constr, lbfield_all, lbfield_trans, lbfield_mt, ltorque, ibfield, ibfield_constr, ibfield_itscf0, ibfield_itscf1)

License
Creative Commons License
Category
input-output, KKRhost

R o u t i n e

t o

r e a d

t h e

i n f o r m a t i o n

f r o m

t h e

i n p u t

f i l e

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: kte

Calculation of the total energy On/Off (1/0)

integer, intent(inout) :: igf

Do not print or print (0/1) the KKRFLEX_* files

integer, intent(inout) :: kxc

Type of xc-potential 0=vBH 1=MJW 2=VWN 3=PW91

integer, intent(inout) :: lly

LLY <> 0 : apply Lloyds formula

integer, intent(inout) :: icc

Enables the calculation of off-diagonal elements of the GF.(0=SCF/DOS; 1=cluster; -1=custom)

integer, intent(inout) :: ins

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

integer, intent(inout) :: kws

0 (MT), 1(ASA)

integer, intent(inout) :: ipe

Not real used, IPFE should be 0

integer, intent(inout) :: ipf

Not real used, IPFE should be 0

integer, intent(inout) :: ipfe

Not real used, IPFE should be 0

integer, intent(inout) :: icst

Number of Born approximation

integer, intent(inout) :: imix

Type of mixing scheme used (0=straight, 4=Broyden 2nd, 5=Anderson)

integer, intent(inout) :: lpot

Maximum l component in potential expansion

integer, intent(inout) :: naez

Number of atoms in unit cell

integer, intent(inout) :: nemb

Number of 'embedding' positions

integer, intent(inout) :: nref

Number of diff. ref. potentials

integer, intent(inout) :: ncls

Number of reference clusters

integer, intent(inout) :: npol

Number of Matsubara Pols (EMESHT)

integer, intent(inout) :: lmax

Maximum l component in wave function expansion

integer, intent(inout) :: kcor
integer, intent(inout) :: kefg
integer, intent(inout) :: khyp
integer, intent(inout) :: kpre
integer, intent(inout) :: kvmad
integer, intent(inout) :: lmmax0d

(lmax+1)**2 without spin doubling

integer, intent(inout) :: lmpot
integer, intent(inout) :: ncheb

Number of Chebychev pannels for the new solver

integer, intent(inout) :: nleft

Number of repeated basis for left host to get converged electrostatic potentials

integer, intent(inout) :: ifile

Unit specifier for potential card

integer, intent(inout) :: kvrel

0,1 : non / scalar relat. calculation

integer, intent(inout) :: nspin

Counter for spin directions

integer, intent(inout) :: natyp

Number of kinds of atoms in unit cell

integer, intent(inout) :: nineq

Number of ineq. positions in unit cell

integer, intent(inout) :: npnt1

number of E points (EMESHT) for the contour integration

integer, intent(inout) :: npnt2

number of E points (EMESHT) for the contour integration

integer, intent(inout) :: npnt3

number of E points (EMESHT) for the contour integration

integer, intent(inout) :: kfrozn
integer, intent(inout) :: ishift

Parameter controling the potential shift after mixing

integer, intent(inout) :: n1semi

Number of energy points for the semicore contour

integer, intent(inout) :: n2semi

Number of energy points for the semicore contour

integer, intent(inout) :: n3semi

Number of energy points for the semicore contour

integer, intent(inout) :: nsteps

number of iterations

integer, intent(inout) :: insref

INS for reference pot. (usual 0)

integer, intent(inout) :: kshape

Exact treatment of WS cell

integer, intent(inout) :: itdbry

Number of SCF steps to remember for the Broyden mixing

integer, intent(inout) :: nright

Number of repeated basis for right host to get converged electrostatic potentials

integer, intent(inout) :: kforce

Calculation of the forces

integer, intent(inout) :: ivshift

for selected potential shift: atom index of potentials to be shifted by VCONST

integer, intent(inout) :: khfield

0,1: no / yes external magnetic field

integer, intent(inout) :: nlbasis

Number of basis layers of left host (repeated units)

integer, intent(inout) :: nrbasis

Number of basis layers of right host (repeated units)

integer, intent(inout) :: intervx

Number of intervals in x-direction for k-net in IB of the BZ

integer, intent(inout) :: intervy

Number of intervals in y-direction for k-net in IB of the BZ

integer, intent(inout) :: intervz

Number of intervals in z-direction for k-net in IB of the BZ

integer, intent(inout) :: npan_eq

Number of intervals from [R_LOG] to muffin-tin radius Used in conjunction with runopt NEWSOSOL

integer, intent(inout) :: npan_log

Number of intervals from nucleus to [R_LOG] Used in conjunction with runopt NEWSOSOL

integer, intent(inout) :: npolsemi

Number of poles for the semicore contour

real(kind=dp), intent(inout) :: tk

Temperature

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

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

real(kind=dp), intent(inout) :: emin

Lower value (in Ryd) for the energy contour

real(kind=dp), intent(inout) :: emax

Maximum value (in Ryd) for the DOS calculation Controls also [NPT2] in some cases

real(kind=dp), intent(inout) :: rmax

Ewald summation cutoff parameter for real space summation

real(kind=dp), intent(inout) :: gmax

Ewald summation cutoff parameter for reciprocal space summation

real(kind=dp), intent(inout) :: alat

Lattice constant (in a.u.)

real(kind=dp), intent(inout) :: r_log

Radius up to which log-rule is used for interval width. Used in conjunction with runopt NEWSOSOL

real(kind=dp), intent(inout) :: rcutz

Parameter for the screening cluster along the z-direction

real(kind=dp), intent(inout) :: rcutxy

Parameter for the screening cluster along the x-y plane

real(kind=dp), intent(inout) :: eshift
real(kind=dp), intent(inout) :: qbound

Convergence parameter for the potential

real(kind=dp), intent(inout) :: hfield

External magnetic field, for initial potential shift in spin polarised case

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

Magnitude of the mixing parameter

real(kind=dp), intent(inout) :: abasis

Scaling factors for rbasis

real(kind=dp), intent(inout) :: bbasis

Scaling factors for rbasis

real(kind=dp), intent(inout) :: cbasis

Scaling factors for rbasis

real(kind=dp), intent(inout) :: vconst

Potential shift in the first iteration

real(kind=dp), intent(inout) :: tksemi

Temperature for semi-core contour

real(kind=dp), intent(inout) :: tolrdif

For distance between scattering-centers smaller than [], free GF is set to zero. Units are Bohr radii.

real(kind=dp), intent(inout) :: emusemi

Top of semicore contour in Ryd.

real(kind=dp), intent(inout) :: ebotsemi

Bottom of semicore contour in Ryd

real(kind=dp), intent(inout) :: fsemicore

Initial normalization factor for semicore states (approx. 1.)

real(kind=dp), intent(out), dimension (:), allocatable :: lambda_xc

Scale magnetic moment (0 < Lambda_XC < 1, 0=zero moment, 1= full moment)

complex(kind=dp), intent(inout) :: deltae

LLY Energy difference for numerical derivative

logical, intent(inout) :: lrhosym
logical, intent(inout) :: linipol

True: Initial spin polarization; false: no initial spin polarization

logical, intent(inout) :: lcartesian
integer, intent(out), dimension (:), allocatable :: imt

R point at MT radius

integer, intent(out), dimension (:), allocatable :: cls

Cluster around atomic sites

integer, intent(out), dimension (:), allocatable :: lmxc
integer, intent(out), dimension (:), allocatable :: irns

Position of atoms in the unit cell in units of bravais vectors

integer, intent(out), dimension (:), allocatable :: irws

R point at WS radius

integer, intent(out), dimension (:), allocatable :: ntcell

Index for WS cell

integer, intent(out), dimension (:), allocatable :: refpot

Ref. pot. card at position

integer, intent(out), dimension (:), allocatable :: inipol

Initial spin polarisation

integer, intent(out), dimension (:), allocatable :: ixipol

Constraint of spin pol.

integer, intent(out), dimension (:), allocatable :: hostimp
integer, intent(out), dimension (:, :), allocatable :: kfg
real(kind=dp), intent(inout), dimension (2) :: vbc

Potential constants

real(kind=dp), intent(inout), dimension (3) :: zperleft

Vector to define how to repeat the basis of the left host

real(kind=dp), intent(inout), dimension (3) :: zperight

Vector to define how to repeat the basis of the right host

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

Bravais lattice vectors

real(kind=dp), intent(out), dimension (:), allocatable :: rmt

Muffin-tin radius of true system

real(kind=dp), intent(out), dimension (:), allocatable :: zat

Nuclear charge

real(kind=dp), intent(out), dimension (:), allocatable :: rws

Wigner Seitz radius

real(kind=dp), intent(out), dimension (:), allocatable :: mtfac

Scaling factor for radius MT

real(kind=dp), intent(out), dimension (:), allocatable :: rmtref

Muffin-tin radius of reference system

real(kind=dp), intent(out), dimension (:), allocatable :: rmtnew

Adapted muffin-tin radius

real(kind=dp), intent(out), dimension (:), allocatable :: rmtrefat
real(kind=dp), intent(out), dimension (:), allocatable :: fpradius

R point at which full-potential treatment starts

real(kind=dp), intent(out), dimension (:, :), allocatable :: tleft

Vectors of the basis for the left host

real(kind=dp), intent(out), dimension (:, :), allocatable :: tright

vectors of the basis for the right host

real(kind=dp), intent(out), dimension (:, :), allocatable :: rbasis

Position of atoms in the unit cell in units of bravais vectors

real(kind=dp), intent(out), dimension (:), allocatable :: socscale

Spin-orbit scaling

real(kind=dp), intent(out), dimension (:, :), allocatable :: cscl

Speed of light scaling

real(kind=dp), intent(out), dimension (:, :), allocatable :: socscl
character(len=10), intent(inout) :: solver

Type of solver

character(len=40), intent(inout) :: i12

File identifiers

character(len=40), intent(inout) :: i13

Potential file name

character(len=40), intent(inout) :: i19

Shape function file name

character(len=40), intent(inout) :: i25

Scoef file name

character(len=40), intent(inout) :: i40

File identifiers

character(len=124), intent(inout), dimension (6) :: txc
complex(kind=dp), intent(out), dimension (:, :, :), allocatable :: drotq

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

Read more…
integer, intent(inout) :: ncpa

ncpa = 0/1 CPA flag

integer, intent(inout) :: itcpamax

max. number of CPA iterations

real(kind=dp), intent(inout) :: cpatol

convergency tolerance for CPA-cycle

integer, intent(out), dimension (:), allocatable :: noq

number of diff. atom types located

integer, intent(out), dimension (:), allocatable :: iqat

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

integer, intent(out), dimension (:), allocatable :: icpa

icpa = 0/1 site-dependent CPA flag

integer, intent(out), dimension (:, :), allocatable :: kaoez

atom types located at a given site

real(kind=dp), intent(out), dimension (:), allocatable :: conc

concentration of a given atom

Read more…
integer, intent(inout) :: kmrot

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

real(kind=dp), intent(out), dimension (:), allocatable :: qmtet

angle of the magnetization with respect to the z-axis

real(kind=dp), intent(out), dimension (:), allocatable :: qmphi

angle of the magnetization with respect to the z-axis

integer, intent(inout) :: kreadldau

LDA+U arrays available

integer, intent(inout), dimension (:), allocatable :: lopt

angular momentum QNUM for the atoms on which LDA+U should be applied (-1 to switch it OFF)

real(kind=dp), intent(out), dimension (:), allocatable :: ueff

input U parameter for each atom

real(kind=dp), intent(out), dimension (:), allocatable :: jeff

input J parameter for each atom

real(kind=dp), intent(out), dimension (:), allocatable :: erefldau

the energies of the projector's wave functions (REAL) LDA+U

integer, intent(inout) :: invmod

inversion mode, 0=full inversion, 1= banded matrix, 2= supercell, 3=godfrin

integer, intent(inout) :: verbosity

verbosity level for timings and output: 0=old default, 1,2,3 = timing and ouput verbosity level the same (low,medium,high)

integer, intent(inout) :: MPI_scheme

scheme for MPI parallelization: 0 = automatic (default), 1 = atoms, 2 = energies, 3 = select best of (1,2)

integer, intent(inout) :: special_straight_mixing

id to specify modified straight mixing scheme: 0=normal, 1=alternating mixing factor (i.e. reduced mixing factor in every odd iteration), 2=charge-neurality based mixing factor (former: 'alt mix' and 'spec mix')

logical, intent(out) :: lbfield
logical, intent(out) :: lbfield_constr
logical, intent(out) :: lbfield_all
logical, intent(out) :: lbfield_trans
logical, intent(out) :: lbfield_mt
logical, intent(out) :: ltorque
integer, intent(out) :: ibfield
integer, intent(out) :: ibfield_constr
integer, intent(out) :: ibfield_itscf0
integer, intent(out) :: ibfield_itscf1

public subroutine read_old_runtestoptions(invmod, verbosity, MPI_scheme, oldstyle)

Author
Bernd Zimmermann
License
Creative Commons License
Category
input-output, KKRhost

R e a d

t h e

o l d - s t y l e

o f

r u n -

a n d

t e s t o p t i o n s

f r o m

t h e

i n p u t c a r d

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: invmod
integer, intent(inout) :: verbosity
integer, intent(inout) :: MPI_scheme
logical, intent(out) :: oldstyle