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
The FlexPDE installation program will place a FlexPDE icon on your desktop. You can start FlexPDE merely by doubleclicking this icon. Alternatively, you can use the File Manager to navigate to the folder where FlexPDE was installed, and then doubleclick on the FlexPDE executable.
The installation program will also create an association of the ".pde" extension with the installed FlexPDE executable, so that FlexPDE can be started merely by doubleclicking a script file in the file manager.
What Can FlexPDE Do?
1. FlexPDE can solve systems of first or second order partial differential equations in one, two or threedimensional Cartesian geometry, in onedimensional spherical or cylindrical geometry, or in axisymmetric twodimensional geometry. (Other geometries can be supported by including the proper terms in the PDE.)
2. The system may be steadystate or timedependent, or alternatively FlexPDE can solve eigenvalue problems. Steadystate and timedependent equations can be mixed in a single problem.
3. Any number of simultaneous equations can be solved, subject to the limitations of the computer on which FlexPDE is run.
4. The equations can be linear or nonlinear. (FlexPDE automatically applies a modified NewtonRaphson iteration process in nonlinear systems.)
5. Any number of regions of different material properties may be defined.
6. Modeled variables are assumed to be continuous across material interfaces. Jump conditions on derivatives follow from the statement of the PDE system. (CONTACT boundary conditions can handle discontinuous variables.)
7. FlexPDE can be extremely easy to use, and this feature recommends it for use in education. But FlexPDE is not a toy. By full use of its power, it can be applied successfully to extremely difficult problems.
FlexPDE is a fully integrated PDE solver, combining several internal facilities to provide a complete problem solving system:
1. A script editing facility with syntax highlighting provides a full text editing facility and a graphical domain preview.
2. A symbolic equation analyzer expands defined parameters and equations, performs spatial differentiation, and symbolically applies integration by parts to reduce second order terms to create symbolic Galerkin equations. It then symbolically differentiates these equations to form the Jacobian coupling matrix.
3. A mesh generation facility constructs a triangular or tetrahedral finite element mesh over a two or threedimensional problem domain. In two dimensions, an arbitrary domain is filled with an unstructured triangular mesh. In threedimensional problems, an arbitrary twodimensional domain is extruded into a the third dimension and cut by arbitrary dividing surfaces. The resulting threedimensional figure is filled with an unstructured tetrahedral mesh.
4. A Finite Element numerical analysis facility selects an appropriate solution scheme for steadystate, timedependent or eigenvalue problems, with separate procedures for linear and nonlinear systems. The finite element basis may be linear, quadratic or cubic.
5. An adaptive mesh refinement procedure measures the adequacy of the mesh and refines the mesh wherever the error is large. The system iterates the mesh refinement and solution until a userdefined error tolerance is achieved.
6. A dynamic timestep control procedure measures the curvature of the solution in time and adapts the time integration step to maintain accuracy.
7. A graphical output facility accepts arbitrary algebraic functions of the solution and plots contour, surface, vector or elevation plots.
8. A data export facility can write text reports in many formats, including simple tables, full finite element mesh data, CDF, VTK or TecPlot compatible files.
The license of this software is Free Trial Software, the price is $495, you can free download and get a free trial.