mod_wunfiles Module

Previously this routine wrote unformatted files to disk, so that they would be used by the different executables. Since the advent of the single executable mode, this routine creates a copy of most of the variables in the program as special type parameters. This are then used in the MPI communication, and in the rest of the variables used in the code.

Note

Jonatan Chico: 02.01.2018 Modifications to ensure compatibility for the removal of the inc.p file. Also added the memory profiling calls to the allocation/deallocation of the arrays.



Variables

Type Visibility Attributes Name Initial
type(type_params), public, save :: t_params

Derived Types

type, public ::  type_params

T y p e

h o l d i n g

i n f o r m a t i o n

o f

p a r a m e t e r s

f o r

t h e

c o m m u n i c a t i o n

o f

d a t a

Read more…

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

Subroutines

public subroutine wunfiles(npol, npnt1, npnt2, npnt3, ielast, tk, emin, emax, ez, wez, efermi, npolsemi, n1semi, n2semi, n3semi, iesemicore, tksemi, ebotsemi, emusemi, fsemicore, vins, visp, vbc, vtrel, btrel, rmrel, drdirel, r2drdirel, zrel, jwsrel, irshift, itscf, scfsteps, cmomhost, ecore, lcore, ncore, qmtet, qmphi, qmphitab, qmtettab, qmgamtab, drotq, nsra, ins, natyp, naez, nineq, nref, nspin, ncls, icst, ipan, ircut, alat, zat, r, drdi, refpot, rmtref, vref, iend, jend, cleb, icleb, atom, cls, rcls, nacls, loflm, solver, socscl, cscl, icc, igf, nlbasis, nrbasis, ncpa, icpa, itcpamax, cpatol, rbasis, rr, ezoa, nshell, nsh1, nsh2, ijtabcalc, ijtabcalc_i, ish, jsh, ijtabsym, ijtabsh, nofgij, nqcalc, iqcalc, kmrot, kaoez, iqat, noq, conc, kmesh, maxmesh, nsymat, symunitary, rrot, dsymll, invmod, icheck, natomimp, ratom, atomimp, rc, crel, rrel, srrel, nrrel, irrel, lefttinvll, righttinvll, vacflag, a, b, ifunm, ifunm1, intervx, intervy, intervz, ititle, lmsp1, ntcell, thetas, lpot, lmpot, nright, nleft, linterface, imix, mixing, qbound, fcm, itdbry, irns, kpre, kshape, kte, kvmad, kxc, lambda_xc, txc, ishift, ixipol, lrhosym, kforce, lmsp, llmsp, rmt, rmtnew, rws, imt, irc, irmin, irws, nfu, hostimp, gsh, ilm_map, imaxsh, idoldau, itrunldau, ntldau, lopt, itldau, ueff, jeff, erefldau, uldau, wldau, phildau, iemxd, irmind, irm, nspotd, npotd, nembd1, lmmaxd, ipand, nembd2, lmax, ncleb, naclsd, nclsd, lm2d, lmaxd1, mmaxd, nr, nsheld, naezdpd, natomimpd, nspind, irid, nfund, ncelld, lmxspd, ngshd, krel, ntotd, ncheb, npan_log, npan_eq, npan_log_at, npan_eq_at, r_log, npan_tot, rnew, rpan_intervall, ipan_intervall, nspindd, thetasnew, socscale, tolrdif, lly, deltae, rclsimp, verbosity, MPI_scheme, special_straight_mixing, bfield)

Author
Philipp Rüssmann and many others ...
License
Creative Commons License
Category
communication, input-output, KKRhost

T h i s

r o u t i n e

t a k e s

t h e

r e a d

p a r a m e t e r s

f r o m

t h e

i n p u t c a r d

a n d

s t o r e s

t h e m

i n

t h e

t _ p a r a m s

t y p e

t o

b e

d i s t r i b u t e d

v i a

M P I

Read more…

Arguments

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

Number of Matsubara Poles (EMESHT)

integer, intent(in) :: npnt1

number of E points (EMESHT) for the contour integration

integer, intent(in) :: npnt2

number of E points (EMESHT) for the contour integration

integer, intent(in) :: npnt3

number of E points (EMESHT) for the contour integration

integer, intent(in) :: ielast
real(kind=dp), intent(in) :: tk

Temperature

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

Energies needed in EMESHT

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

Energies needed in EMESHT

complex(kind=dp), intent(in), dimension (iemxd) :: ez
complex(kind=dp), intent(in), dimension (iemxd) :: wez
real(kind=dp), intent(in) :: efermi

Fermi energy

integer, intent(in) :: npolsemi

Number of poles for the semicore contour

integer, intent(in) :: n1semi

Number of energy points for the semicore contour

integer, intent(in) :: n2semi

Number of energy points for the semicore contour

integer, intent(in) :: n3semi

Number of energy points for the semicore contour

integer, intent(in) :: iesemicore
real(kind=dp), intent(in) :: tksemi

Temperature of semi-core contour

real(kind=dp), intent(in) :: ebotsemi
real(kind=dp), intent(in) :: emusemi
real(kind=dp), intent(in) :: fsemicore
real(kind=dp), intent(in), dimension (irmind:irm, lmpot, nspotd) :: vins

Non-spherical part of the potential

real(kind=dp), intent(in), dimension (irm, npotd) :: visp

Spherical part of the potential

real(kind=dp), intent(in), dimension (2) :: vbc

Potential constants

real(kind=dp), intent(inout), dimension (irm*krel+(1-krel), natyp) :: vtrel

potential (spherical part)

real(kind=dp), intent(inout), dimension (irm*krel+(1-krel), natyp) :: btrel

magnetic field

real(kind=dp), intent(inout), dimension (irm*krel+(1-krel), natyp) :: rmrel

radial mesh

real(kind=dp), intent(in), dimension (irm*krel+(1-krel), natyp) :: drdirel
real(kind=dp), intent(in), dimension (irm*krel+(1-krel), natyp) :: r2drdirel
integer, intent(in), dimension (natyp) :: zrel

atomic number (cast integer)

integer, intent(in), dimension (natyp) :: jwsrel

index of the WS radius

integer, intent(in), dimension (natyp) :: irshift

shift of the REL radial mesh with respect no NREL

integer, intent(in) :: itscf
integer, intent(inout) :: scfsteps

number of scf iterations

real(kind=dp), intent(in), dimension (lmpot, nembd1) :: cmomhost

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

real(kind=dp), intent(in), dimension (20, npotd) :: ecore

Core energies

integer, intent(in), dimension (20, npotd) :: lcore

Angular momentum of core states

integer, intent(in), dimension (npotd) :: ncore

Number of core states

real(kind=dp), intent(in), dimension (naez) :: qmtet

angle of the agnetization with respect to the z-axis

real(kind=dp), intent(in), dimension (naez) :: qmphi

angle of the agnetization with respect to the z-axis

real(kind=dp), intent(in), dimension (naez, 3) :: qmphitab
real(kind=dp), intent(in), dimension (naez, 3) :: qmtettab
real(kind=dp), intent(in), dimension (naez, 3) :: qmgamtab
complex(kind=dp), intent(in), dimension (lmmaxd, lmmaxd, naez) :: drotq

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

integer, intent(in) :: nsra
integer, intent(in) :: ins

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

integer, intent(in) :: natyp

Number of kinds of atoms in unit cell

integer, intent(in) :: naez

Number of atoms in unit cell

integer, intent(in) :: nineq

Number of ineq. positions in unit cell

integer, intent(in) :: nref

Number of diff. ref. potentials

integer, intent(in) :: nspin

Counter for spin directions

integer, intent(in) :: ncls

Number of reference clusters

integer, intent(in) :: icst

Number of Born approximation

integer, intent(in), dimension (natyp) :: ipan

Number of panels in non-MT-region

integer, intent(in), dimension (0:ipand, natyp) :: ircut

R points of panel borders

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

Lattice constant in a.u.

real(kind=dp), intent(in), dimension (natyp) :: zat

Nuclear charge

real(kind=dp), intent(in), dimension (irm, natyp) :: r

Radial mesh ( in units a Bohr)

real(kind=dp), intent(in), dimension (irm, natyp) :: drdi

Derivative dr/di

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

Ref. pot. card at position

real(kind=dp), intent(in), dimension (nref) :: rmtref

Muffin-tin radius of reference system

real(kind=dp), intent(in), dimension (nref) :: vref
integer, intent(in) :: iend

Number of nonzero gaunt coefficients

integer, intent(in), dimension (lmpot, 0:lmax, 0:lmax) :: jend

Pointer array for icleb()

real(kind=dp), intent(in), dimension (ncleb, 2) :: cleb

GAUNT coefficients (GAUNT)

integer, intent(in), dimension (ncleb, 4) :: icleb

Pointer array

integer, intent(in), dimension (naclsd, nembd2) :: atom

Atom at site in cluster

integer, intent(in), dimension (nembd2) :: cls

Cluster around atomic sites

real(kind=dp), intent(in), dimension (3, naclsd, nclsd) :: rcls

Real space position of atom in cluster

integer, intent(in), dimension (nclsd) :: nacls

Number of atoms in cluster

integer, intent(in), dimension (lm2d) :: loflm

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

character(len=10), intent(in) :: solver

Type of solver

real(kind=dp), intent(inout), dimension (krel*lmax+1, krel*natyp+(1-krel)) :: socscl
real(kind=dp), intent(inout), dimension (krel*lmax+1, krel*natyp+(1-krel)) :: cscl

Speed of light scaling

integer, intent(in) :: icc

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

integer, intent(in) :: igf

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

integer, intent(in) :: nlbasis

Number of basis layers of left host (repeated units)

integer, intent(in) :: nrbasis

Number of basis layers of right host (repeated units)

integer, intent(in) :: ncpa

NCPA = 0/1 CPA flag

integer, intent(in), dimension (naez) :: icpa

ICPA = 0/1 site-dependent CPA flag

integer, intent(in) :: itcpamax

Max. number of CPA iterations

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

Convergency tolerance for CPA-cycle

real(kind=dp), intent(in), dimension (3, nembd2) :: rbasis

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

real(kind=dp), intent(in), dimension (3, 0:nr) :: rr
integer, intent(in), dimension (naclsd, nembd2) :: ezoa

