Fourier transforms and ordered numpy arrays across processors

Hi everyone,

I’m hoping the community can help me figure something out, or at the least point me in the right direction.

As a way to do a convolution during my simulations, I want to be able to take a Fourier transform (forward and inverse) of my data. To do this, I think I will need to get an ordered (row-major or something) array from a function, give it to a python-scipy routine to perform the transforms, and then give it back to fenics in it’s preferred order.

Assuming this is a reasonable and efficient approach, I’m having difficulties even beginning to approach this. The built in vertex and dof mapping is a bit confusing to me. Not to mention the headaches I’m having trying to figure out how they work across multiple processors.

If this is not a reasonable and efficient approach in the fenics framework, I would like to hear some alternatives or ideas from the community. Has anyone ever attempted something like this?

Thanks,
-Nana

2 Likes