<< Click to Display Table of Contents >> What Is FlexPDE? 

FlexPDE is a "scripted finite element model builder and numerical solver".
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 reedit and rerun repeatedly without leaving the FlexPDE application environment.
FlexPDE has no predefined 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 coworker.
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 twodimensional 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 fixedapplication 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.