View Full Version : Comparison with PDE routines in IMSL CNL & FNL, FlexPDE, Comsol

06-23-2007, 03:49 AM

I could not find a review. It would be useful if someone can compare PDE2D with the above alternatives.


06-23-2007, 04:55 AM
I am not aware of any published comparisons.

PDE2D is not a new product, it was sold by IMSL, Inc (now VNI) from 1980-1991 under the names TWODEPEP and PDE/PROTRAN, and during that time period I believe it was the best-selling and most advanced commercially available general purpose PDE solver around. However, in 1991 I regained the rights and while I have been feverishly developing the code during this time (in fact, since 1974!), I did not spend much time or effort on marketing, so PDE2D is now a relative unknown compared to the competition, hopefully that is changing now that VNI is marketing the product again. That may explain the lack of published comparisons.

While I can't cite any unbiased comparisons, I can give you my own biased summary. PDE2D handles completely general 2D regions, with curved boundaries, even curved interfaces, with O(h^5) accuracy, and I don't believe there is any competing code that handles more general 2D problems, or allows more flexibility in solving such problems. PDE2D has all the flexibility of Fortran (like the IMSL Library), you can use Fortran functions to define any PDE or BC coefficient, for example, or you can imbed the code inside a DO loop which varies problem parameters, you can even imbed the PDE2D code inside your own application.

PDE2D cannot handle as general 3D regions as one of the competitors (Comsol's FEMLAB), but it handles "a wide range of simple" 3D regions, which includes spheres, cylinders, tori, cones, parallelopipeds and many, many more; for all these regions, the accuracy is O(h^4), and the ease of use is completely unbeatable. PDE2D's approach to 3D problems (via a collocation finite element method, which can also be used for 2D problems) is completely unique, no other solver around is similar. Basically, if you have a complex 3D region, with many boundary pieces, you can't use PDE2D, but if you have a simple 3D region, you can't beat it. And this ease of use is going to get even better, I believe with the new GUI, PDE2D 9.0 will solve 0D,1D problems, and 2D and 3D problems in a wide range of simple regions, with greater ease of use than anything else around. For complex 2D regions, however, you will still have to use the PDE2D interactive driver, and for complex 3D regions you will have to use another product.

Since despite its long history, PDE2D may understandably be seen as "unproven", I have the following suggestions for those who want some evidence of its robustness and flexibility:

1) look at the list of > 200 PDE2D-related publications at


and 2) send me an e-mail (sewell@utep.edu) with a complete "mathematical" description of a typical problem you are interested in, and I will try to set it up and send you the results. I have been making this offer for years, and prospects are generally happy with the results (not always, of course).

Granville Sewell

06-28-2007, 03:03 PM
You mentioned COMSOL; I'm not sure if you are referring to Comsol's MATLAB PDE Toolbox, or their FEMLAB program, or both. Since the PDE Toolbox is more in PDE2D's price range (if you include the cost of MATLAB itself, which must be bought, the PDE Toolbox is nearly twice as expensive as PDE2D for non-university users, and about the same for universities; FEMLAB is more than 5 times as expensive, for non-university users), and since I am more familiar with PDE Toolbox, I will make some comparisons with this widely-used competing program. Naturally, I will tend to emphasize those differences that favor PDE2D.

1. PDE2D handles 1D,2D and 3D problems; PDE Toolbox handles only 2D problems.

2. For 2D problems, PDE2D allows up to 4th order isoparametric elements, which gives O(h^5) accuracy in completely general curved regions; PDE Toolbox uses only linear elements, with O(h^2) accuracy.

3. PDE2D handles completely general 2D regions, with arbitrary curved boundaries (defined by user-supplied parametric equations, or even a set of user-supplied points through which a spline will be drawn). PDE Toolbox boundaries are limited to straight lines and ellipses (including circles, naturally).

4. The class of equations (and boundary conditions) solved by PDE2D is a superset of those problems solved by PDE Toolbox ("formally", that is, assuming each package can actually solve every system of PDEs that fits its format, which obviously will not be the case.) There are no systems which fit the PDE Toolbox format which do not fit the PDE2D format, and many which PDE2D can (formally) solve and PDEToolbox cannot.

5. PDE2D handles nonlinear steady state and time-dependent problems; PDE Toolbox solves only linear time-dependent problems, and for nonlinear steady-state problems it uses a fixed-point type iteration, which I would expect to be much less successful on highly non-linear problems than the full Newton iteration used by PDE2D.

