Orbital Zeeman Hamiltonian, orbital magnetic dipole moment.
H = ham_oz(Sys, B) H = ham_oz(Sys, B, idx) H = ham_oz(Sys, B, idx, 'sparse') [mux, muy, muz] = ham_oz(Sys) [mux, muy, muz] = ham_oz(Sys, idx) [mux, muy, muz] = ham_oz(Sys, idx, 'sparse')
ham_oz
calculates the matrix representing the orbital Zeeman Hamiltonian (in units of MHz) for the spin system given in Sys
.
Sys
is a spin system structure.
idx
is a number or array that indicates which orbital angular momenta should be included. For example, 1
indicates the first orbital angular momentum, and [2 3]
indicates the second and third orbital angular momentum. If idx
is omitted, all orbital angular momenta are included in the operators.
B
is a 3-element magnetic field vector (in mT). If given, the complete orbital Zeeman Hamiltonian is returned. B
is understood to be in the molecular frame, for example [0 0 340]
indicates a field along the molecular z axis.
If B
is omitted, the function returns the three orbital magnetic dipole moment component operators mux
, muy
and muz
, defined along the principal axes of the molecular frame. They are in units of MHz/mT. The complete orbital Zeeman Hamiltonian is obtained via H = -(mux*B(1)+muy*B(2)+muz*B(3))
.
If 'sparse'
is given as third argument, results are returned in sparse format instead of full format.
For the spin (and orbital) system
ABC = struct('S',1/2,'g',[2.1 2.1 2],'L',1,'gL',1.5,'soc',10);
the orbital Zeeman Hamiltonian for a given magnetic field along the molecular x axis is
B = [340;0;0]; H = ham_oz(ABC,B)
H = 1.0e+03 * 0 5.0474 0 0 0 0 5.0474 0 5.0474 0 0 0 0 5.0474 0 0 0 0 0 0 0 0 5.0474 0 0 0 0 5.0474 0 5.0474 0 0 0 0 5.0474 0
ham, ham_cf, ham_ee, ham_ez, ham_ezho, ham_hf, ham_nn, ham_nq, ham_nz, ham_so, ham_zf