Depends on which PDE you want to solve and how you want to approach them.
Every approach that I know of will require linear algebra. You need to find a good .NET matrix package that you can find that efficiently manages sparse matrices.
Linear elliptic (stationary diffusion), parabolic (transitional diffusion) and hyperbolic (F = MA dynamic) PDEs require slightly different approaches.
All three of these PDEs can use the classic finite difference, finite element (weighted remainder), or boundary element (Green's functions) to create the system matrix you want to solve. Generic non-linear PDEs are probably best attacked using the finite element / weighted remainder method.
But parabolic and hyperbolic PDF files will turn into related sets of ODEs as soon as you sample them. You must do transitional integration to repeatedly solve temporal evolution. Parabolic ODEs are first order in time; second-order hyperbolic ODEs in time.
I learn about CUDA and NVIDIA. You might want to learn about CUDA bindings for your language.
All of these are great topics for yourself. Please use Google for some sources, because it is impossible to give a more superficial overview here.
UPDATE: I recently learned about the Microsoft Solver Foundation . I did not look into it myself, but it might be useful for C # developers to solve this problem.
source share