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)
Type | Intent | Optional | 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 |