type_params Derived Type

type, public :: type_params

Type holding information of parameters for the communication of data


Components

Type Visibility Attributes Name Initial
integer, public :: nscalars = 126
integer, public :: i1
integer, public :: nr

Number of real space vectors rr

integer, public :: irm

Maximum number of radial points

integer, public :: lly

LLY!> 0 : apply Lloyds formula

integer, public :: ins

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

integer, public :: icc

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

integer, public :: igf

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

integer, public :: kte

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

integer, public :: kxc

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

integer, public :: naez

Number of atoms in unit cell

integer, public :: lmax

Maximum l component in wave function expansion

integer, public :: nref

Number of diff. ref. potentials

integer, public :: lm2d

(2LMAX+1)*2

integer, public :: irid

Shape functions parameters in non-spherical part

integer, public :: krel

Switch for non-relativistic/relativistic (0/1) program. Attention: several other parameters depend explicitly on KREL, they are set automatically Used for Dirac solver in ASA

integer, public :: kpre
integer, public :: nsra
integer, public :: nemb

Number of sites added to the slab in 2D calculations to extend the structure left and right (down and up)

integer, public :: ncls

Number of reference clusters

integer, public :: iend

Number of nonzero gaunt coefficients

integer, public :: ncpa

NCPA = 0/1 CPA flag

integer, public :: icst

Number of Born approximation

integer, public :: imix

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

integer, public :: itab
integer, public :: lpot

Maximum l component in potential expansion

integer, public :: npol

Number of Matsubara Poles (EMESHT)

integer, public :: npnt1

number of E points (EMESHT) for the contour integration

integer, public :: npnt2

number of E points (EMESHT) for the contour integration

integer, public :: npnt3

number of E points (EMESHT) for the contour integration

integer, public :: itscf
integer, public :: iemxd

Dimension for energy-dependent arrays

integer, public :: npotd

(2(KREL+KORBIT)+(1-(KREL+KORBIT))NSPIND)*NATYP)

integer, public :: natyp

Number of kinds of atoms in unit cell

integer, public :: ipand

Number of panels in non-spherical part

integer, public :: ncleb

Number of Clebsch-Gordon coefficients

integer, public :: nclsd

Maximum number of different TB-clusters

integer, public :: nfund

Shape functions parameters in non-spherical part

integer, public :: ngshd

Shape functions parameters in non-spherical part

integer, public :: mmaxd

2*LMAX+1

integer, public :: nineq

Number of ineq. positions in unit cell

integer, public :: nspin

Counter for spin directions

integer, public :: kmrot

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

integer, public :: iltmp
integer, public :: ncheb

Number of Chebychev pannels for the new solver

integer, public :: ntotd
integer, public :: kvmad
integer, public :: irnsd

Number of radial mesh points in (RMT,...,RWS)

integer, public :: knoco

(0/1) Collinear/Non-collinear magnetism (even in non-relativistic non-spin-orbit case)

integer, public :: lmpot

(LPOT+1)**2

integer, public :: nleft

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

integer, public :: nright

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

integer, public :: korbit

Spin-orbit/non-spin-orbit (1/0) added to the Schroedinger or SRA equations. Works with FP. KREL and KORBIT cannot be both non-zero.

integer, public :: ntperd

Parameter in broyden subroutines

integer, public :: ielast
integer, public :: nrmaxd

NTOTD*(NCHEBD+1)

integer, public :: ishift
integer, public :: knosph

Switch for spherical/non-spherical (0/1) program. Same obs. as for KREL applies.

integer, public :: kforce

Calculation of the forces

integer, public :: itdbry

Number of SCF steps to remember for the Broyden mixing

integer, public :: kshape

Exact treatment of WS cell

integer, public :: nofgij

number of GF pairs IJ to be calculated as determined from IJTABCALC<>0

integer, public :: nspind

KREL+(1-KREL)*(NSPIN+1)

integer, public :: irmind

IRM-IRNSD

integer, public :: nspotd

Number of potentials for storing non-sph. potentials

