fill_t_params_arrays Subroutine

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)

Set the values of the t_params arrays with the input values of the arrays. Fill arrays after they have been allocated in init_t_params

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)