FEMLISP Homepage
FEMLISP - a Common Lisp Framework for
Finite Element Methods
Short description:
FEMLISP is a framework for solving partial differential
equations with the help of the finite element method (FEM). It is written
completely in Common Lisp. In contrast to other approaches this has the
following advantages:
- Common Lisp is a very expressive programming language which supports a
multitude of programming styles: machine-oriented, imperative, functional,
object-oriented - whatever you want. Therefore, for large projects, Common
Lisp sourcecode is usually much shorter than sourcecode for handling the
same problem in another language.
- There is no need for a separate scripting language, because Lisp is
used anyhow in an interactive environment and is suited very well to the
tasks of a scripting language. However, unlike interpreted scripting
languages (e.g. Perl, Python, Tcl), Common Lisp code can be as efficient as
equivalent C code.
- Using Emacs with SLIME yields a powerful
Common Lisp development environment.
- Matlisp yields
integration of the BLAS and LAPACK libraries.
- Some computer algebra systems (Axiom, Maxima) as well as several other
AI tools are Common Lisp programs which can be integrated easily.
Functionality:
- Interactive environment
- Unstructured meshes in arbitrary space dimensions
- Cells are arbitrary products of simplices
- Automatic triangulation of 2D domains (interface to
Triangle)
- Lagrange finite elements of arbitrary order
- Isoparametric and non-parametric cell mappings
- Error estimators and adaptive mesh refinement strategies
- Interfaces to direct solvers
(SuperLU and
UMFPACK)
- Geometric and algebraic multigrid methods
- Equations (diffusion-convection-reaction)
- Systems (elasticity, incompressible flow)
- Nonlinear problems
- Eigenvalue problems
- Time-dependent problems
- Integrated graphics (interfaces to
OpenDX and
Gnuplot)
- Integrated documentation, demonstrations, and tests
- Very liberal license (modified BSD)
Sample applications:
Status:
The current version of FEMLISP is 0-9-9. It has been tested
and verified to work on Linux with CMUCL, SBCL, and Allegro CL, on Mac OS X
with CMUCL and SBCL, on Solaris with CMUCL and SBCL, on a Linux/AMD64
system with Allegro CL and SBCL, and on Microsoft Windows using Allegro CL
(however, you need a non-trial version of Allegro).
FEMLISP is hosted at Savannah.
For more information, look at the User
Manual.
Installation and download:
Follow the installation
instructions in the User Manual.
Nicolas Neuss, 2006-10-13