What Is FlexPDE?

What Is FlexPDE?

By this we mean that from a script written by the user, FlexPDE performs the operations necessary to turn a description of a partial differential equations system into a finite element model, solve the system, and present graphical and tabular output of the results.

FlexPDE is also a "problem solving environment".

It performs the entire range of functions necessary to solve partial differential equation systems: an editor for preparing scripts, a mesh generator for building finite element meshes, a finite element solver to find solutions, and a graphics system to plot results. The user can edit the script, run the problem and observe the output, then re-edit and re-run repeatedly without leaving the FlexPDE application environment.

FlexPDE has no pre-defined problem domain or equation list.

The choice of partial differential equations is totally up to the user.

The FlexPDE scripting language is a "natural" language.

It allows the user to describe the mathematics of his partial differential equations system and the geometry of his problem domain in a format similar to the way he might describe it to a co-worker.

For instance, there is an EQUATIONS section in the script, in which Laplace's equation would be presented as

Div(grad(u)) = 0.

Similarly, there is a BOUNDARIES section in the script, where the geometric boundaries of a two-dimensional problem domain are presented merely by walking around the perimeter:

Start(x1,y1) line to (x2,y1) to (x2,y2) to (x1,y2) to close

This scripted form has many advantages

•

The script completely describes the equation system and problem domain, so there is no uncertainty about what equations are being solved, as might be the case with a fixed-application program.

•

New variables, new equations or new terms may be added at will, so there is never a case of the software being unable to represent a different loss term, or a different physical effect.

•

Many different problems can be solved with the same software, so there is not a new learning curve for each problem

There is also a corollary requirement with the scripted model:

•

The user must be able to pose his problem in mathematical form.

In an educational environment, this is good. It's what the student wants to learn.

In an industrial environment, a single knowledgeable user can prepare scripts which can be used and modified by less skilled workers. And a library of application scripts can show how it is done.