FEAP - - A Finite Element Analysis Program
FEAP is a multi-purpose finite element program written by Prof. R.L. Taylor
for the solution of static and dynamic linear and nonlinear problems.
The program is distributed as open source and is very useful for research,
element, and architecture development. For information on obtaining
the program please see the FEAP
web page. Documentation for the program is also downloadable
from that web page. This page provides some examples and added
documentation on using the program.
Example user defined interfaces:
User Memory Allocation
The UALLOC interface allows users to create, delete, and resize their
own arrays within the FEAP memory management system. Some
User Defined Macros
An example that translates binary restart files
from an SGI machine to a DEC alpha machine written in C.
The distributed user interfaces are in FORTRAN but the can also be used
in C. Here is the stub file for umacro2.f
converted to C.
A user macro to create element and node graphs
and partition them with the METIS library.
A user macro that implements the Broyden Quasi-Newton
method for unsymmetric problems
Here is an example of using a user macro command to allow for the making
movies and animations in FEAP. User macros
are written as well as some modifications to x11u.c
A user macro that produces output files that can be read by
Paraview. Usage '
PVIEw,[time | filename]'. This will produce a file with the name
filename. If you have already solved the problem,
the displacement will be available to you for plotting. If you
first project the stresses via 'stress,node' or via a plot command, then
the stresses and principal stresses will also appear in the paraview file.
If you use the 'time' option instead of a filename, then it will create a
file named PxxxxYYYYY.vtu, where xxxx is your problem name and YYYYY is the
step number within your analysis. These files can be easily assembeled into
a paraview collection file for making paraview movies etc. Here is an
that shows one way of doing this when running parallel FEAP jobs.
User Defined Mesh Commands
An example user mesh command that applies a twisting
boundary displacement to a plane of nodes.
User Defined Material Models
An example user material model for a Cubic Saint-Venant
Material (finite and small deformation) N.B.: these files are for version 7.4 of the
code. The user model interface has changed. See the microsphere model below for an example
of the current interface structure.
MATLAB routine for testing material level tangents
An implementation of the Miehe, Goektepe, and Lulei microsphere model
User Defined Time Integrators
FEAP allows for user defined time integrators in a fairly flexible fashion.
Here is a report by Karl Steeger on
implementing the Wilson-theta time
integrator into FEAP. This is a fairly complex scheme and illustrates many
of the issues one must grapple with when adding one's own time integrator.
User Defined Elements
Feap allows one to add ones own elements. Normally these are done
using FORTRAN but it is also possible to do this in C. Here is an
example of a linear viscoelastic element that is
written in C.
Example user element for a Lysmer-Kuhlemeyer damper in 2D Cartessian
as well as axis-symmetric problems when coupled with linear or bi-linear
User Defined Load Curves
Feap allows one to add ones own proportional load curve functions to the
main program. This done through the uprop.f interface. Here
is an example uprop.f that implements a Haversine
Example Input Files:
An example using follower loads and pressure elements:
An example using the LINK command to prestress a component, glue it to another
unstressed one, and then release the system and let it come to equilibrium: