quench optimization of magnetic structure
Syntax
optm = optmagsteep(obj,Name,Value)
Description
optm = optmagsteep(obj,Name,Value) determines the lowest energy
magnetic configuration within a given magnetic supercell and previously
fixed propagation (and normal) vector (see spinw.optmagk). It
iteratively rotates each spin towards the local magnetic field thus
achieving local energy minimum. Albeit not guaranteed this method often
finds the global energy minimum. The methods works best for small
magnetic cells and non-frustrated structures. Its execution is roughly
equivalent to a thermal quenching from the paramagnetic state.
Input Arguments
obj- spinw object.
Name-Value Pair Arguments
'nRun'- Number of iterations, default value is 100 (it is usually enough). Each
spin will be quenched
nRuntimes or until convergence is reached. 'boundary'- Boundary conditions of the magnetic cell, string with allowed values:
'free'Free, interactions between extedned unit cells are omitted.'per'Periodic, interactions between extended unit cells are retained.
Default value is
{'per' 'per' 'per'}. 'nExt'- The size of the magnetic cell in number of crystal unit cells.
Default value is taken from
obj.mag_str.nExt. 'fSub'- Function that defines non-interacting sublattices for parallelization.
It has the following header:
cGraph = fSub(conn,nExt), wherecGraphis a row vector with number of elements,connis a matrix with dimensions of size matrix and is equal to thenExtparameter. Default value is@sw_fsub. 'subLat'- Vector that assigns all magnetic moments into non-interacting
sublattices, contains a single index for every magnetic
moment in a row vector with number of elements. If
undefined, the function defined in
fSubwill be used to partition the lattice. 'random'- If
truerandom initial spin orientations will be used (paramagnet), if initial spin configuration is undefined (obj.mag_str.Fis empty) the initial configuration will be always random. Default value isfalse. 'TolX'- Minimum change of the magnetic moment necessary to reach convergence.
'saveAll'- Save moment directions for every loop, default value is
false. 'Hmin'- Minimum field value on the spin that moves the spin. If the molecular field absolute value is below this, the spin won’t be turned. Default is 0.
'plot'- If true, the magnetic structure in plotted in real time. Default value
is
false. 'pause'- Time in second to pause after every optimization loop to slow down plot movie. Default value is 0.
'fid'- Defines whether to provide text output. The default value is determined
by the
fidpreference stored in swpref. The possible values are:0No text output is generated.1Text output in the MATLAB Command Window.fidFile ID provided by thefopencommand, the output is written into the opened file stream.
Output Arguments
optm- Struct type variable with the following fields:
objspinw object that contains the optimised magnetic structure.MMagnetic moment directions with dimensions , ifsaveAllparameter istrue, it contains the magnetic structure after every loop in a matrix with dimensions .dMThe change of magnetic moment vector averaged over all moments in the last loop.eEnergy per spin in the optimised structure.paramInput parameters, stored in a struct.nRunNumber of loops executed.datestartStarting time of the function.dateendEnd time of the function.titleTitle of the simulation, given in the input.
See Also
spinw | spinw.anneal | sw_fsub | sw_fstat