EZ of atom at site in cluster

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

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

integer, intent(in), dimension (nsheld) :: nsh1

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

integer, intent(in), dimension (nsheld) :: nsh2

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

integer, intent(in), dimension (nofgij) :: 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, intent(in), dimension (nofgij) :: ijtabcalc_i
integer, intent(in), dimension (nsheld, 2*nsymaxd) :: ish
integer, intent(in), dimension (nsheld, 2*nsymaxd) :: jsh
integer, intent(in), dimension (nofgij) :: ijtabsym

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

integer, intent(in), dimension (nofgij) :: ijtabsh

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

integer, intent(in) :: nofgij

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

integer, intent(in) :: nqcalc
integer, intent(in), dimension (naez) :: iqcalc
integer, intent(in) :: kmrot

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

integer, intent(in), dimension (natyp, nembd2) :: kaoez

Kind of atom at site in elem. cell

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

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

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

Number of diff. atom types located

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

Concentration of a given atom

integer, intent(in), dimension (iemxd) :: kmesh
integer, intent(in) :: maxmesh
integer, intent(in) :: nsymat
logical, intent(in), dimension (nsymaxd) :: symunitary

unitary/antiunitary symmetry flag

real(kind=dp), intent(in), dimension (48, 3, nsheld) :: rrot
complex(kind=dp), intent(in), dimension (lmmaxd, lmmaxd, nsymaxd) :: dsymll
integer, intent(in) :: invmod

Inversion scheme

integer, intent(in), dimension (naezdpd, naezdpd) :: icheck
integer, intent(in) :: natomimp

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

real(kind=dp), intent(in), dimension (3, nsheld) :: ratom
integer, intent(in), dimension (natomimpd) :: atomimp
complex(kind=dp), intent(in), dimension (lmmaxd, lmmaxd) :: rc

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

complex(kind=dp), intent(in), dimension (lmmaxd, lmmaxd) :: crel

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

complex(kind=dp), intent(in), dimension (lmmaxd, lmmaxd) :: rrel

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

complex(kind=dp), intent(in), dimension (2, 2, lmmaxd) :: srrel
integer, intent(in), dimension (2, lmmaxd) :: nrrel
integer, intent(in), dimension (2, 2, lmmaxd) :: irrel
complex(kind=dp), intent(in), dimension (lmmaxd, lmmaxd, nembd1, nspindd, iemxd) :: lefttinvll
complex(kind=dp), intent(in), dimension (lmmaxd, lmmaxd, nembd1, nspindd, iemxd) :: righttinvll
logical, intent(in), dimension (2) :: vacflag
real(kind=dp), intent(in), dimension (natyp) :: a

Constants for exponential R mesh

real(kind=dp), intent(in), dimension (natyp) :: b

Constants for exponential R mesh

integer, intent(in), dimension (natyp, lmxspd) :: ifunm
integer, intent(in), dimension (lmxspd, natyp) :: ifunm1
integer, intent(in) :: intervx

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

integer, intent(in) :: intervy

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

integer, intent(in) :: intervz

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

integer, intent(in), dimension (20, npotd) :: ititle
integer, intent(in), dimension (lmxspd, natyp) :: lmsp1
integer, intent(in), dimension (natyp) :: ntcell

Index for WS cell

real(kind=dp), intent(in), dimension (irid, nfund, ncelld) :: thetas

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

integer, intent(in) :: lpot

Maximum l component in potential expansion

integer, intent(in) :: lmpot

(LPOT+1)**2

integer, intent(in) :: nright

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

integer, intent(in) :: nleft

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

logical, intent(in) :: linterface

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

integer, intent(in) :: imix

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

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

Magnitude of the mixing parameter

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

Convergence parameter for the potential

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

Number of SCF steps to remember for the Broyden mixing

integer, intent(in), dimension (natyp) :: irns

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

integer, intent(in) :: kpre
integer, intent(in) :: kshape

Exact treatment of WS cell

integer, intent(in) :: kte

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

integer, intent(in) :: kvmad
integer, intent(in) :: kxc

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

real(kind=dp), intent(in), dimension (natyp) :: lambda_xc

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

character(len=124), intent(in), dimension (6) :: txc
integer, intent(in) :: ishift
integer, intent(in), dimension (natyp) :: ixipol

Constraint of spin pol.

logical, intent(in) :: lrhosym
integer, intent(in) :: kforce

Calculation of the forces

integer, intent(in), dimension (natyp, lmxspd) :: lmsp

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

integer, intent(in), dimension (natyp, nfund) :: llmsp

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

real(kind=dp), intent(in), dimension (natyp) :: rmt

Muffin-tin radius of true system

real(kind=dp), intent(in), dimension (natyp) :: rmtnew

Adapted muffin-tin radius

real(kind=dp), intent(in), dimension (natyp) :: rws

Wigner Seitz radius

integer, intent(in), dimension (natyp) :: imt

R point at MT radius

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

R point for potential cutting

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

Max R for spherical treatment

integer, intent(in), dimension (natyp) :: irws

R point at WS radius

integer, intent(in), dimension (natyp) :: nfu
integer, intent(in), dimension (0:natyp) :: hostimp
real(kind=dp), intent(in), dimension (ngshd) :: gsh
integer, intent(in), dimension (ngshd, 3) :: ilm_map
integer, intent(in), dimension (0:lmpot) :: imaxsh
integer, intent(in) :: idoldau

flag to perform LDA+U

integer, intent(in) :: itrunldau

Iteration index for LDA+U

integer, intent(in) :: ntldau

number of atoms on which LDA+U is applied

integer, intent(in), dimension (natyp) :: lopt

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

integer, intent(in), dimension (natyp) :: itldau

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

real(kind=dp), intent(in), dimension (natyp) :: ueff

input U parameter for each atom

real(kind=dp), intent(in), dimension (natyp) :: jeff

input J parameter for each atom

real(kind=dp), intent(in), dimension (natyp) :: erefldau

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

real(kind=dp), intent(in), dimension (mmaxd, mmaxd, mmaxd, mmaxd, natyp) :: uldau

calculated Coulomb matrix elements (EREFLDAU)

real(kind=dp), intent(in), dimension (mmaxd, mmaxd, nspind, natyp) :: wldau

potential matrix

complex(kind=dp), intent(in), dimension (irm, natyp) :: phildau
integer, intent(in) :: iemxd

Dimension for energy-dependent arrays

integer, intent(in) :: irmind

IRM-IRNSD

integer, intent(in) :: irm

Maximum number of radial points

integer, intent(in) :: nspotd

Number of potentials for storing non-sph. potentials

integer, intent(in) :: npotd

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

integer, intent(in) :: nembd1

NEMB+1

integer, intent(in) :: lmmaxd

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

integer, intent(in) :: ipand

Number of panels in non-spherical part

integer, intent(in) :: nembd2
integer, intent(in) :: lmax

Maximum l component in wave function expansion

integer, intent(in) :: ncleb

Number of Clebsch-Gordon coefficients

integer, intent(in) :: naclsd

Maximum number of atoms in a TB-cluster

integer, intent(in) :: nclsd

Maximum number of different TB-clusters

integer, intent(in) :: lm2d

(2LMAX+1)*2

integer, intent(in) :: lmaxd1
integer, intent(in) :: mmaxd

2*LMAX+1

integer, intent(in) :: nr

Number of real space vectors rr

integer, intent(in) :: nsheld

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

integer, intent(in) :: naezdpd
integer, intent(in) :: natomimpd

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

integer, intent(in) :: nspind

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

integer, intent(in) :: irid

Shape functions parameters in non-spherical part

integer, intent(in) :: nfund

Shape functions parameters in non-spherical part

integer, intent(in) :: ncelld

Number of cells (shapes) in non-spherical part

integer, intent(in) :: lmxspd

(2LPOT+1)*2

integer, intent(in) :: ngshd

Shape functions parameters in non-spherical part

integer, intent(in) :: 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, intent(in) :: ntotd
integer, intent(in) :: ncheb

Number of Chebychev pannels for the new solver

integer, intent(in) :: npan_log

Variables for the pannels for the new solver

integer, intent(in) :: npan_eq

Variables for the pannels for the new solver

integer, intent(in), dimension (natyp) :: npan_log_at
integer, intent(in), dimension (natyp) :: npan_eq_at
real(kind=dp), intent(in) :: r_log
integer, intent(in), dimension (natyp) :: npan_tot
real(kind=dp), intent(in), dimension (ntotd*(ncheb+1), natyp) :: rnew
real(kind=dp), intent(in), dimension (0:ntotd, natyp) :: rpan_intervall
integer, intent(in), dimension (0:ntotd, natyp) :: ipan_intervall
integer, intent(in) :: nspindd

NSPIND-KORBIT

real(kind=dp), intent(in), dimension (ntotd*(ncheb+1), nfund, ncelld) :: thetasnew
real(kind=dp), intent(in), dimension (natyp) :: socscale

Spin-orbit scaling

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

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

integer, intent(in) :: lly

LLY!> 0 : apply Lloyds formula

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

Energy difference for numerical derivative

real(kind=dp), intent(in), dimension (3, natomimpd) :: rclsimp
integer, intent(in) :: 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(in) :: MPI_scheme

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

integer, intent(in) :: 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')

type(type_bfield), intent(in) :: bfield

public subroutine init_t_params(t_params)

Author
Philipp Ruessmann
License
Creative Commons License
Category
memory-management, profiling, KKRhost

A l l o c a t e

i n i t i a l

p a r a m e t e r s

t o

b e

b r o a d c a s t e d

v i a

m p i

Read more…

Arguments

Type IntentOptional Attributes Name
type(type_params), intent(inout) :: t_params

