mod_startb1 Module

Reads the input potentials with units given by:

  • Rydbergs - units for energy
  • The lattice constant and all other lengths given in bohr units
  • The planck constant
  • The electron charge
  • The electron mass
  • The speed of light with the fine structure constant

In case of shape corrections this routine reads from unit 19 a suitable radial mesh 'xrn',its derivate 'drn' and the shape functions 'thetas'. Thus, the region from the muffin-tin to the circumscribed sphere radii is divided into 'npan' pannels, each one containing 'nm(ipan)' points in order to take care of the discontinuities of the shape-function derivative.

Note

Remember that the input potentials do not include the electro-static contribution of the nucleus of the cell itself this has to be added explicitly!

Modified for bandstructure code


Uses

    • mod_datatypes

Subroutines

public subroutine startb1(ifile, ipf, ipfe, ipe, krel, kws, lmax, nbeg, nend, alat, rmtnew, rmt, ititle, imt, irc, vconst, ins, irns, fpradius, nspin, vins, irmin, kshape, ntcell, ircut, ipan, thetas, ifunm, nfu, llmsp, lmsp, efermi, vbc, dror, rs, s, vm2z, rws, ecore, lcore, ncore, drdi, r, zat, a, b, irws, iinfo, lmpot, irmind, irm, lmxspd, ipand, irid, irnsd, natyp, ncelld, nfund, nspotd, ivshift, npotd)

Author
B. Drittler
License
Creative Commons License
Category
input-output, potential, shape-functions, KKRhost

R e a d s

t h e

i n p u t

p o t e n t i a l s

Read more…

Arguments

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

Unit specifier for potential card

integer, intent(in) :: ipf

Not real used, IPFE should be 0

integer, intent(in) :: ipfe

Not real used, IPFE should be 0

integer, intent(in) :: ipe

Not real used, IPFE should be 0

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) :: kws

0 (MT), 1(ASA)

integer, intent(in) :: lmax

Maximum l component in wave function expansion

integer, intent(in) :: nbeg

Starting number for reading the potential

integer, intent(in) :: nend

Final number for reading the potential

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

Lattice constant in a.u.

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

Adapted muffin-tin radius

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

Muffin-tin radius of true system

integer, intent(inout), dimension (20, npotd) :: ititle

Titles of the potential card

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

R point at MT radius

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

R point for potential cutting

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

Potential shift

integer, intent(in) :: ins

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

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

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

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

R point at which full-potential treatment starts

integer, intent(in) :: nspin

Counter for spin directions

real(kind=dp), intent(inout), dimension (irmind:irm, lmpot, nspotd) :: vins

Non-spherical part of the potential

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

Max R for spherical treatment

integer, intent(in) :: kshape

Exact treatment of WS cell

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

Index for WS cell

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

R points of panel borders

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

Number of panels in non-MT-region

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

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

integer, intent(inout), dimension (natyp, lmxspd) :: ifunm
integer, intent(inout), dimension (natyp) :: nfu

number of shape function components in cell 'icell'

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

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

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

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

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

Fermi energy

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

Potential constants

real(kind=dp), intent(inout), dimension (irm, natyp) :: dror
real(kind=dp), intent(inout), dimension (irm, 0:lmax, natyp) :: rs
real(kind=dp), intent(inout), dimension (0:lmax, natyp) :: s
real(kind=dp), intent(inout), dimension (irm, npotd) :: vm2z
real(kind=dp), intent(inout), dimension (natyp) :: rws

Wigner Seitz radius

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

Core energies

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

Angular momentum of core states

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

Number of core states

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

Derivative dr/di

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

Radial mesh ( in units a Bohr)

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

Nuclear charge

real(kind=dp), intent(inout), dimension (natyp) :: a

Constants for exponential R mesh

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

Constants for exponential R mesh

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

R point at WS radius

integer, intent(in) :: iinfo
integer, intent(in) :: lmpot

(LPOT+1)**2

integer, intent(in) :: irmind

IRM-IRNSD

integer, intent(in) :: irm

Maximum number of radial points

integer, intent(in) :: lmxspd

(2LPOT+1)*2

integer, intent(in) :: ipand

Number of panels in non-spherical part

integer, intent(in) :: irid

Shape functions parameters in non-spherical part

integer, intent(in) :: irnsd
integer, intent(in) :: natyp

Number of kinds of atoms in unit cell

integer, intent(in) :: ncelld

Number of cells (shapes) in non-spherical part

integer, intent(in) :: nfund

Shape functions parameters in non-spherical part

integer, intent(in) :: nspotd

Number of potentials for storing non-sph. potentials

integer, intent(in) :: ivshift

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

integer, intent(in) :: npotd

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