Re:A Comparison of Differential Equation Solver Suites
by alimw on Wednesday September 27, 2017 @06:39AM
(#15346432)
Thanks! My problem is based on a straightforward constant-coefficient diffusion-advection equation, but there are complicated boundaries and I'd like it to work in six or seven dimensions (given time and a big computer!). I have read a little about FEniCS but I think it will struggle just to generate the mesh. I'm looking at Mathematica now. It seems like it will treat an evolution equation specifically (method of lines)---perhaps that's what you mean by a "full-stop solver"?
Re:A Comparison of Differential Equation Solver Suites
by ChrisRackauckas on Wednesday September 27, 2017 @06:58AM
(#15346520)
Yup, that's exactly what I mean. People have pre-written solvers for specific equations. Sounds like you found one for you, so that's great! When you ask about PDE tools though, people start talking about tools for building PDE solvers like FEniCS becuase it's so rare to find something exactly for your PDE, but there's no reason to use these tools unless you have to.
But then there are "full-stop PDE solvers" which choose a specific PDE and solve that. For example, MATLAB and Mathematica can numerically solve diffusion-advection systems directly. And there are many user packages for different PDEs.
So to cover this fully, I would need to go through the available tools for numerical linear algebra and spatial discretization, but on the other hand cover some full-stop PDE solvers as well. This will be a different blog post. Without knowing your background or what you want to do, FEniCS is a good Python finite element toolbox that can then be used to build the linear equation or system of ODEs, from which you use other tools like those mentioned here to complete the solving. As for full-stop PDE solvers in Python, I am not sure and need to look into it myself...