fdkup.m

From Spinach Documentation Wiki
Jump to: navigation, search

Returns a finite difference representation of the Kuprov operator:

                K[rho]=-(1/3)*Trace(Hessian[rho]*chi)

with the number of stencil points in the finite difference approximation specified by user. The resulting operator is a sparse matrix designed to act on the vectorisation of rho. The dimensions of rho are assumed to be ordered as [X Y Z]. For further information, see http://dx.doi.org/10.1039/C4CP03106G.

Syntax

    K=fdkup(npoints,extents,chi,nstenc)

Arguments

    npoints -  a three-element vector specifying the dimensions
               of the 3D cube of data that the operator will be
               acting on, in Angstroms. The dimensions are assu-
               med to be ordered as [X Y Z].

    chi     -  the electron magnetic susceptibility tensor in
               cubic Angstroms, a symmetric 3x3 matrix.

    extents -  a three-element vector specifying axis extents
               in Angstroms. The dimensions are assumed to be
               ordered as [X Y Z].

    nstenc  -  number of finite-difference stencil points for
               the finite-difference approximation. Periodic 
               boundary conditions are used.

Outputs

    K       -  a sparse matrix designed to act on the vectori-
               zation of the array. The dimensions are assumed
               to be ordered as [X Y Z].

See also

fdvec.m, fdlap.m, fdhess.m, fdmat.m, fdweights.m, fftdiff.m, fourdif.m, fourlap.m


Version 2.2, authors: Gareth Charnock, Ilya Kuprov