This is the list of frequently asked questions for FElt

last modified: 11-18-97
  1. What is FElt?
  2. Where can I get FElt?
  3. What machines does FElt run on?
  4. I think I found a bug, what now?
  5. Is there a newsgroup or mailing list for FElt?
  6. Why do the FElt components have such stupid names?

  1. What is FElt?
  2. 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 solver though.

    • Can I modify FElt to make it solve my type of problem?
    • 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 elements?
    • 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.

  3. Where can I get FElt?
  4. The latest version of FElt, in all its incarnations, is always available via anonymous ftp from 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 in pub/src/FEM/Felt.

  5. What machines does FElt run on?
  6. 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 in src/Velvet.

    • 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 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 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 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.

  7. I think I found a bug, what now?
  8. Send one of us email ( or 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 are using
    • 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 problem.

  9. Is there a newsgroup or mailing list for FElt?
  10. 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 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.

  11. Why do the FElt components have such stupid names?
  12. 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 felt.

    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 with it.

    - 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 of units.

Back to the FElt Demo Document.