integer, public :: nembd1

NEMB+1

integer, public :: lmmaxd

(KREL+KORBIT+1)(LMAX+1)^2

integer, public :: nembd2
integer, public :: naclsd

Maximum number of atoms in a TB-cluster

integer, public :: lmaxd1
integer, public :: nsheld

Number of blocks of the GF matrix that need to be calculated (NATYP + off-diagonals in case of impurity)

integer, public :: ncelld

= naez in main0, could/should be replaced to make the code more understandable

integer, public :: lmxspd

(2LPOT+1)*2

integer, public :: nsymat
integer, public :: nprinc

Number of atoms in one principal layer

integer, public :: n1semi

Number of energy points for the semicore contour

integer, public :: n2semi

Number of energy points for the semicore contour

integer, public :: n3semi

Number of energy points for the semicore contour

integer, public :: invmod

Inversion scheme

integer, public :: nqcalc
integer, public :: ntldau

number of atoms on which LDA+U is applied

integer, public :: kpoibz

Number of reciprocal space vectors

integer, public :: nsatypd

(NATYP-1)*NSPIN+1

integer, public :: idoldau

flag to perform LDA+U

integer, public :: nlayerd

Number of principal layers (NAEZD/NPRINCD) used in the inversion routines (independent on NATYPD)

integer, public :: intervx

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

integer, public :: intervy

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

integer, public :: intervz

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

integer, public :: nlbasis

Number of basis layers of left host (repeated units)

integer, public :: nrbasis

Number of basis layers of right host (repeated units)

integer, public :: wlength

Word length for direct access files, compiler dependent ifort/others (1/4)

integer, public :: naezdpd
integer, public :: maxmesh
integer, public :: itmpdir
integer, public :: nspindd

NSPIND-KORBIT

integer, public :: npan_eq

Variables for the pannels for the new solver

integer, public :: npan_log

Variables for the pannels for the new solver

integer, public :: scfsteps

number of scf iterations

integer, public :: itcpamax

Max. number of CPA iterations

integer, public :: natomimp

Size of the cluster for impurity-calculation output of GF should be 1, if you don't do such a calculation

integer, public :: nmvecmax
integer, public :: npolsemi

Number of poles for the semicore contour

integer, public :: natomimpd

Size of the cluster for impurity-calculation output of GF should be 1, if you don't do such a calculation

integer, public :: itrunldau

Iteration index for LDA+U

integer, public :: iesemicore
integer, public :: 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')

real(kind=dp), public :: tk

Temperature

real(kind=dp), public :: fcm
real(kind=dp), public :: emin

Energies needed in EMESHT

real(kind=dp), public :: emax

Energies needed in EMESHT

real(kind=dp), public :: alat

Lattice constant in a.u.

real(kind=dp), public :: r_log
real(kind=dp), public :: efold
real(kind=dp), public :: denef
real(kind=dp), public :: efermi

Fermi energy

real(kind=dp), public :: cpatol

Convergency tolerance for CPA-cycle

real(kind=dp), public :: mixing

Magnitude of the mixing parameter

real(kind=dp), public :: qbound

Convergence parameter for the potential

real(kind=dp), public :: tksemi

Temperature of semi-core contour

real(kind=dp), public :: chrgold
real(kind=dp), public :: tolrdif

Tolerance for r<tolrdif (a.u.) to handle vir. atoms

real(kind=dp), public :: lasterr
real(kind=dp), public :: emusemi
real(kind=dp), public :: ebotsemi
real(kind=dp), public :: fsemicore
real(kind=dp), public :: chrgsemicore
complex(kind=dp), public :: deltae

Energy difference for numerical derivative

logical, public :: lnc

Coupled equations in two spins (switches true if KREL=1 or KORBIT=1 or KNOCO=1)

logical, public :: lrhosym
logical, public :: linterface

If True a matching with semi-inifinite surfaces must be performed

character(len=10), public :: solver

Type of solver