public subroutine fill_t_params_scalars(iemxd, irmind, irm, lmpot, nspotd, npotd, natyp, nembd1, lmmaxd, naez, ipand, nembd2, nref, lmax, ncleb, naclsd, nclsd, lm2d, lmaxd1, nr, nsheld, naezdpd, natomimpd, nofgij, nspind, nspindd, irid, nfund, ncelld, lmxspd, ngshd, krel, mmaxd, ielast, npol, npnt1, npnt2, npnt3, itscf, scfsteps, lly, nsra, ins, nineq, nspin, ncls, icst, iend, icc, igf, nlbasis, nrbasis, ncpa, itcpamax, kmrot, maxmesh, nsymat, natomimp, invmod, nqcalc, intervx, intervy, intervz, lpot, nright, nleft, imix, itdbry, kpre, kshape, kte, kvmad, kxc, ishift, kforce, idoldau, itrunldau, ntldau, npolsemi, n1semi, n2semi, n3semi, iesemicore, ebotsemi, emusemi, tksemi, fsemicore, r_log, emin, emax, tk, efermi, alat, cpatol, mixing, qbound, fcm, tolrdif, linterface, lrhosym, solver, tmpdir, itmpdir, iltmp, ntotd, ncheb, deltae, special_straight_mixing, t_params)

Author
Philipp Ruessmann
License
Creative Commons License
Category
initialization, communication, KKRhost

S e t

t h e

v a l u e s

o f

t h e

t _ p a r a m s

s c a l a r s

w i t h

t h e

i n p u t

v a l u e s

Read more…

Arguments

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

Dimension for energy-dependent arrays

integer, intent(in) :: irmind

IRM-IRNSD

integer, intent(in) :: irm

Maximum number of radial points

integer, intent(in) :: lmpot

(LPOT+1)**2

integer, intent(in) :: nspotd

Number of potentials for storing non-sph. potentials

integer, intent(in) :: npotd

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

integer, intent(in) :: natyp

Number of kinds of atoms in unit cell

integer, intent(in) :: nembd1

NEMB+1

integer, intent(in) :: lmmaxd

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

integer, intent(in) :: naez

Number of atoms in unit cell

integer, intent(in) :: ipand

Number of panels in non-spherical part

integer, intent(in) :: nembd2
integer, intent(in) :: nref

Number of diff. ref. potentials

integer, intent(in) :: lmax

Maximum l component in wave function expansion

integer, intent(in) :: ncleb

Number of Clebsch-Gordon coefficients

integer, intent(in) :: naclsd

Maximum number of atoms in a TB-cluster

integer, intent(in) :: nclsd

Maximum number of different TB-clusters

integer, intent(in) :: lm2d

(2LMAX+1)*2

integer, intent(in) :: lmaxd1
integer, intent(in) :: nr

Number of real space vectors rr

integer, intent(in) :: nsheld

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

integer, intent(in) :: naezdpd
integer, intent(in) :: natomimpd

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

integer, intent(in) :: nofgij

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

integer, intent(in) :: nspind

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

integer, intent(in) :: nspindd

NSPIND-KORBIT

integer, intent(in) :: irid

Shape functions parameters in non-spherical part

integer, intent(in) :: nfund

Shape functions parameters in non-spherical part

integer, intent(in) :: ncelld

Number of cells (shapes) in non-spherical part

integer, intent(in) :: lmxspd

(2LPOT+1)*2

integer, intent(in) :: ngshd

Shape functions parameters in non-spherical part

integer, intent(in) :: 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, intent(in) :: mmaxd

2*LMAX+1

integer, intent(in) :: ielast
integer, intent(in) :: npol

Number of Matsubara Poles (EMESHT)

integer, intent(in) :: npnt1

number of E points (EMESHT) for the contour integration

integer, intent(in) :: npnt2

number of E points (EMESHT) for the contour integration

integer, intent(in) :: npnt3

number of E points (EMESHT) for the contour integration

integer, intent(in) :: itscf
integer, intent(in) :: scfsteps

number of scf iterations

integer, intent(in) :: lly

LLY!> 0 : apply Lloyds formula

integer, intent(in) :: nsra
integer, intent(in) :: ins

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

integer, intent(in) :: nineq

Number of ineq. positions in unit cell

integer, intent(in) :: nspin

Counter for spin directions

integer, intent(in) :: ncls

Number of reference clusters

integer, intent(in) :: icst

Number of Born approximation

integer, intent(in) :: iend

Number of nonzero gaunt coefficients

integer, intent(in) :: icc

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

integer, intent(in) :: igf

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

integer, intent(in) :: nlbasis

Number of basis layers of left host (repeated units)

integer, intent(in) :: nrbasis

Number of basis layers of right host (repeated units)

integer, intent(in) :: ncpa

NCPA = 0/1 CPA flag

integer, intent(in) :: itcpamax

Max. number of CPA iterations

integer, intent(in) :: kmrot

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

integer, intent(in) :: maxmesh
integer, intent(in) :: nsymat
integer, intent(in) :: natomimp

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

integer, intent(in) :: invmod

Inversion scheme

integer, intent(in) :: nqcalc
integer, intent(in) :: intervx

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

integer, intent(in) :: intervy

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

integer, intent(in) :: intervz

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

integer, intent(in) :: lpot

Maximum l component in potential expansion

integer, intent(in) :: nright

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

integer, intent(in) :: nleft

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

integer, intent(in) :: imix

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

integer, intent(in) :: itdbry

Number of SCF steps to remember for the Broyden mixing

integer, intent(in) :: kpre
integer, intent(in) :: kshape

Exact treatment of WS cell

integer, intent(in) :: kte

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

integer, intent(in) :: kvmad
integer, intent(in) :: kxc

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

integer, intent(in) :: ishift
integer, intent(in) :: kforce

Calculation of the forces

integer, intent(in) :: idoldau

flag to perform LDA+U

integer, intent(in) :: itrunldau

Iteration index for LDA+U

integer, intent(in) :: ntldau

number of atoms on which LDA+U is applied

integer, intent(in) :: npolsemi

Number of poles for the semicore contour

integer, intent(in) :: n1semi

Number of energy points for the semicore contour

integer, intent(in) :: n2semi

Number of energy points for the semicore contour

integer, intent(in) :: n3semi

Number of energy points for the semicore contour

integer, intent(in) :: iesemicore
real(kind=dp), intent(in) :: ebotsemi
real(kind=dp), intent(in) :: emusemi
real(kind=dp), intent(in) :: tksemi

Temperature of semi-core contour

real(kind=dp), intent(in) :: fsemicore
real(kind=dp), intent(in) :: r_log
real(kind=dp), intent(in) :: emin

Energies needed in EMESHT

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

Energies needed in EMESHT

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

Temperature

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

Fermi energy

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

Lattice constant in a.u.

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

Convergency tolerance for CPA-cycle

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

Magnitude of the mixing parameter

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

Convergence parameter for the potential

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

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

logical, intent(in) :: linterface

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

logical, intent(in) :: lrhosym
character(len=10), intent(in) :: solver

Type of solver

character(len=80), intent(in) :: tmpdir
integer, intent(in) :: itmpdir
integer, intent(in) :: iltmp
integer, intent(in) :: ntotd
integer, intent(in) :: ncheb

Number of Chebychev pannels for the new solver

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

Energy difference for numerical derivative

integer, intent(in) :: special_straight_mixing
type(type_params), intent(inout) :: t_params

public subroutine fill_t_params_arrays(t_params, iemxd, lmmaxd, naez, nembd1, nspindd, irmind, irm, lmpot, nspotd, npotd, natyp, nr, nembd2, nref, ncleb, nclsd, naclsd, nsheld, ngshd, nfund, irid, ncelld, mmaxd, lm2d, lmxspd, lmaxd1, nspind, ntotd, ncheb, ipand, lmax, nofgij, naezdpd, natomimpd, ez, wez, drotq, dsymll, lefttinvll, righttinvll, crel, rc, rrel, srrel, phildau, vins, visp, vbc, vtrel, btrel, socscale, drdirel, r2drdirel, rmrel, cmomhost, ecore, qmtet, qmphi, qmphitab, qmtettab, qmgamtab, zat, r, drdi, rmtref, vref, cleb, rcls, socscl, cscl, rbasis, rr, conc, rrot, ratom, a, b, thetas, rmt, rmtnew, rws, gsh, erefldau, ueff, jeff, uldau, wldau, rpan_intervall, rnew, thetasnew, lopt, itldau, irshift, jwsrel, zrel, lcore, ncore, ipan, ircut, jend, icleb, atom, cls, nacls, loflm, ezoa, kaoez, iqat, icpa, noq, kmesh, nshell, nsh1, nsh2, ijtabcalc, ijtabcalc_i, ijtabsym, ijtabsh, ish, jsh, iqcalc, icheck, atomimp, refpot, irrel, nrrel, ifunm1, ititle, lmsp1, ntcell, ixipol, irns, ifunm, llmsp, lmsp, imt, irc, irmin, irws, nfu, hostimp, ilm_map, imaxsh, npan_log, npan_eq, npan_log_at, npan_eq_at, npan_tot, ipan_intervall, symunitary, vacflag, txc, rclsimp, krel, lambda_xc)

Author
Who wrote this subroutine
License
Creative Commons License
Category
initialization, communication, KKRhost

S e t

t h e

v a l u e s

o f

t h e

t _ p a r a m s

a r r a y s

w i t h

t h e

i n p u t

v a l u e s

o f

t h e

a r r a y s

Read more…

Arguments

Type IntentOptional Attributes Name
type(type_params), intent(inout) :: t_params
integer, intent(in) :: iemxd

Dimension for energy-dependent arrays

integer, intent(in) :: lmmaxd

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

integer, intent(in) :: naez

Number of atoms in unit cell

integer, intent(in) :: nembd1

NEMB+1

integer, intent(in) :: nspindd

NSPIND-KORBIT

integer, intent(in) :: irmind

IRM-IRNSD

integer, intent(in) :: irm

Maximum number of radial points

integer, intent(in) :: lmpot

(LPOT+1)**2

integer, intent(in) :: nspotd

Number of potentials for storing non-sph. potentials

integer, intent(in) :: npotd

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

integer, intent(in) :: natyp

Number of kinds of atoms in unit cell

integer, intent(in) :: nr

Number of real space vectors rr

integer, intent(in) :: nembd2
integer, intent(in) :: nref

Number of diff. ref. potentials

integer, intent(in) :: ncleb

Number of Clebsch-Gordon coefficients

integer, intent(in) :: nclsd

Maximum number of different TB-clusters

integer, intent(in) :: naclsd

Maximum number of atoms in a TB-cluster

integer, intent(in) :: nsheld

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

integer, intent(in) :: ngshd

Shape functions parameters in non-spherical part

integer, intent(in) :: nfund

Shape functions parameters in non-spherical part

integer, intent(in) :: irid

Shape functions parameters in non-spherical part

integer, intent(in) :: ncelld

Number of cells (shapes) in non-spherical part

integer, intent(in) :: mmaxd

2*LMAX+1

integer, intent(in) :: lm2d

(2LMAX+1)*2

integer, intent(in) :: lmxspd

(2LPOT+1)*2

integer, intent(in) :: lmaxd1
integer, intent(in) :: nspind

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

integer, intent(in) :: ntotd
integer, intent(in) :: ncheb

Number of Chebychev pannels for the new solver

integer, intent(in) :: ipand

Number of panels in non-spherical part

integer, intent(in) :: lmax

Maximum l component in wave function expansion

integer, intent(in) :: nofgij

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

integer, intent(in) :: naezdpd
integer, intent(in) :: natomimpd

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

complex(kind=dp), intent(in), dimension (iemxd) :: ez
complex(kind=dp), intent(in), dimension (iemxd) :: wez
complex(kind=dp), intent(in), dimension (lmmaxd, lmmaxd, naez) :: drotq

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

complex(kind=dp), intent(in), dimension (lmmaxd, lmmaxd, nsymaxd) :: dsymll
complex(kind=dp), intent(in), dimension (lmmaxd, lmmaxd, nembd1, nspindd, iemxd) :: lefttinvll
complex(kind=dp), intent(in), dimension (lmmaxd, lmmaxd, nembd1, nspindd, iemxd) :: righttinvll
complex(kind=dp), intent(in), dimension (lmmaxd, lmmaxd) :: crel

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

complex(kind=dp), intent(in), dimension (lmmaxd, lmmaxd) :: rc

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

complex(kind=dp), intent(in), dimension (lmmaxd, lmmaxd) :: rrel

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

complex(kind=dp), intent(in), dimension (2, 2, lmmaxd) :: srrel
complex(kind=dp), intent(in), dimension (irm, natyp) :: phildau
real(kind=dp), intent(in), dimension (irmind:irm, lmpot, nspotd) :: vins

Non-spherical part of the potential

real(kind=dp), intent(in), dimension (irm, npotd) :: visp

Spherical part of the potential

real(kind=dp), intent(in), dimension (2) :: vbc

Potential constants

real(kind=dp), intent(inout), dimension (irm*krel+(1-krel), natyp) :: vtrel

potential (spherical part)

real(kind=dp), intent(inout), dimension (irm*krel+(1-krel), natyp) :: btrel

magnetic field

real(kind=dp), intent(in), dimension (natyp) :: socscale

Spin-orbit scaling

real(kind=dp), intent(in), dimension (irm*krel+(1-krel), natyp) :: drdirel
real(kind=dp), intent(in), dimension (irm*krel+(1-krel), natyp) :: r2drdirel
real(kind=dp), intent(inout), dimension (irm*krel+(1-krel), natyp) :: rmrel

radial mesh

real(kind=dp), intent(in), dimension (lmpot, nembd1) :: cmomhost

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

real(kind=dp), intent(in), dimension (20, npotd) :: ecore

Core energies

real(kind=dp), intent(in), dimension (naez) :: qmtet

angle of the agnetization with respect to the z-axis

real(kind=dp), intent(in), dimension (naez) :: qmphi

angle of the agnetization with respect to the z-axis

real(kind=dp), intent(in), dimension (naez, 3) :: qmphitab
real(kind=dp), intent(in), dimension (naez, 3) :: qmtettab
real(kind=dp), intent(in), dimension (naez, 3) :: qmgamtab
real(kind=dp), intent(in), dimension (natyp) :: zat

Nuclear charge

real(kind=dp), intent(in), dimension (irm, natyp) :: r

Radial mesh ( in units a Bohr)

real(kind=dp), intent(in), dimension (irm, natyp) :: drdi

Derivative dr/di

real(kind=dp), intent(in), dimension (nref) :: rmtref

Muffin-tin radius of reference system

real(kind=dp), intent(in), dimension (nref) :: vref
real(kind=dp), intent(in), dimension (ncleb, 2) :: cleb

GAUNT coefficients (GAUNT)

real(kind=dp), intent(in), dimension (3, naclsd, nclsd) :: rcls

Real space position of atom in cluster

real(kind=dp), intent(inout), dimension (krel*lmax+1, krel*natyp+(1-krel)) :: socscl
real(kind=dp), intent(inout), dimension (krel*lmax+1, krel*natyp+(1-krel)) :: cscl

Speed of light scaling

real(kind=dp), intent(in), dimension (3, nembd2) :: rbasis

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

real(kind=dp), intent(in), dimension (3, 0:nr) :: rr

Set of real space vectors (in a.u.)

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

Concentration of a given atom

real(kind=dp), intent(in), dimension (48, 3, nsheld) :: rrot
real(kind=dp), intent(in), dimension (3, nsheld) :: ratom
real(kind=dp), intent(in), dimension (natyp) :: a

Constants for exponential R mesh

real(kind=dp), intent(in), dimension (natyp) :: b

Constants for exponential R mesh

real(kind=dp), intent(in), dimension (irid, nfund, ncelld) :: thetas

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

real(kind=dp), intent(in), dimension (natyp) :: rmt

Muffin-tin radius of true system

real(kind=dp), intent(in), dimension (natyp) :: rmtnew

Adapted muffin-tin radius

real(kind=dp), intent(in), dimension (natyp) :: rws

Wigner Seitz radius

real(kind=dp), intent(in), dimension (ngshd) :: gsh
real(kind=dp), intent(in), dimension (natyp) :: erefldau

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

real(kind=dp), intent(in), dimension (natyp) :: ueff

input U parameter for each atom

real(kind=dp), intent(in), dimension (natyp) :: jeff

input J parameter for each atom

real(kind=dp), intent(in), dimension (mmaxd, mmaxd, mmaxd, mmaxd, natyp) :: uldau

calculated Coulomb matrix elements (EREFLDAU)

real(kind=dp), intent(in), dimension (mmaxd, mmaxd, nspind, natyp) :: wldau

potential matrix

real(kind=dp), intent(in), dimension (0:ntotd, natyp) :: rpan_intervall
real(kind=dp), intent(in), dimension (ntotd*(ncheb+1), natyp) :: rnew
real(kind=dp), intent(in), dimension (ntotd*(ncheb+1), nfund, ncelld) :: thetasnew
integer, intent(in), dimension (natyp) :: lopt

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

integer, intent(in), dimension (natyp) :: itldau

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

integer, intent(in), dimension (natyp) :: irshift
integer, intent(in), dimension (natyp) :: jwsrel

index of the WS radius

integer, intent(in), dimension (natyp) :: zrel

atomic number (cast integer)

integer, intent(in), dimension (20, npotd) :: lcore

Angular momentum of core states

integer, intent(in), dimension (npotd) :: ncore

Number of core states

integer, intent(in), dimension (natyp) :: ipan

Number of panels in non-MT-region

integer, intent(in), dimension (0:ipand, natyp) :: ircut

R points of panel borders

integer, intent(in), dimension (lmpot, 0:lmax, 0:lmax) :: jend

Pointer array for icleb()

integer, intent(in), dimension (ncleb, 4) :: icleb

Pointer array

integer, intent(in), dimension (naclsd, nembd2) :: atom

Atom at site in cluster

integer, intent(in), dimension (nembd2) :: cls

Cluster around atomic sites

integer, intent(in), dimension (nclsd) :: nacls

Number of atoms in cluster

integer, intent(in), dimension (lm2d) :: loflm

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

integer, intent(in), dimension (naclsd, nembd2) :: ezoa

EZ of atom at site in cluster

integer, intent(in), dimension (natyp, nembd2) :: kaoez

Kind of atom at site in elem. cell

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

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

integer, intent(in), dimension (naez) :: icpa

ICPA = 0/1 site-dependent CPA flag

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

Number of diff. atom types located

integer, intent(in), dimension (iemxd) :: kmesh
integer, intent(in), dimension (0:nsheld) :: nshell

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

integer, intent(in), dimension (nsheld) :: nsh1

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

integer, intent(in), dimension (nsheld) :: nsh2

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

integer, intent(in), dimension (nofgij) :: 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, intent(in), dimension (nofgij) :: ijtabcalc_i
integer, intent(in), dimension (nofgij) :: ijtabsym

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

integer, intent(in), dimension (nofgij) :: ijtabsh

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

integer, intent(in), dimension (nsheld, 2*nsymaxd) :: ish
integer, intent(in), dimension (nsheld, 2*nsymaxd) :: jsh
integer, intent(in), dimension (naez) :: iqcalc
integer, intent(in), dimension (naezdpd, naezdpd) :: icheck
integer, intent(in), dimension (natomimpd) :: atomimp
integer, intent(in), dimension (nembd2) :: refpot

Ref. pot. card at position

integer, intent(in), dimension (2, 2, lmmaxd) :: irrel
integer, intent(in), dimension (2, lmmaxd) :: nrrel
integer, intent(in), dimension (lmxspd, natyp) :: ifunm1
integer, intent(in), dimension (20, npotd) :: ititle
integer, intent(in), dimension (lmxspd, natyp) :: lmsp1
integer, intent(in), dimension (natyp) :: ntcell

Index for WS cell

integer, intent(in), dimension (natyp) :: ixipol

Constraint of spin pol.

integer, intent(in), dimension (natyp) :: irns

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

integer, intent(in), dimension (natyp, lmxspd) :: ifunm
integer, intent(in), dimension (natyp, nfund) :: llmsp

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

integer, intent(in), dimension (natyp, lmxspd) :: lmsp

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

integer, intent(in), dimension (natyp) :: imt

R point at MT radius

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

R point for potential cutting

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

Max R for spherical treatment

integer, intent(in), dimension (natyp) :: irws

R point at WS radius

integer, intent(in), dimension (natyp) :: nfu
integer, intent(in), dimension (0:natyp) :: hostimp
integer, intent(in), dimension (ngshd, 3) :: ilm_map
integer, intent(in), dimension (0:lmpot) :: imaxsh
integer, intent(in) :: npan_log
integer, intent(in) :: npan_eq
integer, intent(in), dimension (natyp) :: npan_log_at
integer, intent(in), dimension (natyp) :: npan_eq_at
integer, intent(in), dimension (natyp) :: npan_tot
integer, intent(in), dimension (0:ntotd, natyp) :: ipan_intervall
logical, intent(in), dimension (nsymaxd) :: symunitary

unitary/antiunitary symmetry flag

logical, intent(in), dimension (2) :: vacflag
character(len=124), intent(in), dimension (6) :: txc
real(kind=dp), intent(in), dimension (3, natomimpd) :: rclsimp
integer, intent(in) :: krel
real(kind=dp), intent(in), dimension (natyp) :: lambda_xc

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

public subroutine get_params_1a(t_params, ipand, natypd, irmd, naclsd, ielast, nclsd, nrefd, ncleb, nembd, naezd, lm2d, nsra, ins, nspin, icst, ipan, ircut, lmax, ncls, nineq, idoldau, lly, krel, atom, cls, icleb, loflm, nacls, refpot, irws, iend, ez, vins, irmin, itmpdir, iltmp, alat, drdi, rmesh, zat, rcls, iemxd, visp, rmtref, vref, cleb, cscl, socscale, socscl, erefldau, ueff, jeff, solver, tmpdir, deltae, tolrdif, npan_log, npan_eq, ncheb, npan_tot, ipan_intervall, rpan_intervall, rnew, ntotd, nrmaxd, r_log, ntldau, itldau, lopt, vtrel, btrel, drdirel, r2drdirel, rmrel, irmind, lmpot, nspotd, npotd, jwsrel, zrel, itscf, natomimpd, natomimp, atomimp, iqat, naez, natyp, nref)

Author
Philipp Ruessmann
License
Creative Commons License
Category
communication, KKRhost

S e t

t h e

v a l u e s

o f

t h e

l o c a l

v a r i a b l e s

a c c o r d i n g

t o

t h e

s t o r e d

t _ p a r a m s

s o

t h a t

t h e y

c a n

b e

p a s s e d

b e t w e e n

d i f f e r e n t

c o n t r o l

m o d u l e s ,

s p e c i f i c a l l y

f o r

m a i n 1 a

Read more…

Arguments

Type IntentOptional Attributes Name
type(type_params), intent(in) :: t_params
integer, intent(in) :: ipand

Number of panels in non-spherical part

integer, intent(in) :: natypd

Number of kinds of atoms in unit cell

integer, intent(in) :: irmd

Maximum number of radial points

integer, intent(in) :: naclsd

Maximum number of atoms in a TB-cluster

integer, intent(inout) :: ielast
integer, intent(in) :: nclsd

Maximum number of different TB-clusters

integer, intent(in) :: nrefd

Number of diff. ref. potentials

integer, intent(in) :: ncleb

Number of Clebsch-Gordon coefficients

integer, intent(in) :: nembd

Number of 'embedding' positions

integer, intent(in) :: naezd

Number of atoms in unit cell

integer, intent(in) :: lm2d

(2LMAX+1)*2

integer, intent(inout) :: nsra
integer, intent(inout) :: ins

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

integer, intent(inout) :: nspin

Counter for spin directions

integer, intent(inout) :: icst

Number of Born approximation

integer, intent(inout), dimension (natypd) :: ipan

Number of panels in non-MT-region

integer, intent(inout), dimension (0:ipand, natypd) :: ircut

R points of panel borders

integer, intent(inout) :: lmax

Maximum l component in wave function expansion

integer, intent(inout) :: ncls

Number of reference clusters

integer, intent(inout) :: nineq

Number of ineq. positions in unit cell

integer, intent(inout) :: idoldau

flag to perform LDA+U

integer, intent(inout) :: lly

LLY!> 0 : apply Lloyds formula

integer, intent(in) :: 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, intent(inout), dimension (naclsd, naezd+nembd) :: atom

Atom at site in cluster

integer, intent(inout), dimension (naezd+nembd) :: cls

Cluster around atomic sites

integer, intent(inout), dimension (ncleb, 4) :: icleb

Pointer array

integer, intent(inout), dimension (lm2d) :: loflm

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

integer, intent(inout), dimension (nclsd) :: nacls

Number of atoms in cluster

integer, intent(inout), dimension (naezd+nembd) :: refpot

Ref. pot. card at position

integer, intent(inout), dimension (natypd) :: irws

R point at WS radius

integer, intent(inout) :: iend

Number of nonzero gaunt coefficients

complex(kind=dp), intent(inout), dimension (iemxd) :: ez
real(kind=dp), intent(inout), dimension (irmind:irmd, lmpot, nspotd) :: vins

Non-spherical part of the potential

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

Max R for spherical treatment

integer, intent(inout) :: itmpdir
integer, intent(inout) :: iltmp
real(kind=dp), intent(inout) :: alat

Lattice constant in a.u.

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

Derivative dr/di

real(kind=dp), intent(inout), dimension (irmd, natypd) :: rmesh
real(kind=dp), intent(inout), dimension (natypd) :: zat

Nuclear charge

real(kind=dp), intent(inout), dimension (3, naclsd, nclsd) :: rcls

Real space position of atom in cluster

integer, intent(in) :: iemxd

Dimension for energy-dependent arrays

real(kind=dp), intent(inout), dimension (irmd, npotd) :: visp

Spherical part of the potential

real(kind=dp), intent(inout), dimension (nrefd) :: rmtref

Muffin-tin radius of reference system

real(kind=dp), intent(inout), dimension (nrefd) :: vref
real(kind=dp), intent(inout), dimension (ncleb, 2) :: cleb

GAUNT coefficients (GAUNT)

real(kind=dp), intent(inout), dimension (krel*lmax+1, krel*natypd+(1-krel)) :: cscl

Speed of light scaling

real(kind=dp), intent(inout), dimension (natypd) :: socscale

Spin-orbit scaling

real(kind=dp), intent(inout), dimension (krel*lmax+1, krel*natypd+(1-krel)) :: socscl
real(kind=dp), intent(inout), dimension (natypd) :: erefldau

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

real(kind=dp), intent(inout), dimension (natypd) :: ueff

input U parameter for each atom

real(kind=dp), intent(inout), dimension (natypd) :: jeff

input J parameter for each atom

character(len=10), intent(inout) :: solver

Type of solver

character(len=80), intent(inout) :: tmpdir
complex(kind=dp), intent(inout) :: deltae

Energy difference for numerical derivative

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

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

integer, intent(inout), dimension (natypd) :: npan_log
integer, intent(inout), dimension (natypd) :: npan_eq
integer, intent(inout) :: ncheb

Number of Chebychev pannels for the new solver

integer, intent(inout), dimension (natypd) :: npan_tot
integer, intent(inout), dimension (0:ntotd, natypd) :: ipan_intervall
real(kind=dp), intent(inout), dimension (0:ntotd, natypd) :: rpan_intervall
real(kind=dp), intent(inout), dimension (nrmaxd, natypd) :: rnew
integer, intent(in) :: ntotd
integer, intent(in) :: nrmaxd
real(kind=dp), intent(inout) :: r_log
integer, intent(inout) :: ntldau

number of atoms on which LDA+U is applied

integer, intent(inout), dimension (natypd) :: itldau

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

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

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

real(kind=dp), intent(inout), dimension (irmd*krel+(1-krel), natypd) :: vtrel

potential (spherical part)

real(kind=dp), intent(inout), dimension (irmd*krel+(1-krel), natypd) :: btrel

magnetic field

real(kind=dp), intent(inout), dimension (irmd*krel+(1-krel), natypd) :: drdirel

derivative of radial mesh

real(kind=dp), intent(inout), dimension (irmd*krel+(1-krel), natypd) :: r2drdirel

(r**2 * drdi)

real(kind=dp), intent(inout), dimension (irmd*krel+(1-krel), natypd) :: rmrel

radial mesh

integer, intent(in) :: irmind

IRM-IRNSD

integer, intent(in) :: lmpot

(LPOT+1)**2

integer, intent(in) :: nspotd

Number of potentials for storing non-sph. potentials

integer, intent(in) :: npotd

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

integer, intent(inout), dimension (natypd) :: jwsrel

index of the WS radius

integer, intent(inout), dimension (natypd) :: zrel

atomic number (cast integer)

integer, intent(inout) :: itscf
integer, intent(in) :: natomimpd

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

integer, intent(inout) :: natomimp

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

integer, intent(inout), dimension (natomimpd) :: atomimp
integer, intent(inout), dimension (natypd) :: iqat

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

integer, intent(out) :: naez

Number of atoms in unit cell

integer, intent(out) :: natyp

Number of kinds of atoms in unit cell

integer, intent(out) :: nref

Number of diff. ref. potentials

public subroutine get_params_1b(t_params, natypd, naezd, natyp, naclsd, ielast, npol, nclsd, nrefd, nref, nembd, naez, nsra, ins, nspin, lmax, ncls, lly, krel, atom, cls, nacls, refpot, ez, itmpdir, iltmp, alat, rcls, iemxd, rmtref, vref, tmpdir, nsheld, nprincd, kpoibz, atomimp, natomimpd, icc, igf, nlbasis, nrbasis, ncpa, icpa, itcpamax, cpatol, nrd, ideci, rbasis, rr, ezoa, nshell, kmrot, kaoez, ish, jsh, nsh1, nsh2, noq, iqat, nofgij, natomimp, conc, kmesh, maxmesh, nsymat, nqcalc, ratom, rrot, drotq, ijtabcalc, ijtabcalc_i, ijtabsym, ijtabsh, iqcalc, dsymll, invmod, icheck, symunitary, rc, crel, rrel, srrel, nrrel, irrel, lefttinvll, righttinvll, vacflag, nofks, volbz, bzkp, volcub, wez, nembd1, lmmaxd, nspindd, maxmshd, rclsimp)

Author
Philipp Ruessmann
License
Creative Commons License
Category
communication, KKRhost

S e t

t h e

v a l u e s

o f

t h e

l o c a l

v a r i a b l e s

a c c o r d i n g

t o

t h e

s t o r e d

t _ p a r a m s

s o

t h a t

t h e y

c a n

b e

p a s s e d

b e t w e e n

d i f f e r e n t

