Numerical simulation by symbolic computation
femLego is a set of Maple procedures and fortran subroutines that can be used to build complete fortran simulation codes for partial differential equations, with the entire problem definition done in Maple. It is intended mainly for time dependent systems, and in the present version sets up a time loop where the equations in the system are solved one after another in a split manner. Spatial discretizations are done as the standard finite element method on unstructured grids. The finite elements are specified as symbolic code in a few pages of Maple procedures. Some common 1D, 2D and 3D elements are provided.

The philosophy has been to eliminate as much hand coded fortran as possible, and have Maple do all the work in going from a formal description of a variational formulation, to a running program.
A recent talk on this can be viewed here (pdf).

An account of the strategy, with a set of examples of how the tools can be used is published in the paper:
Amberg, G., Tönhardt, R, and Winkler, C. (1999) 'Finite Element simulations using symbolic computing', Mathematics and Computers in Simulation, vol 49, pp. 149-165.

Written by Gustav Amberg
Mechanics, KTH, S-100 44 Stockholm, Sweden

with contributions by:
Mårten Levenstam
Torbjörn Sjögren
Robert Tönhardt
Christian Winkler
Irina Loginova
Minh Do-Quang
Contact: Gustav Amberg, Mechanics, KTH, S-100 44 Stockholm, Sweden,