allocate_cell Subroutine

public subroutine allocate_cell(flag, naez, nemb, natyp, cls, imt, irws, irns, ntcell, refpot, kfg, kaoez, rmt, zat, rws, mtfac, rmtref, rmtrefat, rmtnew, rbasis, lmxc, fpradius)

Subroutine handling the allocation/deallocation of arrays that describe the unit cell.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: flag
integer, intent(in) :: naez

number of atoms in unit cell

integer, intent(in) :: nemb

number of 'embedding' positions

integer, intent(in) :: natyp

number of kinds of atoms in unit cell

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

Cluster around atomic sites

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

R point at MT radius

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

R point at WS radius

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

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

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

Index for WS cell

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

Ref. pot. card at position

integer, intent(inout), dimension (:, :), allocatable :: kfg
integer, intent(inout), dimension (:, :), allocatable :: kaoez

atom types located at a given site

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

Muffin-tin radius of true system

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

Nuclear charge

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

Wigner Seitz radius

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

Scaling factor for radius MT

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

Muffin-tin radius of reference system

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

Adapted muffin-tin radius

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

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

integer, intent(inout), dimension (:), allocatable :: lmxc
real(kind=dp), intent(inout), dimension (:), allocatable :: fpradius

R point at which full-potential treatment starts