c o n t r o l

m o d u l e s ,

s p e c i f i c a l l y

f o r

m a i n 1 b

Read more…

Arguments

Type IntentOptional Attributes Name
type(type_params), intent(in) :: t_params
integer, intent(in) :: natypd
integer, intent(in) :: naezd
integer, intent(out) :: natyp
integer, intent(in) :: naclsd
integer, intent(inout) :: ielast
integer, intent(inout) :: npol
integer, intent(in) :: nclsd
integer, intent(in) :: nrefd
integer, intent(out) :: nref
integer, intent(in) :: nembd
integer, intent(out) :: naez
integer, intent(inout) :: nsra
integer, intent(inout) :: ins
integer, intent(inout) :: nspin
integer, intent(inout) :: lmax
integer, intent(inout) :: ncls
integer, intent(inout) :: lly
integer, intent(in) :: krel
integer, intent(inout), dimension (naclsd, naezd+nembd) :: atom
integer, intent(inout), dimension (naezd+nembd) :: cls
integer, intent(inout), dimension (nclsd) :: nacls
integer, intent(inout), dimension (naezd+nembd) :: refpot
complex(kind=dp), intent(inout), dimension (iemxd) :: ez
integer, intent(inout) :: itmpdir
integer, intent(inout) :: iltmp
real(kind=dp), intent(inout) :: alat
real(kind=dp), intent(inout), dimension (3, naclsd, nclsd) :: rcls
integer, intent(in) :: iemxd
real(kind=dp), intent(inout), dimension (nrefd) :: rmtref
real(kind=dp), intent(inout), dimension (nrefd) :: vref
character(len=80), intent(inout) :: tmpdir
integer, intent(in) :: nsheld
integer, intent(in) :: nprincd
integer, intent(in) :: kpoibz
integer, intent(inout), dimension (natomimpd) :: atomimp
integer, intent(in) :: natomimpd
integer, intent(inout) :: icc
integer, intent(inout) :: igf
integer, intent(inout) :: nlbasis
integer, intent(inout) :: nrbasis
integer, intent(inout) :: ncpa
integer, intent(inout), dimension (naezd) :: icpa
integer, intent(inout) :: itcpamax
real(kind=dp), intent(inout) :: cpatol
integer, intent(in) :: nrd
integer, intent(inout) :: ideci
real(kind=dp), intent(inout), dimension (3, naezd+nembd) :: rbasis
real(kind=dp), intent(inout), dimension (3, 0:nrd) :: rr
integer, intent(inout), dimension (naclsd, naezd+nembd) :: ezoa
integer, intent(inout), dimension (0:nsheld) :: nshell
integer, intent(inout) :: kmrot
integer, intent(inout), dimension (natypd, naezd+nembd) :: kaoez
integer, intent(inout), dimension (nsheld, 2*nsymaxd) :: ish
integer, intent(inout), dimension (nsheld, 2*nsymaxd) :: jsh
integer, intent(inout), dimension (nsheld) :: nsh1
integer, intent(inout), dimension (nsheld) :: nsh2
integer, intent(inout), dimension (naezd) :: noq
integer, intent(inout), dimension (natypd) :: iqat
integer, intent(inout) :: nofgij
integer, intent(inout) :: natomimp
real(kind=dp), intent(inout), dimension (natypd) :: conc
integer, intent(inout), dimension (iemxd) :: kmesh
integer, intent(inout) :: maxmesh
integer, intent(inout) :: nsymat
integer, intent(inout) :: nqcalc
real(kind=dp), intent(inout), dimension (3, nsheld) :: ratom
real(kind=dp), intent(inout), dimension (48, 3, nsheld) :: rrot
complex(kind=dp), intent(inout), dimension (lmmaxd, lmmaxd, naezd) :: drotq
integer, intent(inout), dimension (nofgij) :: ijtabcalc
integer, intent(inout), dimension (nofgij) :: ijtabcalc_i
integer, intent(inout), dimension (nofgij) :: ijtabsym
integer, intent(inout), dimension (nofgij) :: ijtabsh
integer, intent(inout), dimension (naezd) :: iqcalc
complex(kind=dp), intent(inout), dimension (lmmaxd, lmmaxd, nsymaxd) :: dsymll
integer, intent(inout) :: invmod
integer, intent(inout), dimension (naezd/nprincd, naezd/nprincd) :: icheck
logical, intent(inout), dimension (nsymaxd) :: symunitary
complex(kind=dp), intent(inout), dimension (lmmaxd, lmmaxd) :: rc
complex(kind=dp), intent(inout), dimension (lmmaxd, lmmaxd) :: crel
complex(kind=dp), intent(inout), dimension (lmmaxd, lmmaxd) :: rrel
complex(kind=dp), intent(inout), dimension (2, 2, lmmaxd) :: srrel
integer, intent(inout), dimension (2, lmmaxd) :: nrrel
integer, intent(inout), dimension (2, 2, lmmaxd) :: irrel
complex(kind=dp), intent(inout), dimension (lmmaxd, lmmaxd, nembd1, nspindd, iemxd) :: lefttinvll
complex(kind=dp), intent(inout), dimension (lmmaxd, lmmaxd, nembd1, nspindd, iemxd) :: righttinvll
logical, intent(inout), dimension (2) :: vacflag
integer, intent(inout), dimension (maxmshd) :: nofks
real(kind=dp), intent(inout), dimension (maxmshd) :: volbz
real(kind=dp), intent(inout), dimension (3, kpoibz, maxmshd) :: bzkp
real(kind=dp), intent(inout), dimension (kpoibz, maxmshd) :: volcub
complex(kind=dp), intent(inout), dimension (iemxd) :: wez
integer, intent(in) :: nembd1
integer, intent(in) :: lmmaxd
integer, intent(in) :: nspindd
integer, intent(in) :: maxmshd
real(kind=dp), intent(inout), dimension (3, natomimpd) :: rclsimp

public subroutine get_params_1c(t_params, krel, naezd, natypd, ncleb, lm2d, ncheb, ipand, lmpotd, lmaxd, lmxspd, nfund, npotd, ntotd, mmaxd, iemxd, irmd, nsra, ins, nspin, nacls1, icst, kmrot, iqat, idoldau, irws, ipan, ircut, iend, icleb, loflm, jend, ifunm1, lmsp1, nfu, llmsp, lcore, ncore, ntcell, irmin, ititle, intervx, intervy, intervz, lly, itmpdir, iltmp, npan_eq, ipan_intervall, npan_log, npan_tot, ntldau, lopt, itldau, ielast, iesemicore, npol, irshift, jwsrel, zrel, itrunldau, qmtet, qmphi, conc, alat, zat, drdi, rmesh, a, b, cleb, thetas, socscale, rpan_intervall, cscl, rnew, socscl, thetasnew, efermi, erefldau, ueff, jeff, emin, emax, tk, vins, visp, ecore, drdirel, r2drdirel, rmrel, vtrel, btrel, wldau, uldau, ez, wez, phildau, tmpdir, solver, nspind, nspotd, irmind, lmaxd1, ncelld, irid, r_log, naez, natyp, lmax)

Author
Philipp Ruessmann
License
Creative Commons License
Category
communication, KKRhost

S e t

t h e

v a l u e s

o f

t h e

l o c a l

v a r i a b l e s

a c c o r d i n g

t o

t h e

s t o r e d

t _ p a r a m s

s o

t h a t

t h e y

c a n

b e

p a s s e d

b e t w e e n

d i f f e r e n t

c o n t r o l

m o d u l e s ,

s p e c i f i c a l l y

f o r

m a i n 1 c

Read more…

Arguments

Type IntentOptional Attributes Name
type(type_params), intent(in) :: t_params
integer, intent(in) :: krel
integer, intent(in) :: naezd
integer, intent(in) :: natypd
integer, intent(in) :: ncleb
integer, intent(in) :: lm2d
integer, intent(inout) :: ncheb
integer, intent(in) :: ipand
integer, intent(in) :: lmpotd
integer, intent(in) :: lmaxd
integer, intent(in) :: lmxspd
integer, intent(in) :: nfund
integer, intent(in) :: npotd
integer, intent(in) :: ntotd
integer, intent(in) :: mmaxd
integer, intent(in) :: iemxd
integer, intent(in) :: irmd
integer, intent(inout) :: nsra
integer, intent(inout) :: ins
integer, intent(inout) :: nspin
integer, intent(inout) :: nacls1
integer, intent(inout) :: icst
integer, intent(inout) :: kmrot
integer, intent(inout), dimension (natypd) :: iqat
integer, intent(inout) :: idoldau
integer, intent(inout), dimension (natypd) :: irws
integer, intent(inout), dimension (natypd) :: ipan
integer, intent(inout), dimension (0:ipand, natypd) :: ircut
integer, intent(inout) :: iend
integer, intent(inout), dimension (ncleb, 4) :: icleb
integer, intent(inout), dimension (lm2d) :: loflm
integer, intent(inout), dimension (lmpotd, 0:lmaxd, 0:lmaxd) :: jend
integer, intent(inout), dimension (lmxspd, natypd) :: ifunm1
integer, intent(inout), dimension (lmxspd, natypd) :: lmsp1
integer, intent(inout), dimension (natypd) :: nfu
integer, intent(inout), dimension (natypd, nfund) :: llmsp
integer, intent(inout), dimension (20, npotd) :: lcore
integer, intent(inout), dimension (npotd) :: ncore
integer, intent(inout), dimension (natypd) :: ntcell
integer, intent(inout), dimension (natypd) :: irmin
integer, intent(inout), dimension (20, npotd) :: ititle
integer, intent(inout) :: intervx
integer, intent(inout) :: intervy
integer, intent(inout) :: intervz
integer, intent(inout) :: lly
integer, intent(inout) :: itmpdir
integer, intent(inout) :: iltmp
integer, intent(inout), dimension (natypd) :: npan_eq
integer, intent(inout), dimension (0:ntotd, natypd) :: ipan_intervall
integer, intent(inout), dimension (natypd) :: npan_log
integer, intent(inout), dimension (natypd) :: npan_tot
integer, intent(inout) :: ntldau
integer, intent(inout), dimension (natypd) :: lopt
integer, intent(inout), dimension (natypd) :: itldau
integer, intent(inout) :: ielast
integer, intent(inout) :: iesemicore
integer, intent(inout) :: npol
integer, intent(inout), dimension (natypd) :: irshift
integer, intent(inout), dimension (natypd) :: jwsrel
integer, intent(inout), dimension (natypd) :: zrel
integer, intent(inout) :: itrunldau
real(kind=dp), intent(inout), dimension (naezd) :: qmtet
real(kind=dp), intent(inout), dimension (naezd) :: qmphi
real(kind=dp), intent(inout), dimension (natypd) :: conc
real(kind=dp), intent(inout) :: alat
real(kind=dp), intent(inout), dimension (natypd) :: zat
real(kind=dp), intent(inout), dimension (irmd, natypd) :: drdi
real(kind=dp), intent(inout), dimension (irmd, natypd) :: rmesh
real(kind=dp), intent(inout), dimension (natypd) :: a
real(kind=dp), intent(inout), dimension (natypd) :: b
real(kind=dp), intent(inout), dimension (ncleb, 2) :: cleb
real(kind=dp), intent(inout), dimension (irid, nfund, ncelld) :: thetas
real(kind=dp), intent(inout), dimension (natypd) :: socscale
real(kind=dp), intent(inout), dimension (0:ntotd, natypd) :: rpan_intervall
real(kind=dp), intent(inout), dimension (krel*lmaxd+1, krel*natypd+(1-krel)) :: cscl

