Home > Applications > SpinW > m_files > @sw > addaniso.m

iFit/addaniso

PURPOSE ^

assigns anisotropy matrices to magnetic ions

SYNOPSIS ^

function addaniso(obj, matrixIdx, varargin)

DESCRIPTION ^

 assigns anisotropy matrices to magnetic ions

 ADDANISO(obj, matrixIdx, {atomTypeIdx}, {atomIdx})

 Input:

 matrixIdx     Either an integer, that selects the matrix
               obj.matrix.mat(:,:,matrixIdx), or a string identical to one
               of the previously defined matrix labels, stored in
               obj.matrix.label. Maximum value is nJ.
 atomTypeIdx   String or cell of strings that select magnetic atoms by
               their label. Also can be a vector that contains integers,
               the index of the magnetic atoms in obj.unit_cell, with all
               symmetry equivalent atoms. Maximum value is nAtom, if
               undefined anisotropy is assigned to all magnetic atoms.
               Optional.
  atomIdx      A vector that contains indices selecting some of the
               symmetry equivalent atoms. Maximum value is the number of
               symmetry equivalent atoms generated. If crystal symmetry is
               not 0, atomIdx is not allowed, since the anisotropy matrix
               for equivalent atoms will be calculated using the symmetry
               operators of the space group. Optional.

 Output:

 The function adds extra entries in the 'single_ion.aniso' field of the
 obj sw object.

 Example:

 ...
 cryst.addmatrix('label','A1','value',diag([-0.1 -0.1 0]))
 cryst.gencoupling
 cryst.addaniso('A1')

 This will add the 'A1' diagonal matrix to all magnetic atoms as
 anisotropy (easy XY plane anisotropy).

 See also SW, SW.ADDCOUPLING, SW.ADDG, SW.ADDMATRIX.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Tue 27-Nov-2018 10:56:24 by m2html © 2005. iFit (c) E.Farhi/ILL EUPL 1.1