Merge branch 'hotfix-3.07.3'
[felt.git] / FAQ.html
blobc2441fd8cbaeb79fcbf51ba3d81396dc42d1153f
1 <HTML>
2 <HEAD>
3 <TITLE>
4 FElt FAQ
5 </TITLE>
6 </HEAD>
8 <H1>
9 This is the list of frequently asked questions for FElt
10 </H1>
11 last modified: 11-18-97
13 <OL>
14 <LI><A HREF="#What-is">What is FElt?</A>
16 <UL>
17 <LI><A HREF="#What-kinds">What kinds of problems can FElt solve?</A>
18 <LI><A HREF="#Can-it">Can FElt solve my type of problem?</A>
19 <LI><A HREF="#Modify-it">Can I modify FElt to make it solve my type of problem?</A>
20 <LI><A HREF="#Extend-it">On that same note, can I add new kinds of elements?</A>
21 </UL>
23 <LI><A HREF="#Where-is">Where can I get FElt?</A>
24 <LI><A HREF="#What-machines">What machines does FElt run on?</A>
26 <UL>
27 <LI><A HREF="#Windows">Is there a Windows interface to FElt?</A>
28 <LI><A HREF="#Other-GUIs">What about a Motif or OpenLook interface?</A>
29 <LI><A HREF="#Compile">Can I compile FElt using X11R4 (R3 ...) ?</A>
30 <LI><A HREF="#Unpack">Where can I get gzip to unpack the tar files on cs.ucsd.edu?</A>
31 </UL>
33 <LI><A HREF="#Bugs">I think I found a bug, what now?</A>
34 <LI><A HREF="#Newsgroup">Is there a newsgroup or mailing list for FElt?</A>
36 <LI><A HREF="#Names">Why do the FElt components have such stupid names?</A>
37 </OL>
39 <OL>
40 <H2><LI><A NAME="What-is">What is FElt?</A></H2>
42 </P>
43 FElt is a free system for introductory level finite element analysis. It
44 is primarily intended as a teaching tool for introductory type courses
45 in finite elements - probably in the mechanical/structural/civil fields.
46 In a command line environment, FElt uses an intuitive, straightforward input
47 syntax to describe problems. It also includes a graphical user interface
48 for workstations that allows the user to set-up, solve and post-process the
49 problem in a single CAD-like environment.
51 </P>
52 From the end-user point of view, FElt consists of six programs: felt,
53 burlap, velvet, corduroy, patchwork, and yardstick. felt is the basic
54 command-line application; burlap is an interactive Matlab-like environment
55 for scripting your own elements and analyses; velvet is the primary GUI
56 interface into the bulk of the functionality in FElt; corduroy is command-line
57 program for automatic element generation; patchwork is a command-line
58 application for file format conversion to and from the FElt syntax; and
59 yardstick is a simple program for problem scaling and unit conversion.
61 </P>
62 Felt is the simplest - it takes a FElt input file and spits back
63 appropriate ASCII based (tabular or ASCII graphics) results depending on
64 the problem type. The command line application felt is the only
65 interface of the three analysis engines (felt, velvet, burlap) that
66 is available under DOS.
68 </P>
69 Velvet is the most powerful interface into the pre-programmed functionality
70 of FElt - it allows for complete graphical problem definition through pulldown
71 menus, popup dialog boxes and an interactive drawing area. It offers all of
72 the capabilities of both felt and corduroy and has several options for
73 post-processing, including color stress plots for planar elements, plots
74 of the displaced structure, animation, graphical time-displacement plots
75 for transient analysis problems, graphical frequency domain plots of transfer
76 functions and output spectra for spectral analysis, and graphical plots of
77 mode shapes for modal analysis problems.
79 </P>
80 Burlap is the most powerful interface in terms of raw FE computing power
81 simply because you can make it perform analyses that are not otherwise
82 available in FElt simply by scripting your own analyses algorithms in
83 burlap's powerful Matlab-like syntax. You can also use burlap to
84 try out new element definitions quickly and easily or to manipulate the
85 results from one of FElt's pre-programmed analyses in a novel way that is
86 otherwise not provided for.
88 <UL>
89 <H3><LI><A NAME="What-kinds">What kinds of problems can FElt solve?</A></H3>
91 <P>
92 As distributed, FElt can solve the classic problems in linear statics
93 and linear dynamics for both structural and thermal mechanics (i.e., problems
94 of the form Kd = F, Md'' + Cd' + Kd = F , or Md' + Kd = F). It can also solve
95 the generalized eigenvalue problem (K - lM)x = 0 and use this information in
96 modal analysis. It can do spectral (frequency domain) analysis of transient
97 structural problems. Nonlinear static analysis is in the works with
98 the first cut being a simplistic static substitution scheme.
99 The element library consists of truss, beam (Timoshenko
100 and Euler), constant strain triangular, bilinear planar isoparametric,
101 axisymmetric, plate bending (selective reduced integration quadrilateral),
102 isoparametric solid (eight node brick) elements, and rod and constant
103 temperature gradient thermal elements.
105 <H3><LI><A NAME="Can-it">Can FElt solve my type of problem?</A></H2>
108 Unless it fits into one of the classes above there are no built-in solvers
109 for your type of problem. You may be able to use burlap to write your own
110 solver though.
112 <H3><LI><A NAME="Modify-it">Can I modify FElt to make it solve my type of
113 problem?</A></H3>
115 </P>
116 Probably, and we'd be happy to help. The only reason FElt cannot do
117 more right from the start is partly because we don't have time and partly
118 because it is very hard to keep everything simple, straightforward and
119 intuitive if we support every different type of analysis and algorithm -
120 especially because beyond the basics there are so many different
121 possibilities. What may interest one person on the serious research
122 level is probably not going to interest the majority of other users.
124 </P>
125 FElt does offer a lot of basic support that would be useful in a broad
126 class of finite element programs. If you do want to add your own analysis
127 algorithms, the best place to start is to probably look at the source
128 code for the felt driver program (bin/Felt/felt.c) and see how it handles
129 switching between static, dynamic and modal analyses. Then take a look at
130 the routines for static (lib/Felt/fe.c), dynamic (lib/Felt/transient.c),
131 modal (lib/Felt/modal.c), and spectral (lib/Felt/spectral.c) problems to see
132 how the different types of algorithms make use of the data structures and
133 general routines to actually go about getting a solution.
135 </P>
136 Finally, we want people to know that our major motivation for creating
137 burlap were questions just like this. With burlap you now have two
138 options for performing analyses that don't already exist - you can modify
139 and add to the FElt source as outlined above or you can script your
140 algorithm in burlap. The latter is probably much easier and we encourage
141 people to try it out. If we do end up with a lot of neat analyses scripted
142 into burlap then perhaps we can start putting together a library of
143 this functionality for general distribution. That kind of growth in
144 functionality sounds a lot nicer to us because it would be a lot easier to
145 maintain and distribute.
147 <H3><LI><A NAME="Extend-it">On that same note, can I add new kinds of
148 elements?</A></H3>
150 </P>
151 Absolutely, there's even a whole chapter in the user's manual devoted to
152 this very topic. We'd be very interested if you did add a new element
153 because we'd like to start putting a user contributed element library
154 together for distribution with with regular sources.
156 </P>
157 Also, just like you can add your own new analyses through burlap,
158 keep in mind that you can script new elements in burlap as well. This
159 is a potentially much easier way to go about it. Whichever way
160 you choose to go about it, let us know what you come up with -
161 we'd like to hear whatever success (or horror) stories people might have.
163 </UL>
165 <H2><LI><A NAME="Where-is">Where can I get FElt?</A></H2>
168 The latest version of FElt, in all its incarnations, is always available
169 via anonymous ftp from ftp.felt.sourceforge.net. As of this update, the
170 latest version is v3.05. Information is available via the Web at
173 http://felt.sourceforge.net/
176 if you want to take a more serious look at some of FElt's capabilities
177 before you actually take it for a test drive on your machine.
178 There is an ftp mirror site at ftp.isd.uni-stuttgart.de in pub/src/FEM/Felt.
180 <H2><LI><A NAME="What-machines">What machines does FElt run on?</A></H2>
183 The complete version of FElt (including the X11 based graphical user
184 interfaces) has compiled and tested on HPs, DECs, Suns, SGIs, 386/486s
185 running Linux and SysV R3, and IBM workstations. It should do the same
186 on any reasonable Unix system with X11R5 or R6. In general we provide
187 binaries for Sparc stations running SunOS or Solaris and 386s with Linux,
188 but there is no guarantee that the binaries are as up to date as the source
189 code. When in doubt just grab the source code and build it yourself -
190 really, it's easy.
193 DOS executables are available for the command-line applications felt,
194 corduroy, yardstick, burlap, and patchwork. A simple graphical
195 application, feltvu is also available. You need to have at least a
196 386 to use the DOS versions. As of v3.02 we have switched to
197 DJGPP v2.0 and the DOS versions should run under Windows 3.1.
198 Also as of v3.02, there are 32-bit Windows (95 and NT) versions
199 of all the programs (including velvet). You need X server software
200 to make velvet work of course.
202 <UL>
203 <H3><LI><A NAME="Windows">Is there a Windows interface to FElt?</A></H3>
206 With the release of WinFElt, yes there is. After an extended beta
207 period of WinFElt v1.0 for both Windows 95 and Windows 3.1, WinFElt
208 v1.1 for Windows 95 and Windows NT is now available.
210 There is no velvet-like CAD-style native Windows interface, however,
211 and we're probably not the folks to write it as neither of us
212 have much experience with Windows programming.
213 There may be people working on this -
214 let us know if you're thinking about something like it and we'll try
215 our best to make sure that people don't duplicate a lot of effort.
217 <H3><LI><A NAME="Other-GUIs">What about a Motif or OpenLook interface?</A></H3>
220 Well we originally chose to work with the Athena widgets because the price
221 is right and because they allow us to maintain FElt as a 100% free product.
222 With the current set-up anyone (in theory at least) can get and build
223 everything they need to get FElt up and running free. If we had worked
224 in Motif then we at least would have had to shell out for Motif for Linux
225 and people without Motif simply would be out of luck unless they happened
226 to be working on one of the few machines that we could provide statically
227 linked binaries for. We also recognize that we could maintain separate
228 GUI interfaces, but we feel that our development time is better spent on
229 functionality rather than on constantly keeping two or more separate interfaces
230 up to date. In addition, it's our feeling that Motif or OpenLook or any other
231 widget set would not offer us any significant additional capabilities that we
232 haven't already worked out with the Athena widgets.
235 However, if you just want a slightly different look and feel than the
236 stylized default look of velvet then please feel free to change it -
237 that's what Xresources are for after all. The easiest way to get a slightly
238 more Motif look (not really the feel though) is to switch to the 3d Athena
239 widgets. I know that these are readily available as compiled libraries for
240 Linux and should be for some other machines as well; they're also really
241 easy to build yourself if you are so inclined. Once you have them all you
242 have to do is swap them for your regular Athena shared library (or re-link
243 if you don't use shared libs); the next time you run velvet everything should
244 be 3d. There are some recommended changes to the app defaults for velvet if
245 you do decide to go this route, they're at the bottom of Velvet.ad in
246 src/Velvet.
248 <H3><LI><A NAME="Compile">Can I compile FElt using X11R4 (R3 ...)?</A></H3>
251 Not really - you really should have X11R5 or R6. Compiled libraries should
252 be available for most machines. If not, source code for the X11R5
253 distribution is available via anonymous ftp from ftp.x.org and pre-
254 compiled libraries should be available from many places on the net.
255 Now that X11R6 is available you should be able to use that just as
256 well as R5.
259 If you really want to do it with X11R4, then you can try the following:
260 from ftp.x.org get three header files from the untarred R5 or R6 sources -
261 Xfuncs.h, Xfuncproto.h, Xosdefs.h. Make a directory FElt-x.xx/inc/X11
262 and copy these three files into it. Then just do a regular make as
263 described in the INSTALL file. See the notes on SGIs in the INSTALL file
264 if you need a few more details.
266 <H3><LI><A NAME="Unpack">Where can I get gzip to unpack the tar files on
267 cs.ucsd.edu?</A></H3>
270 Source code is available from prep.ai.mit.edu. Binaries for a wide
271 variety of machines should also be available from various archives
272 on the net. Building gnu binaries from source is really easy, just
273 untar them, cd into the directory into which they unpacked, type
274 configure and then type make.
275 </UL>
277 <H2><LI><A NAME="Bugs">I think I found a bug, what now?</A></H2>
280 Send one of us email (jgobat@mit.edu or atkinson@ucsd.edu). Please,
281 please, please, include as much information as possible in your report.
282 Things that are absolutely essential:
283 <UL>
284 <LI> version of FElt that you are using
285 <LI> the application that you think the bug is in (felt, velvet, everything,
286 etc.), this is particularly helpful if the bug only shows up in velvet
287 but not in felt (or the reverse)
288 <LI> type of machine and operating system (including the OS version) that you
289 are using
290 <LI> if you are using a pre-built binary or if you are using a binary that you
291 built yourself; if you built the binary, how did you build it (gcc,
292 native cc, etc.)
293 <LI> and of course a detailed description of what went wrong and what you
294 were doing when it went wrong. If possible send us the input file that
295 causes the problem, if you can't do that then tell us what kind of
296 analysis you are doing and any other relevant details specific to your
297 problem.
298 </UL>
301 <H2><LI><A NAME="Newsgroup">Is there a newsgroup or mailing list for
302 FElt?</A></H2>
305 There was a real mailing list that is now dead. Instead we are manually
306 maintaining a list of people who would like to receive periodic
307 updates about releases and bug fixes. Send a note to jgobat@mit.edu
308 indicating that you would like your name added to such a list.
309 Incremental release announcements and bug fixes will be posted to the mailing
310 list. Major release announcements will be made to the following newsgroups:
311 comp.os.linux.announce, sci.math.num-analysis, sci.engr, sci.engr.civil,
312 and sci.engr.mechanical. So if you really want to keep up on new
313 versions and capabilities, you should subscribe to the mailing list.
315 <H2><LI><A NAME="Names">Why do the FElt components have such stupid
316 names?</A></H2>
319 Well, FElt is obvious, right? Finite ELemenT. felt the application
320 came first - it's the most basic interface into the system.
321 Now when it comes to fabrics, everybody knows that velvet is
322 smoother than felt ... thus the slickest GUI interface is called
323 velvet. xfelt is simply xfelt because it is nothing more than
324 an encapsulator, with no real functionality beyond that provided by
325 felt.
328 After this, we start to stretch because with the felt - velvet connection
329 we have this fabric motif to keep up on.
332 - Burlap is rough but functional, just like its namesake fabric. It may
333 not be as easy to use as velvet (or maybe it is if you like scripting
334 in Matlab-like mathematical languages) but you can do an awful lot
335 with it.
337 - Corduroy has that regular ripple effect so its sort of like a mesh ...
339 - Patchwork, well we figured that was better than convert simply to
340 avoid conflicts. How many systems have some local app called convert
341 to do whatever, or how many little hacks are there called convert.
342 It seemed common enough to us that we figured we might as well call it
343 something different. Patchwork implies a lot of different fabrics
344 coming together so it seemed as good as anything else.
346 - A yardstick is used to measure fabric ... measuring implies some sort
347 of units.
348 </OL>
350 <A HREF="index.html">Back</A> to the FElt Demo Document.
351 </HTML>