I am attempting to implement a model outlined in this paper:
General magnetostatic shape–shape interactions
Background
This model allows the calculation of magnetostatic interaction energies between objects of arbitrary shape. In the model, an object is defined as a three-dimensional array $D(\pmb{r})$ which is equal to zero where there is not a particle and one where there is, this is called the "shape function". The calculation occurs in Fourier space, the Fourier transform of the shape function is the shape amplitude, $D(\pmb{k})$, a three-dimensional grid with associated three other three-dimensional grids $k_x$, $k_y$, and $k_z$ which assign frequencies in the x, y, and z directions at every grid point in $D(\pmb{k})$. The frequency grids are given by the sequence:
$k^\alpha=\dfrac{2\pi \delta}{L} \left[-\dfrac{L}{2},-\dfrac{L-1}{2},...,\dfrac{L-1}{2},\dfrac{L}{2} \right]$
Where $L$ is the length of a dimension of $D(\pmb{r})$ and $\delta$ is the length of grid point.
With this background, I want to evaluate (7) from the paper:
$E_m(\rho,\pmb{\hat{m}_{1}},\pmb{\hat{m}_{2}})=2\overline{K}_d m_1^\alpha[C(\pmb{\rho})\otimes G(\pmb{\rho})m_2^\beta]$
Where $E_m$ is the magnetostatic interaction energy
$\pmb{\hat{m}_{i}}$ is the unit vector giving the direction of magnetization within an object i and $\alpha/\beta$ are indices referring to the x, y, and z dimensions
$\overline{K}_d$ is the constant containing all of the physical constants associated with the objects
$\otimes$ is the tensor product
The next two terms are more complex. $G(\pmb{\rho})$ is defined as:
$G(\pmb{\rho})=FT_\rho^{-1}[k^\alpha k^\beta]$ where $FT^{-1}$ is the inverse Fourier transform "with respect to the relative position vector $\pmb{\rho}$" and $k^{\alpha/\beta}$ are the frequencies in reciprocal space associated with all points in the three-dimensional grid $D(\pmb{k})$ corresponding to the x, y, or z directions.
Finally, $C(\pmb{\rho})=FT_\rho^{-1}[D_1(\pmb{k})D_2^*(\pmb{k})]$ where the asterisk denotes the complex conjugate and the subscripts refer to particle one and two respectively.
Equation (7) is representation of equation (4)
$E_m=\dfrac{\overline{K}_d}{4\pi^3}Re\left[\int d^3\pmb{k} D_1(\pmb{k})D_1^*(\pmb{k})\times (\pmb{\hat{m}_{1}}\cdot \pmb{\hat{k}}) (\pmb{\hat{m}_{2}}\cdot \pmb{\hat{k}})e^{i\pmb{k}\cdot\pmb{\rho}}\right]$
The variable $\pmb{\rho}$ is just the displacement of the two objects being considered, $\pmb{\rho}=[\Delta x, \Delta y, \Delta z]$ and $Re$ refers to the real part being taken only.
Questions
What does it mean for two tensors to be multiplied together like $D_1(\pmb{k})D_2^*(\pmb{k})$ with no symbol between them? Is this elementwise multiplication, regular matrix multiplication, or something else?
What does the operation $FT_\rho^{-1}$ actually entail? How do I take the Fourier transform of the two shape amplitudes and frequency grids "with respect to" the displacement, $\pmb{\rho}$?
The output of this equation should be a number with units (like joules of electron-volts) yet the tensor product $C(\pmb{\rho})\otimes G(\pmb{\rho})$ is a 3D tensor. How does this turn out to be a number?
Thank you for reading, any help is greatly appreciated.