6. Both solvers have adaptive mesh generation and adaptive time-stepping.

7. Both solvers allow composite regions, with material parameters which vary abruptly between subregions.

8. Both solvers solve the corresponding eigenvalue problem.

9. Graphics: here the advantage may go to PDE Toolbox, but note that in addition to its own set of built-in graphics, PDE2D can automatically output the solution into a MATLAB m-file, which will produce MATLAB plots, and which can be modified easily to produce any kind of plots available through MATLAB.

10. Flexibility: here the advantage clearly goes to PDE2D, as once your Fortran program has been created (automatically) by either the Interactive Driver or the new GUI, you have all the flexibility of a Fortran program which calls library routines, you can modify the program at will, or imbed it in another application. I have found that most users take full advantage of this flexibility, and very often modify their programs to do things that could never have been anticipated by any self-contained black box package.

11. Robustness and speed: comparing the two programs in this regard would require extensive testing, so I cannot honestly compare them. I would only point to the list of >200 publications at www.pde2d.com, in which PDE2D has been used to generate the numerical results.

12. Finally, with regard to ease-of-use: PDE Toolbox has a sophisticated GUI which makes the generation of an initial triangulation of a complex region considerably easier than PDE2D's approach (it is much more difficult to generate the initial triangulation automatically when completely general curved boundaries are allowed). This is a significant advantage; however, note that the soon to be released edition 9.0 of PDE2D will have a GUI, which will make the solution of problems in "a wide range of simple" 2D and 3D regions as easy as solving problems in a rectangle. Once this edition is released, I will claim that PDEs in any of these regions (see the PDF files at the above link for a better idea of what types of regions we are talking about) will be even easier to solve using the PDE2D GUI than the PDE Toolbox GUI. For more complicated 2D regions, whose boundaries are limited to straight lines and ellipses, PDE Toolbox will still have the advantage, because these will still have to be solved with PDE2D through the Interactive Driver, and a user-supplied initial triangulation. However, remember that PDE Toolbox cannot solve problems in completely general 2D regions, with arbitrary curved boundaries, or any problems in three dimensions.

07-06-2007, 12:10 AM
Thank you - a balanced review. Do consider adding it to PDE2D FAQ. Comparison with FlexPDE, IMSL and NAG's pde routines, and diffpack will make it more useful.

07-06-2007, 04:27 AM
The NAG and IMSL libraries are general-purpose mathematical libraries and would not be expected to compete with a special purpose PDE solver for general problems. Neither has the ability to solve 2D or 3D problems except for very special equations and special regions. I am not familiar with DIFFPACK.

FLEXPDE is certainly a serious competitor, so I will make some comparisons below. Of course you know to be wary of comparisons made by the authors of one of the programs compared, but since you ask...

1. Price: FLEXPDE (for full 1D,2D and 3D solver) is over twice as expensive for academic users, and slightly more for commercial users.

2. 2D Domains: PDE2D handles slightly more general 2D regions than FLEXPDE. PDE2D allows completely general, user-specified curved boundaries, FLEXPDE allows straight line, circular arc and spline boundaries. But realistically, both can handle any 2D domain, or a very close approximation to it.

3. 3D Domains: Neither program handles general 3D domains, and neither handles a superset of the domains handled by the other. It would require some time to completely describe the type of 3D regions handled by either; however I think it might be fair to say that FLEXPDE handles slightly more general 3D regions--but see the next point.

4. Accuracy: FLEXPDE uses up to 3rd degree elements, PDE2D uses up to 4th degree elements in 2D problems, 3rd degree elements in 3D problems. PDE2D will thus produce O(h^5) accuracy in ALL 2D regions, with arbitrary curved boundaries, because it uses isoparametric elements, and it produces O(h^4) accuracy in ALL the 3D regions it allows, with any curved boundary. FLEXPDE will get O(h^4) accuracy in regions with straight line or planar boundaries, but only O(h^2) accuracy in curved regions (2D or 3D)--the same accuracy as if linear elements were used.

