spinmix_noco Subroutine

public subroutine spinmix_noco(iter, natyp, theta, phi, fixdir, angles_new, totmoment, iounit)

Uses

Perform spin mixing of nonco angles either with setting output angles to new input (this is the default behavior) or do broyden mixing for the nonco moments to get the new directions. MdSD: criterion to fix angles (see also rhovalnew)

Arguments

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

iteration counter

integer, intent(in) :: natyp

number of atoms (array dimensions)

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

theta nonco angles in rad

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

phi nonco angles in rad

logical, intent(in), dimension(natyp) :: fixdir

booleans to fix nocon angles

real(kind=dp), intent(in) :: angles_new(2,natyp)

new directions of the nonco angles

real(kind=dp), intent(in) :: totmoment(natyp)

length of the magentization vectors

integer, intent(in) :: iounit

output unit where the nonco_angles output file is written