This is the list of frequently asked questions for FElt
last modified: 11-18-97
- What is FElt?
- Where can I get FElt?
- What machines does FElt run on?
- I think I found a bug, what now?
- Is there a newsgroup or mailing list for FElt?
- Why do the FElt components have such stupid names?
- What is FElt?
FElt is a free system for introductory level finite element analysis. It
is primarily intended as a teaching tool for introductory type courses
in finite elements - probably in the mechanical/structural/civil fields.
In a command line environment, FElt uses an intuitive, straightforward input
syntax to describe problems. It also includes a graphical user interface
for workstations that allows the user to set-up, solve and post-process the
problem in a single CAD-like environment.
From the end-user point of view, FElt consists of six programs: felt,
burlap, velvet, corduroy, patchwork, and yardstick. felt is the basic
command-line application; burlap is an interactive Matlab-like environment
for scripting your own elements and analyses; velvet is the primary GUI
interface into the bulk of the functionality in FElt; corduroy is command-line
program for automatic element generation; patchwork is a command-line
application for file format conversion to and from the FElt syntax; and
yardstick is a simple program for problem scaling and unit conversion.
Felt is the simplest - it takes a FElt input file and spits back
appropriate ASCII based (tabular or ASCII graphics) results depending on
the problem type. The command line application felt is the only
interface of the three analysis engines (felt, velvet, burlap) that
is available under DOS.
Velvet is the most powerful interface into the pre-programmed functionality
of FElt - it allows for complete graphical problem definition through pulldown
menus, popup dialog boxes and an interactive drawing area. It offers all of
the capabilities of both felt and corduroy and has several options for
post-processing, including color stress plots for planar elements, plots
of the displaced structure, animation, graphical time-displacement plots
for transient analysis problems, graphical frequency domain plots of transfer
functions and output spectra for spectral analysis, and graphical plots of
mode shapes for modal analysis problems.
Burlap is the most powerful interface in terms of raw FE computing power
simply because you can make it perform analyses that are not otherwise
available in FElt simply by scripting your own analyses algorithms in
burlap's powerful Matlab-like syntax. You can also use burlap to
try out new element definitions quickly and easily or to manipulate the
results from one of FElt's pre-programmed analyses in a novel way that is
otherwise not provided for.
- What kinds of problems can FElt solve?
As distributed, FElt can solve the classic problems in linear statics
and linear dynamics for both structural and thermal mechanics (i.e., problems
of the form Kd = F, Md'' + Cd' + Kd = F , or Md' + Kd = F). It can also solve
the generalized eigenvalue problem (K - lM)x = 0 and use this information in
modal analysis. It can do spectral (frequency domain) analysis of transient
structural problems. Nonlinear static analysis is in the works with
the first cut being a simplistic static substitution scheme.
The element library consists of truss, beam (Timoshenko
and Euler), constant strain triangular, bilinear planar isoparametric,
axisymmetric, plate bending (selective reduced integration quadrilateral),
isoparametric solid (eight node brick) elements, and rod and constant
temperature gradient thermal elements.
- Can FElt solve my type of problem?
Unless it fits into one of the classes above there are no built-in solvers
for your type of problem. You may be able to use burlap to write your own
- Can I modify FElt to make it solve my type of
Probably, and we'd be happy to help. The only reason FElt cannot do
more right from the start is partly because we don't have time and partly
because it is very hard to keep everything simple, straightforward and
intuitive if we support every different type of analysis and algorithm -
especially because beyond the basics there are so many different
possibilities. What may interest one person on the serious research
level is probably not going to interest the majority of other users.
FElt does offer a lot of basic support that would be useful in a broad
class of finite element programs. If you do want to add your own analysis
algorithms, the best place to start is to probably look at the source
code for the felt driver program (bin/Felt/felt.c) and see how it handles
switching between static, dynamic and modal analyses. Then take a look at
the routines for static (lib/Felt/fe.c), dynamic (lib/Felt/transient.c),
modal (lib/Felt/modal.c), and spectral (lib/Felt/spectral.c) problems to see
how the different types of algorithms make use of the data structures and
general routines to actually go about getting a solution.
Finally, we want people to know that our major motivation for creating
burlap were questions just like this. With burlap you now have two
options for performing analyses that don't already exist - you can modify
and add to the FElt source as outlined above or you can script your
algorithm in burlap. The latter is probably much easier and we encourage
people to try it out. If we do end up with a lot of neat analyses scripted
into burlap then perhaps we can start putting together a library of
this functionality for general distribution. That kind of growth in
functionality sounds a lot nicer to us because it would be a lot easier to
maintain and distribute.
- On that same note, can I add new kinds of
Absolutely, there's even a whole chapter in the user's manual devoted to
this very topic. We'd be very interested if you did add a new element
because we'd like to start putting a user contributed element library
together for distribution with with regular sources.
Also, just like you can add your own new analyses through burlap,
keep in mind that you can script new elements in burlap as well. This
is a potentially much easier way to go about it. Whichever way
you choose to go about it, let us know what you come up with -
we'd like to hear whatever success (or horror) stories people might have.
- Where can I get FElt?
The latest version of FElt, in all its incarnations, is always available
via anonymous ftp from ftp.felt.sourceforge.net. As of this update, the
latest version is v3.05. Information is available via the Web at
if you want to take a more serious look at some of FElt's capabilities
before you actually take it for a test drive on your machine.
There is an ftp mirror site at ftp.isd.uni-stuttgart.de in pub/src/FEM/Felt.
- What machines does FElt run on?
The complete version of FElt (including the X11 based graphical user
interfaces) has compiled and tested on HPs, DECs, Suns, SGIs, 386/486s
running Linux and SysV R3, and IBM workstations. It should do the same
on any reasonable Unix system with X11R5 or R6. In general we provide
binaries for Sparc stations running SunOS or Solaris and 386s with Linux,
but there is no guarantee that the binaries are as up to date as the source
code. When in doubt just grab the source code and build it yourself -
really, it's easy.
DOS executables are available for the command-line applications felt,
corduroy, yardstick, burlap, and patchwork. A simple graphical
application, feltvu is also available. You need to have at least a
386 to use the DOS versions. As of v3.02 we have switched to
DJGPP v2.0 and the DOS versions should run under Windows 3.1.
Also as of v3.02, there are 32-bit Windows (95 and NT) versions
of all the programs (including velvet). You need X server software
to make velvet work of course.
- Is there a Windows interface to FElt?
With the release of WinFElt, yes there is. After an extended beta
period of WinFElt v1.0 for both Windows 95 and Windows 3.1, WinFElt
v1.1 for Windows 95 and Windows NT is now available.
There is no velvet-like CAD-style native Windows interface, however,
and we're probably not the folks to write it as neither of us
have much experience with Windows programming.
There may be people working on this -
let us know if you're thinking about something like it and we'll try
our best to make sure that people don't duplicate a lot of effort.
- What about a Motif or OpenLook interface?
Well we originally chose to work with the Athena widgets because the price
is right and because they allow us to maintain FElt as a 100% free product.
With the current set-up anyone (in theory at least) can get and build
everything they need to get FElt up and running free. If we had worked
in Motif then we at least would have had to shell out for Motif for Linux
and people without Motif simply would be out of luck unless they happened
to be working on one of the few machines that we could provide statically
linked binaries for. We also recognize that we could maintain separate
GUI interfaces, but we feel that our development time is better spent on
functionality rather than on constantly keeping two or more separate interfaces
up to date. In addition, it's our feeling that Motif or OpenLook or any other
widget set would not offer us any significant additional capabilities that we
haven't already worked out with the Athena widgets.
However, if you just want a slightly different look and feel than the
stylized default look of velvet then please feel free to change it -
that's what Xresources are for after all. The easiest way to get a slightly
more Motif look (not really the feel though) is to switch to the 3d Athena
widgets. I know that these are readily available as compiled libraries for
Linux and should be for some other machines as well; they're also really
easy to build yourself if you are so inclined. Once you have them all you
have to do is swap them for your regular Athena shared library (or re-link
if you don't use shared libs); the next time you run velvet everything should
be 3d. There are some recommended changes to the app defaults for velvet if
you do decide to go this route, they're at the bottom of Velvet.ad in
- Can I compile FElt using X11R4 (R3 ...)?
Not really - you really should have X11R5 or R6. Compiled libraries should
be available for most machines. If not, source code for the X11R5
distribution is available via anonymous ftp from ftp.x.org and pre-
compiled libraries should be available from many places on the net.
Now that X11R6 is available you should be able to use that just as
well as R5.
If you really want to do it with X11R4, then you can try the following:
from ftp.x.org get three header files from the untarred R5 or R6 sources -
Xfuncs.h, Xfuncproto.h, Xosdefs.h. Make a directory FElt-x.xx/inc/X11
and copy these three files into it. Then just do a regular make as
described in the INSTALL file. See the notes on SGIs in the INSTALL file
if you need a few more details.
- Where can I get gzip to unpack the tar files on
Source code is available from prep.ai.mit.edu. Binaries for a wide
variety of machines should also be available from various archives
on the net. Building gnu binaries from source is really easy, just
untar them, cd into the directory into which they unpacked, type
configure and then type make.
- I think I found a bug, what now?
Send one of us email (email@example.com or firstname.lastname@example.org). Please,
please, please, include as much information as possible in your report.
Things that are absolutely essential:
- version of FElt that you are using
- the application that you think the bug is in (felt, velvet, everything,
etc.), this is particularly helpful if the bug only shows up in velvet
but not in felt (or the reverse)
- type of machine and operating system (including the OS version) that you
- if you are using a pre-built binary or if you are using a binary that you
built yourself; if you built the binary, how did you build it (gcc,
native cc, etc.)
- and of course a detailed description of what went wrong and what you
were doing when it went wrong. If possible send us the input file that
causes the problem, if you can't do that then tell us what kind of
analysis you are doing and any other relevant details specific to your
- Is there a newsgroup or mailing list for
There was a real mailing list that is now dead. Instead we are manually
maintaining a list of people who would like to receive periodic
updates about releases and bug fixes. Send a note to email@example.com
indicating that you would like your name added to such a list.
Incremental release announcements and bug fixes will be posted to the mailing
list. Major release announcements will be made to the following newsgroups:
comp.os.linux.announce, sci.math.num-analysis, sci.engr, sci.engr.civil,
and sci.engr.mechanical. So if you really want to keep up on new
versions and capabilities, you should subscribe to the mailing list.
- Why do the FElt components have such stupid
Well, FElt is obvious, right? Finite ELemenT. felt the application
came first - it's the most basic interface into the system.
Now when it comes to fabrics, everybody knows that velvet is
smoother than felt ... thus the slickest GUI interface is called
velvet. xfelt is simply xfelt because it is nothing more than
an encapsulator, with no real functionality beyond that provided by
After this, we start to stretch because with the felt - velvet connection
we have this fabric motif to keep up on.
- Burlap is rough but functional, just like its namesake fabric. It may
not be as easy to use as velvet (or maybe it is if you like scripting
in Matlab-like mathematical languages) but you can do an awful lot
- Corduroy has that regular ripple effect so its sort of like a mesh ...
- Patchwork, well we figured that was better than convert simply to
avoid conflicts. How many systems have some local app called convert
to do whatever, or how many little hacks are there called convert.
It seemed common enough to us that we figured we might as well call it
something different. Patchwork implies a lot of different fabrics
coming together so it seemed as good as anything else.
- A yardstick is used to measure fabric ... measuring implies some sort
Back to the FElt Demo Document.