allocate_magnetization Subroutine

public subroutine allocate_magnetization(flag, naez, natyp, lmmaxd, inipol, ixipol, qmtet, qmphi, drotq)

Subroutine handling the allocation/deallocation of arrays that describe the magnetization

Arguments

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

number of atoms in unit cell

integer, intent(in) :: natyp

number of kinds of atoms in unit cell

integer, intent(in) :: lmmaxd
integer, intent(inout), dimension (:), allocatable :: inipol

Initial spin polarisation

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

Constraint of spin pol.

real(kind=dp), intent(inout), dimension (:), allocatable :: qmtet
real(kind=dp), intent(inout), dimension (:), allocatable :: qmphi
complex(kind=dp), intent(inout), dimension (:, :, :), allocatable :: drotq

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