Up until recently, there have been two approaches to introducing software into courses about the finite element method:
There are strong disadvantages with this approach, however:
The disadvantages of this approach are:
Most recently, a "best of both worlds" solution to this dilemma has been made possible through the MATLAB software package. Programs can be written from scratch in MATLAB, which then have access to the graphics capabilities of the package. Learning to program in MATLAB is a separate and non-trivial task, however. In addition, the licensing cost for the package is considerable. The FELIPE package is intended to be a self-standing, low-cost, easy-to-use alternative, offering a "best of both worlds" solution with maximum flexibility.
The FELIPE package consists of three independent sections:
The pre-processor and post-processor are provided as executable files, while the "main engines" (for
applications such as solving Poisson's equation on a domain, or plane strain elasticity) are provided
as documented Fortran77 source code.
The three sections communicate with one another via formatted ASCII data files. That is, the output from the pre-processor is a data file - test.dat, say - which is read as input by the "main engine". That program produces a new data-file - test.out - which echoes the input data, and appends the numerical results (e.g. nodal displacements) from the f.e. analysis. The post-processor reads this file and displays the results graphically.
Both the pre- and post-processors can produce hard-copy output as formatted text (test.prt) and PostScript graphics (testa.ps, etc.).
Because the "main engine" programs are provided in source code, students can modify them to program:
The "main engine" programs can even be translated into another more convenient programming language
without affecting the use of the pre- and post-processors!
There is also a comprehensive user manual, not only describing the pre- and post-processors but also explaining the theory of the finite element method applied to 2D Poisson and Laplace problems, and elasticity analyses, as embodied in the "main engines".
It must be emphasised that, although the "main engines" are restricted in the type of element they use, in order to maintain their simplicity, the pre- and post-processors are capable of creating and displaying meshes with a wide range of 2D element types, including beam elements and mapped infinite elements. They are in fact very powerful, and the package is an excellent starting point for research projects.
Note: click here for details of the new features in version 2!