Can kifmm be used for calculations where the pairwise kernel maps a vector to a vector, instead of a scalar to a scalar? I see an example of calculating the scalar electric potential at many observation points from many point charges (each with a scalar electric charge). However, I’d like to apply the FMM to the Biot-Savart law, and calculate the (vector) B-field at many observation points from (vector) current filaments at many sources. Is this possible with kifmm?

Vector to vector is currently not supported in KiFMM, but shouldn’t be too hard to add and is something we eventually want for Maxwell BEM applications too.

I’ve opened an issue on the KiFMM repo here: FMM with vector-values kernels · Issue #86 · bempp/kifmm · GitHub

1 Like

Thanks Matthew!

For the specific case of magnetic field and current I mentioned, it might be better to calculate the magnetic vector potential A contribution as the output of the kernel, rather than the B field contribution. But that would still be a vector → vector kernel.