Taking curl numerically of a Hamiltonian writtein in Fourier space

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

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).