How can I solve the Poisson PDE efficiently and fast in cylindrical coordinates?

814 Views Asked by At

I am trying to numerically solve the Possion PDE in cylindrical coordinate system.

$$\Delta f = {1 \over \rho} {\partial \over \partial \rho} \left(\rho {\partial f \over \partial \rho} \right) + {1 \over \rho^2} {\partial^2 f \over \partial \phi^2} + {\partial^2 f \over \partial z^2} = g$$

There are some C libraries including MKL that solves Poisson equation in 3D Cartesian very fast by Fourier. Unfortunately, I could not find any libraries for cylindrical Poisson and I need to develop one by myself. Could someone help me what method I should use to be able to have the solution efficiently and fast?

The boundary conditions are standard Dirichlet and Neumann boundary conditions. I mainly use Dirichlet boundary conditions.