Speed of light scaling

real(kind=dp), intent(inout), dimension (ntotd*(ncheb+1), natypd) :: rnew
real(kind=dp), intent(inout), dimension (krel*lmaxd+1, krel*natypd+(1-krel)) :: socscl
real(kind=dp), intent(inout), dimension (ntotd*(ncheb+1), nfund, ncelld) :: thetasnew
real(kind=dp), intent(inout) :: efermi
real(kind=dp), intent(inout), dimension (natypd) :: erefldau
real(kind=dp), intent(inout), dimension (natypd) :: ueff
real(kind=dp), intent(inout), dimension (natypd) :: jeff
real(kind=dp), intent(inout) :: emin
real(kind=dp), intent(inout) :: emax
real(kind=dp), intent(inout) :: tk
real(kind=dp), intent(inout), dimension (irmind:irmd, lmpotd, nspotd) :: vins
real(kind=dp), intent(inout), dimension (irmd, npotd) :: visp
real(kind=dp), intent(inout), dimension (20, npotd) :: ecore
real(kind=dp), intent(inout), dimension (irmd*krel+(1-krel), natypd) :: drdirel
real(kind=dp), intent(inout), dimension (irmd*krel+(1-krel), natypd) :: r2drdirel

(r**2 * drdi)

real(kind=dp), intent(inout), dimension (irmd*krel+(1-krel), natypd) :: rmrel

radial mesh

real(kind=dp), intent(inout), dimension (irmd*krel+(1-krel), natypd) :: vtrel

potential (spherical part)

real(kind=dp), intent(inout), dimension (irmd*krel+(1-krel), natypd) :: btrel

magnetic field

real(kind=dp), intent(inout), dimension (mmaxd, mmaxd, nspind, natypd) :: wldau
real(kind=dp), intent(inout), dimension (mmaxd, mmaxd, mmaxd, mmaxd, natypd) :: uldau
complex(kind=dp), intent(inout), dimension (iemxd) :: ez
complex(kind=dp), intent(inout), dimension (iemxd) :: wez
complex(kind=dp), intent(inout), dimension (irmd, natypd) :: phildau
character(len=80), intent(inout) :: tmpdir
character(len=10), intent(inout) :: solver
integer, intent(in) :: nspind
integer, intent(in) :: nspotd
integer, intent(in) :: irmind
integer, intent(in) :: lmaxd1
integer, intent(in) :: ncelld
integer, intent(in) :: irid
real(kind=dp), intent(inout) :: r_log
integer, intent(out) :: naez
integer, intent(out) :: natyp
integer, intent(out) :: lmax

public subroutine get_params_2(t_params, krel, natyp, ipand, npotd, natomimpd, lmxspd, nfund, lmpot, ncelld, irmd, nembd1, nembd, irmind, nsra, ins, nspin, ipan, ircut, lcore, ncore, lmax, ntcell, lpot, nlbasis, nrbasis, nright, nleft, natomimp, atomimp, imix, qbound, fcm, itdbry, irns, kpre, kshape, kte, kvmad, kxc, icc, ishift, ixipol, kforce, ifunm, lmsp, imt, irc, irmin, irws, llmsp, ititle, nfu, hostimp, ilm_map, imaxsh, ielast, npol, npnt1, npnt2, npnt3, itscf, scfsteps, iesemicore, kaoez, iqat, noq, lly, npolsemi, n1semi, n2semi, n3semi, zrel, jwsrel, irshift, mixing, lambda_xc, a, b, thetas, drdi, r, zat, rmt, rmtnew, rws, emin, emax, tk, alat, efold, chrgold, cmomhost, conc, gsh, ebotsemi, emusemi, tksemi, vins, visp, rmrel, drdirel, vbc, fsold, r2drdirel, ecore, ez, wez, txc, linterface, lrhosym, ngshd, naez, irid, nspotd, iemxd, special_straight_mixing)

Author
Philipp Ruessmann
License
Creative Commons License
Category
communication, KKRhost

S e t

t h e

v a l u e s

o f

t h e

l o c a l

v a r i a b l e s

a c c o r d i n g

t o

t h e

s t o r e d

t _ p a r a m s

s o

t h a t

t h e y

c a n

b e

p a s s e d

b e t w e e n

d i f f e r e n t

c o n t r o l

m o d u l e s ,

s p e c i f i c a l l y

f o r

m a i n 2

Read more…

Arguments

Type IntentOptional Attributes Name
type(type_params), intent(in) :: t_params
integer, intent(in) :: krel
integer, intent(inout) :: natyp
integer, intent(in) :: ipand
integer, intent(in) :: npotd
integer, intent(in) :: natomimpd
integer, intent(in) :: lmxspd
integer, intent(in) :: nfund
integer, intent(inout) :: lmpot
integer, intent(in) :: ncelld
integer, intent(in) :: irmd
integer, intent(in) :: nembd1
integer, intent(in) :: nembd
integer, intent(in) :: irmind
integer, intent(inout) :: nsra
integer, intent(inout) :: ins
integer, intent(inout) :: nspin
integer, intent(inout), dimension (natyp) :: ipan
integer, intent(inout), dimension (0:ipand, natyp) :: ircut
integer, intent(inout), dimension (20, npotd) :: lcore
integer, intent(inout), dimension (npotd) :: ncore
integer, intent(inout) :: lmax
integer, intent(inout), dimension (natyp) :: ntcell
integer, intent(inout) :: lpot
integer, intent(inout) :: nlbasis
integer, intent(inout) :: nrbasis
integer, intent(inout) :: nright
integer, intent(inout) :: nleft
integer, intent(inout) :: natomimp
integer, intent(inout), dimension (natomimpd) :: atomimp
integer, intent(inout) :: imix
real(kind=dp), intent(inout) :: qbound
real(kind=dp), intent(inout) :: fcm
integer, intent(inout) :: itdbry
integer, intent(inout), dimension (natyp) :: irns
integer, intent(inout) :: kpre
integer, intent(inout) :: kshape
integer, intent(inout) :: kte
integer, intent(inout) :: kvmad
integer, intent(inout) :: kxc
integer, intent(inout) :: icc
integer, intent(inout) :: ishift
integer, intent(inout), dimension (natyp) :: ixipol
integer, intent(inout) :: kforce
integer, intent(inout), dimension (natyp, lmxspd) :: ifunm
integer, intent(inout), dimension (natyp, lmxspd) :: lmsp
integer, intent(inout), dimension (natyp) :: imt
integer, intent(inout), dimension (natyp) :: irc
integer, intent(inout), dimension (natyp) :: irmin
integer, intent(inout), dimension (natyp) :: irws
integer, intent(inout), dimension (natyp, nfund) :: llmsp
integer, intent(inout), dimension (20, npotd) :: ititle
integer, intent(inout), dimension (natyp) :: nfu
integer, intent(inout), dimension (0:natyp) :: hostimp
integer, intent(inout), dimension (ngshd, 3) :: ilm_map
integer, intent(inout), dimension (0:lmpot) :: imaxsh
integer, intent(inout) :: ielast
integer, intent(inout) :: npol
integer, intent(inout) :: npnt1
integer, intent(inout) :: npnt2
integer, intent(inout) :: npnt3
integer, intent(inout) :: itscf
integer, intent(inout) :: scfsteps
integer, intent(inout) :: iesemicore
integer, intent(inout), dimension (natyp, naez+nembd) :: kaoez
integer, intent(inout), dimension (natyp) :: iqat
integer, intent(inout), dimension (naez) :: noq
integer, intent(inout) :: lly
integer, intent(inout) :: npolsemi
integer, intent(inout) :: n1semi
integer, intent(inout) :: n2semi
integer, intent(inout) :: n3semi
integer, intent(inout), dimension (natyp) :: zrel
integer, intent(inout), dimension (natyp) :: jwsrel
integer, intent(inout), dimension (natyp) :: irshift
real(kind=dp), intent(inout) :: mixing
real(kind=dp), intent(inout), dimension (natyp) :: lambda_xc
real(kind=dp), intent(inout), dimension (natyp) :: a
real(kind=dp), intent(inout), dimension (natyp) :: b
real(kind=dp), intent(inout), dimension (irid, nfund, ncelld) :: thetas
real(kind=dp), intent(inout), dimension (irmd, natyp) :: drdi
real(kind=dp), intent(inout), dimension (irmd, natyp) :: r
real(kind=dp), intent(inout), dimension (natyp) :: zat
real(kind=dp), intent(inout), dimension (natyp) :: rmt
real(kind=dp), intent(inout), dimension (natyp) :: rmtnew
real(kind=dp), intent(inout), dimension (natyp) :: rws
real(kind=dp), intent(inout) :: emin
real(kind=dp), intent(inout) :: emax
real(kind=dp), intent(inout) :: tk
real(kind=dp), intent(inout) :: alat
real(kind=dp), intent(inout) :: efold
real(kind=dp), intent(inout) :: chrgold
real(kind=dp), intent(inout), dimension (lmpot, nembd1) :: cmomhost
real(kind=dp), intent(inout), dimension (natyp) :: conc
real(kind=dp), intent(inout), dimension (ngshd) :: gsh
real(kind=dp), intent(inout) :: ebotsemi
real(kind=dp), intent(inout) :: emusemi
real(kind=dp), intent(inout) :: tksemi
real(kind=dp), intent(inout), dimension (irmind:irmd, lmpot, nspotd) :: vins
real(kind=dp), intent(inout), dimension (irmd, npotd) :: visp
real(kind=dp), intent(inout), dimension (irmd*krel+(1-krel), natyp) :: rmrel
real(kind=dp), intent(inout), dimension (irmd*krel+(1-krel), natyp) :: drdirel
real(kind=dp), intent(inout), dimension (2) :: vbc
real(kind=dp), intent(inout) :: fsold
real(kind=dp), intent(inout), dimension (irmd*krel+(1-krel), natyp) :: r2drdirel
real(kind=dp), intent(inout), dimension (20, npotd) :: ecore
complex(kind=dp), intent(inout), dimension (iemxd) :: ez
complex(kind=dp), intent(inout), dimension (iemxd) :: wez
character(len=124), intent(inout), dimension (6) :: txc
logical, intent(inout) :: linterface
logical, intent(inout) :: lrhosym
integer, intent(in) :: ngshd
integer, intent(inout) :: naez
integer, intent(in) :: irid
integer, intent(in) :: nspotd
integer, intent(in) :: iemxd
integer, intent(inout) :: special_straight_mixing