5. Equations: Both programs solve quite general nonlinear steady-state, time-dependent and eigenvalue problems. FLEXPDE forms the Jacobian matrix by symbolically differentiating the user-supplied PDE coefficients. This means these coefficients are limited to the functions (sin,cos and many others) "supported" by FLEXPDE. PDE2D forms the Jacobian matrix using finite differences to differentiate the user-supplied PDE coefficients. This allows greater flexibility in defining these coefficients; they can be defined by a Fortran function that can do anything Fortran can do, for example, go read a file and interpolate to data, etc. (PDE2D also gives the user the option of supplying the derivatives of the coefficients analytically, but I have found this to almost never be important.) I don't believe there are any PDEs that FLEXPDE can formally solve that do not also fit PDE2D's format (though I could be mistaken); the reverse is definitely not true. In fairness, though, both programs solve VERY general systems of PDEs.

6. Both programs have adaptive mesh generation and adaptive time-stepping for the time-dependent problem. FLEXPDE allows discontinuous material properties (to model composite regions) in 2D and 3D regions; PDE2D can handle discontinuous materials in 2D regions, but in 3D only with special effort, since it uses a collocation method (see prepared example ex12.f on how PDE2D does this in 3D). Both calculate integrals and boundary integrals of functions of the solution.

7. Robustness: FLEXPDE has only iterative linear system solvers. This is a serious issue for robustness, because all iterative methods will fail on many highly nonsymmetric systems, or even indefinite symmetric linear systems. A couple of years ago they mentioned on their web page that FLEXPDE could not solve Navier-Stokes problems with Reynold's numbers of greater than about 20, no doubt due to the use of iterative methods. PDE2D has several options, including sparse direct solvers, and frontal (out-of-core band) solvers, that allow it to solve fluid flow problems with many times higher Reynold's numbers (also impossible to solve using PDE2D's iterative solvers). PDE2D has been used to solve many difficult fluid flow problems in some of the 178 publications at www.pde2d.com. PDE2D also has MPI-based parallel iterative and direct solvers, for parallel computers.

8. Ease of use: I believe my comments on this issue in the comparison with PDE Toolbox apply pretty much to FLEXPDE also. FLEXPDE and PDE Toolbox generate their initial meshes automatically, that is one of their biggest advantages (again: when you allow completely general curved boundaries, as PDE2D does, this is much harder to do). And again: with edition 9.0, PDE2D will have a GUI that will literally be impossible to beat for ease of use, for the "wide range of simple 2D and 3D regions" handled by the PDE2D collocation method. It will be impossible to beat because the specification of the problem will be exactly as simple as if the region were rectangular, for problems in spheres, cylinders, tori, and many other 2D and 3D regions.

07-06-2007, 05:16 AM
Some general comments on comparisons.

I believe you have correctly listed all the serious competitors of PDE2D: PDE Toolbox (a MATLAB toolbox), COMSOL'S FEMLAB and FLEXPDE. I don't believe there are any other "general purpose" PDE solvers that come close to the abilities of these four. (I emphasis "general purpose" because of course for any particular application there are very sophisticated solvers that are probably superior to any of the general purpose packages for their application).

To summarize my (very biased) comparisons, I would say that the PDE2D Galerkin method (for 2D problems) compares very favorably with the competition in terms of generality, robustness, accuracy and flexibility. It is somewhat more work to set up the initial triangulation using PDE2D than using the competing programs, but we are talking about 5 minutes time lost, and solving very difficult PDE systems can take hours or days with any software. (And in fact, PDE2D does generate the initial triangulation automatically, for "a wide range of simple" 2D regions.)

The algorithms used by the PDE2D Galerkin methods are standard, widely-used techniques. The algorithms used by the PDE2D collocation methods (1D problems, and 2D and 3D problems in a wide range of simple regions), on the other hand, which are featured in the new edition 9.0 GUI, are completely unique, there is nothing similar around, I'm sure. They have some unique advantages in terms of ease-of-use, and also some disadvantages Re the Galerkin methods.

All 4 programs have their advantages and disadvantages, a company or university where many people solve PDEs should think about purchasing more than one of these programs, and one of them should certainly be PDE2D. :)

07-27-2011, 12:22 PM
Very nice review, thanks. Maybe needs some update, imho. :)
Can PDE2D cope with stiff PDE system (like diffusion-reaction type etc)?

Thank you.

07-28-2011, 11:39 AM
Yes, it should be able to handle stiff PDE systems, since it uses implicit time step methods. If you want me to try a particular problem, send the details to me at sewell@utep.edu. Or you can download the trial version at www.roguewave.com/pde2d/#Trial and actually try running the problem with the trial version, if the problem isn't too large (trial version only solves small to moderate size problems).