character(len=80), public :: tmpdir
complex(kind=dp), public, dimension (:), allocatable :: ez
complex(kind=dp), public, dimension (:), allocatable :: wez
complex(kind=dp), public, dimension (:, :), allocatable :: rc

NREL REAL spher. harm. > CMPLX. spher. harm. NREL CMPLX. spher. harm. > REAL spher. harm.

complex(kind=dp), public, dimension (:, :), allocatable :: crel

Non-relat. CMPLX. spher. harm. > (kappa,mue) (kappa,mue) > non-relat. CMPLX. spher. harm.

complex(kind=dp), public, dimension (:, :), allocatable :: rrel

Non-relat. REAL spher. harm. > (kappa,mue) (kappa,mue) > non-relat. REAL spher. harm.

complex(kind=dp), public, dimension (:, :), allocatable :: phildau
complex(kind=dp), public, dimension (:, :, :), allocatable :: srrel
complex(kind=dp), public, dimension (:, :, :), allocatable :: drotq

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

complex(kind=dp), public, dimension (:, :, :), allocatable :: dsymll
complex(kind=dp), public, dimension (:, :, :, :, :), allocatable :: lefttinvll
complex(kind=dp), public, dimension (:, :, :, :, :), allocatable :: righttinvll
complex(kind=dp), public, dimension (:, :, :), allocatable :: mvevi
complex(kind=dp), public, dimension (:, :, :), allocatable :: mvevief
real(kind=dp), public, dimension (:), allocatable :: a

Constants for exponential R mesh

real(kind=dp), public, dimension (:), allocatable :: b

Constants for exponential R mesh

real(kind=dp), public, dimension (:), allocatable :: eu
real(kind=dp), public, dimension (:), allocatable :: edc
real(kind=dp), public, dimension (:), allocatable :: vbc

Potential constants

real(kind=dp), public, dimension (:), allocatable :: zat

Nuclear charge

real(kind=dp), public, dimension (:), allocatable :: rmt

Muffin-tin radius of true system

real(kind=dp), public, dimension (:), allocatable :: rws

Wigner Seitz radius

real(kind=dp), public, dimension (:), allocatable :: gsh
real(kind=dp), public, dimension (:), allocatable :: phi

Phi angle for a non-collinear calculation

real(kind=dp), public, dimension (:), allocatable :: ueff

input U parameter for each atom

real(kind=dp), public, dimension (:), allocatable :: jeff

input J parameter for each atom

real(kind=dp), public, dimension (:), allocatable :: vref
real(kind=dp), public, dimension (:), allocatable :: conc

Concentration of a given atom

real(kind=dp), public, dimension (:), allocatable :: theta