public subroutine save_emesh(ielast, ez, wez, emin, emax, iesemicore, fsemicore, npol, tk, npnt1, npnt2, npnt3, ebotsemi, emusemi, tksemi, npolsemi, n1semi, n2semi, n3semi, iemxd, t_params)

Author
Philipp Ruessmann
License
Creative Commons License
Category
communication, KKRhost

S t o r e

t h e

v a l u e s

o f

t h e

l o c a l

v a r i a b l e s

r e l a t e d

t o

t h e

e n e r g y

m e s h ,

i n

t h e

t _ p a r a m s

d a t a

t y p e s

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ielast
complex(kind=dp), intent(in), dimension (iemxd) :: ez
complex(kind=dp), intent(in), dimension (iemxd) :: wez
real(kind=dp), intent(in) :: emin
real(kind=dp), intent(in) :: emax
integer, intent(in) :: iesemicore
real(kind=dp), intent(in) :: fsemicore
integer, intent(in) :: npol
real(kind=dp), intent(in) :: tk
integer, intent(in) :: npnt1
integer, intent(in) :: npnt2
integer, intent(in) :: npnt3
real(kind=dp), intent(in) :: ebotsemi
real(kind=dp), intent(in) :: emusemi
real(kind=dp), intent(in) :: tksemi
integer, intent(in) :: npolsemi
integer, intent(in) :: n1semi
integer, intent(in) :: n2semi
integer, intent(in) :: n3semi
integer, intent(in) :: iemxd
type(type_params), intent(inout) :: t_params

public subroutine save_scfinfo(t_params, vins, visp, ecore, vbc, rmrel, drdirel, r2drdirel, zrel, jwsrel, irshift, vtrel, btrel, itscf, scfsteps, efold, chrgold, cmomhost, krel, irmind, irm, lmpot, nspotd, natyp, npotd, nembd1)

Author
Philipp Ruessmann
License
Creative Commons License
Category
communication, KKRhost

S t o r e

t h e

v a l u e s

o f

t h e

l o c a l

v a r i a b l e s

r e l a t e d

t o

t h e

S C F

p a r a m e t e r s

i n

t h e

t _ p a r a m s

d a t a

t y p e s

Read more…

Arguments

Type IntentOptional Attributes Name
type(type_params), intent(inout) :: t_params
real(kind=dp), intent(in), dimension (irmind:irm, lmpot, nspotd) :: vins
real(kind=dp), intent(in), dimension (irm, npotd) :: visp
real(kind=dp), intent(in), dimension (20, npotd) :: ecore
real(kind=dp), intent(in), dimension (2) :: vbc
real(kind=dp), intent(in), dimension (irm*krel+(1-krel), natyp) :: rmrel
real(kind=dp), intent(in), dimension (irm*krel+(1-krel), natyp) :: drdirel
real(kind=dp), intent(in), dimension (irm*krel+(1-krel), natyp) :: r2drdirel
integer, intent(in), dimension (natyp) :: zrel
integer, intent(in), dimension (natyp) :: jwsrel
integer, intent(in), dimension (natyp) :: irshift
real(kind=dp), intent(in), dimension (irm*krel+(1-krel), natyp) :: vtrel
real(kind=dp), intent(in), dimension (irm*krel+(1-krel), natyp) :: btrel
integer, intent(in) :: itscf
integer, intent(in) :: scfsteps
real(kind=dp), intent(in) :: efold
real(kind=dp), intent(in) :: chrgold
real(kind=dp), intent(in), dimension (lmpot, nembd1) :: cmomhost
integer, intent(in) :: krel
integer, intent(in) :: irmind
integer, intent(in) :: irm
integer, intent(in) :: lmpot
integer, intent(in) :: nspotd
integer, intent(in) :: natyp
integer, intent(in) :: npotd
integer, intent(in) :: nembd1

public subroutine save_density(t_params, rho2ns, r2nef, rhoc, denef, denefat, espv, ecore, idoldau, lopt, eu, edc, chrgsemicore, rhoorb, ecorerel, nkcore, kapcore, krel, natyp, npotd, irm, lmpot, lmaxd1)

Author
Philipp Ruessmann
License
Creative Commons License
Category
communication, physical-observables, KKRhost

S t o r e

t h e

v a l u e s

o f

t h e

l o c a l

v a r i a b l e s

r e l a t e d

t o

t h e

e l e c t r o n i c

d e n s i t y

i n

t h e

t _ p a r a m s

d a t a

t y p e s

Read more…

Arguments

Type IntentOptional Attributes Name
type(type_params), intent(inout) :: t_params
real(kind=dp), intent(in) :: rho2ns(irm,lmpot,natyp,2)
real(kind=dp), intent(in) :: r2nef(irm,lmpot,natyp,2)
real(kind=dp), intent(in) :: rhoc(irm,npotd)
real(kind=dp), intent(in) :: denef
real(kind=dp), intent(in) :: denefat(natyp)
real(kind=dp), intent(in) :: espv(0:lmaxd1,npotd)
real(kind=dp), intent(in) :: ecore(20,npotd)
integer, intent(in) :: idoldau
integer, intent(in), dimension (natyp) :: lopt
real(kind=dp), intent(in) :: eu(natyp)
real(kind=dp), intent(in) :: edc(natyp)
real(kind=dp), intent(in) :: chrgsemicore
real(kind=dp), intent(in) :: rhoorb(irm*krel+(1-krel),natyp)
real(kind=dp), intent(in) :: ecorerel(krel*20+(1-krel),npotd)
integer, intent(in), dimension (20, natyp) :: nkcore
integer, intent(in), dimension (20, npotd) :: kapcore
integer, intent(in) :: krel
integer, intent(in) :: natyp
integer, intent(in) :: npotd
integer, intent(in) :: irm
integer, intent(in) :: lmpot
integer, intent(in) :: lmaxd1

public subroutine read_density(t_params, rho2ns, r2nef, rhoc, denef, denefat, espv, ecore, idoldau, lopt, eu, edc, chrgsemicore, rhoorb, ecorerel, nkcore, kapcore, krel, natyp, npotd, irm, lmpot, lmaxd1)

Author
Philipp Ruessmann
License
Creative Commons License
Category
communication, physical-observables, KKRhost

S e t

t h e

v a l u e s

o f

t h e

l o c a l

v a r i a b l e s

r e l a t e d

t o

t h e

e l e c t r o n i c

d e n s i t y

i n

t h e

t _ p a r a m s

d a t a

t y p e s

Read more…

Arguments

Type IntentOptional Attributes Name
type(type_params), intent(inout) :: t_params
real(kind=dp), intent(out) :: rho2ns(irm,lmpot,natyp,2)
real(kind=dp), intent(out), dimension (irm, lmpot, natyp, 2) :: r2nef
real(kind=dp), intent(out), dimension (irm, npotd) :: rhoc
real(kind=dp), intent(out) :: denef
real(kind=dp), intent(out), dimension (natyp) :: denefat
real(kind=dp), intent(out), dimension (0:lmaxd1, npotd) :: espv
real(kind=dp), intent(out), dimension (20, npotd) :: ecore
integer, intent(out) :: idoldau
integer, intent(out), dimension (natyp) :: lopt
real(kind=dp), intent(out), dimension (natyp) :: eu
real(kind=dp), intent(out), dimension (natyp) :: edc
real(kind=dp), intent(out) :: chrgsemicore
real(kind=dp), intent(out), dimension (irm*krel+(1-krel), natyp) :: rhoorb
real(kind=dp), intent(out), dimension (krel*20+(1-krel), npotd) :: ecorerel
integer, intent(out), dimension (20, natyp) :: nkcore
integer, intent(out), dimension (20, npotd) :: kapcore
integer, intent(in) :: krel
integer, intent(in) :: natyp
integer, intent(in) :: npotd
integer, intent(in) :: irm
integer, intent(in) :: lmpot
integer, intent(in) :: lmaxd1

public subroutine read_angles(t_params, natyp, theta, phi)

Author
Philipp Ruessmann
License
Creative Commons License
Category
input-output, dirac, KKRhost

R e a d

t h e

a n g l e s

v a r i a b l e s

a s s o c i a t e d

w i t h

t h e

a n g l e s

o f

m a g n e t i c

m o m e n t s

i n

a

n o n - c o l l i n e a r

c a l c u l a t i o n

Read more…

Arguments

Type IntentOptional Attributes Name
type(type_params), intent(inout) :: t_params
integer, intent(in) :: natyp
real(kind=dp), intent(out), dimension (natyp) :: theta
real(kind=dp), intent(out), dimension (natyp) :: phi