I have a Hamiltonian given in 2D k-space $$ H = \sum_{\vec k} \begin{bmatrix} a_k^+&b_k^+ \end{bmatrix} \begin{bmatrix} h_{11}&h_{12}\\ h_{21}&h_{22} \end{bmatrix} \begin{bmatrix} a_k\\b_k \end{bmatrix} \tag{1} $$ the quantities $h_{ij}=h_{ij}(k_x,k_y)$ i.e. depend upon $k_x,k_y$. And a current operator is defined as $$ J(\vec k) = -e\hat v_x = -\frac{e}{\hbar}\frac{\partial H}{\partial_{k_x}} \tag{2} $$ I want to calculate the quantity $$ A = \nabla_{\vec k} \times J(\vec k) \tag{3} $$ I can numerically find $J(\vec k)$ for each point $k_x,k_y$ of Fourier space. But to find curl of $J(\vec k)$, I need $\hat k_x$ direction and $\hat k_y$ direction component of $J(\vec k)$ i.e. of course $$ J(\vec k) = J_x \hat k_x + J_y \hat k_y \tag{4} $$ Is there any way to find these $J_x$ and $J_y$ components from $J(\vec k)$?

I see, in the following publication they calculate curl of $J(\vec k)$ (Eq. 13 and Figure 4), if I am not doing it right, what's the right way?

Origin of the Magnetic Spin Hall Effect: Spin Current Vorticity in the Fermi Sea


1 Answer 1


Answering my own question: By calculating $(2)$, I actually get only $J_x$. To get $J_y$, I should calculate $-ev_y = -\frac{e}{\hbar}\frac{\partial H}{\partial_{k_y}}$. And together with $J_x$ and $J_y$, I can calculate curl using $(4)$ and $(3)$. (I used MATLAB's curl() function to get numerical curl).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.