Theta angle for a non-collinear calculation (don't confuse with thetas!)

real(kind=dp), public, dimension (:), allocatable :: volbz
real(kind=dp), public, dimension (:), allocatable :: qmtet

angle of the agnetization with respect to the z-axis

real(kind=dp), public, dimension (:), allocatable :: qmphi

angle of the agnetization with respect to the z-axis

real(kind=dp), public, dimension (:), allocatable :: rmtref

Muffin-tin radius of reference system

real(kind=dp), public, dimension (:), allocatable :: rmtnew

Adapted muffin-tin radius

real(kind=dp), public, dimension (:), allocatable :: denefat
real(kind=dp), public, dimension (:), allocatable :: erefldau

the energies of the projector's wave functions (REAL)

real(kind=dp), public, dimension (:), allocatable :: socscale

Spin-orbit scaling

real(kind=dp), public, dimension (:), allocatable :: lambda_xc

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

real(kind=dp), public, dimension (:, :, :), allocatable :: vins

Non-spherical part of the potential

real(kind=dp), public, dimension (:, :), allocatable :: rmesh

Radial mesh ( in units a Bohr)

real(kind=dp), public, dimension (:, :), allocatable :: rr
real(kind=dp), public, dimension (:, :), allocatable :: drdi

Derivative dr/di

real(kind=dp), public, dimension (:, :), allocatable :: cscl

Speed of light scaling

real(kind=dp), public, dimension (:, :), allocatable :: cleb

GAUNT coefficients (GAUNT)

real(kind=dp), public, dimension (:, :), allocatable :: rhoc
real(kind=dp), public, dimension (:, :), allocatable :: espv
real(kind=dp), public, dimension (:, :), allocatable :: rnew
real(kind=dp), public, dimension (:, :), allocatable :: visp

Spherical part of the potential

real(kind=dp), public, dimension (:, :), allocatable :: vtrel

potential (spherical part)

real(kind=dp), public, dimension (:, :), allocatable :: btrel

magnetic field

real(kind=dp), public, dimension (:, :), allocatable :: ecore

Core energies

real(kind=dp), public, dimension (:, :), allocatable :: rmrel

radial mesh

real(kind=dp), public, dimension (:, :), allocatable :: ratom
real(kind=dp), public, dimension (:, :), allocatable :: rbasis

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

real(kind=dp), public, dimension (:, :), allocatable :: socscl
real(kind=dp), public, dimension (:, :), allocatable :: volcub
real(kind=dp), public, dimension (:, :), allocatable :: rhoorb
real(kind=dp), public, dimension (:, :), allocatable :: rclsimp
real(kind=dp), public, dimension (:, :), allocatable :: drdirel

derivative of radial mesh

real(kind=dp), public, dimension (:, :), allocatable :: ecorerel
real(kind=dp), public, dimension (:, :), allocatable :: cmomhost

Charge moments of each atom of the (left/right) host

real(kind=dp), public, dimension (:, :), allocatable :: qmphitab
real(kind=dp), public, dimension (:, :), allocatable :: qmtettab
real(kind=dp), public, dimension (:, :), allocatable :: qmgamtab
real(kind=dp), public, dimension (:, :), allocatable :: r2drdirel

(r**2 * drdi)

real(kind=dp), public, dimension (:, :), allocatable :: rpan_intervall
real(kind=dp), public, dimension (:, :, :), allocatable :: rcls

Real space position of atom in cluster

real(kind=dp), public, dimension (:, :, :), allocatable :: rrot
real(kind=dp), public, dimension (:, :, :), allocatable :: bzkp
real(kind=dp), public, dimension (:, :, :), allocatable :: thetas

shape function THETA=0 outer space THETA =1 inside WS cell in spherical harmonics expansion

real(kind=dp), public, dimension (:, :, :), allocatable :: thetasnew
real(kind=dp), public, dimension (:, :, :, :), allocatable :: r2nef
real(kind=dp), public, dimension (:, :, :, :), allocatable :: wldau

potential matrix

real(kind=dp), public, dimension (:, :, :, :), allocatable :: rho2ns
real(kind=dp), public, dimension (:, :, :, :, :), allocatable :: uldau

calculated Coulomb matrix elements (EREFLDAU)

integer, public, dimension (:), allocatable :: cls

Cluster around atomic sites

integer, public, dimension (:), allocatable :: noq

Number of diff. atom types located

integer, public, dimension (:), allocatable :: imt

R point at MT radius

integer, public, dimension (:), allocatable :: irc

R point for potential cutting

integer, public, dimension (:), allocatable :: nfu
integer, public, dimension (:), allocatable :: zrel

atomic number (cast integer)

integer, public, dimension (:), allocatable :: lopt

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

integer, public, dimension (:), allocatable :: ipan

Number of panels in non-MT-region

integer, public, dimension (:), allocatable :: iqat

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

integer, public, dimension (:), allocatable :: icpa

ICPA = 0/1 site-dependent CPA flag

integer, public, dimension (:), allocatable :: irns

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

integer, public, dimension (:), allocatable :: irws

R point at WS radius

integer, public, dimension (:), allocatable :: nsh1

Corresponding index of the sites I/J in (NSH1/2) in the unit cell in a shell

integer, public, dimension (:), allocatable :: nsh2

Corresponding index of the sites I/J in (NSH1/2) in the unit cell in a shell

integer, public, dimension (:), allocatable :: irmin

Max R for spherical treatment

integer, public, dimension (:), allocatable :: ncore

Number of core states

integer, public, dimension (:), allocatable :: nacls

Number of atoms in cluster

integer, public, dimension (:), allocatable :: nofks
integer, public, dimension (:), allocatable :: loflm

l of lm=(l,m) (GAUNT)

integer, public, dimension (:), allocatable :: kmesh
integer, public, dimension (:), allocatable :: itldau

integer pointer connecting the NTLDAU atoms to heir corresponding index in the unit cell

integer, public, dimension (:), allocatable :: nshell

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

integer, public, dimension (:), allocatable :: iqcalc
integer, public, dimension (:), allocatable :: refpot

Ref. pot. card at position

integer, public, dimension (:), allocatable :: ntcell

Index for WS cell

integer, public, dimension (:), allocatable :: ixipol

Constraint of spin pol.

integer, public, dimension (:), allocatable :: jwsrel

index of the WS radius

integer, public, dimension (:), allocatable :: imaxsh
integer, public, dimension (:), allocatable :: atomimp
integer, public, dimension (:), allocatable :: hostimp
integer, public, dimension (:), allocatable :: irshift

shift of the REL radial mesh with respect no NREL

integer, public, dimension (:), allocatable :: ijtabsh

Linear pointer, assigns pair (i,j) to a shell in the array GS(,,*,NSHELD)

integer, public, dimension (:), allocatable :: npan_tot
integer, public, dimension (:), allocatable :: ijtabsym

Linear pointer, assigns pair (i,j) to the rotation bringing GS into Gij

integer, public, dimension (:), allocatable :: ijtabcalc

Linear pointer, specifying whether the block (i,j) has to be calculated needs set up for ICC=-1, not used for ICC=1

integer, public, dimension (:), allocatable :: npan_eq_at
integer, public, dimension (:), allocatable :: npan_log_at
integer, public, dimension (:), allocatable :: ijtabcalc_i
integer, public, dimension (:), allocatable :: qdos_atomselect
integer, public, dimension (:, :), allocatable :: ish
integer, public, dimension (:, :), allocatable :: jsh
integer, public, dimension (:, :), allocatable :: ilm_map
integer, public, dimension (:, :), allocatable :: ezoa

EZ of atom at site in cluster

integer, public, dimension (:, :), allocatable :: atom

Atom at site in cluster

integer, public, dimension (:, :), allocatable :: lmsp

0,1 : non/-vanishing lm=(l,m) component of non-spherical potential

integer, public, dimension (:, :), allocatable :: icleb

Pointer array

integer, public, dimension (:, :), allocatable :: lcore

Angular momentum of core states

integer, public, dimension (:, :), allocatable :: ircut

R points of panel borders

integer, public, dimension (:, :), allocatable :: kaoez

Kind of atom at site in elem. cell

integer, public, dimension (:, :), allocatable :: nrrel
integer, public, dimension (:, :), allocatable :: lmsp1
integer, public, dimension (:, :), allocatable :: ifunm
integer, public, dimension (:, :), allocatable :: llmsp

lm=(l,m) of 'nfund'th nonvanishing component of non-spherical pot.

integer, public, dimension (:, :), allocatable :: icheck
integer, public, dimension (:, :), allocatable :: ifunm1
integer, public, dimension (:, :), allocatable :: ititle
integer, public, dimension (:, :), allocatable :: nkcore
integer, public, dimension (:, :), allocatable :: kapcore
integer, public, dimension (:, :), allocatable :: ipan_intervall
integer, public, dimension (:, :, :), allocatable :: jend

Pointer array for icleb()

integer, public, dimension (:, :, :), allocatable :: irrel
logical, public, dimension (:), allocatable :: vacflag
logical, public, dimension (:), allocatable :: symunitary

unitary/antiunitary symmetry flag

logical, public, dimension (:), allocatable :: fixdir

flag to control which directions should be kept fixed in noco calculation

character(len=124), public, dimension (:), allocatable :: txc
type(type_bfield), public :: bfield