FEAP - - A Finite Element Analysis Program
Version 8.4 Example Manual
Department of Civil and Environmental Engineering
Robert L. Taylor
University of California at Berkeley
Berkeley, California 94720-1710
E-Mail: rlt@ce.berkeley.edu
May 2013
Contents
1 Introduction
2 Patch tests
2.1 Plain Patch Test.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Axisymmetric patch test . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1
Stability test
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
2
7
9
2.2.2 Consistency test . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
3 Truss problem
4 Circular disk
5 Strip with hole and slit
6 Thermal Problem
7 Coupled Thermo-mechanical
8 Contact Problem
9 Finite Deformation Plasticity
i
15
18
30
37
42
47
51
Chapter 1
Introduction
In this manual we provide some examples of problems which can be set up and solved
using the FEAP program. We begin by describing some of the methods which may be
used to define an input data file for some simple finite element analyses. The manual
is organized to start with very basic methods for inputs and precedes to more general
methods to describe input data and problem solutions.
FEAP is controlled using a set of commands. Each command performs a basic step in
either describing a problem or solving a problem. Commands are divided into three
basic groups:
1. Mesh description commands;
2. Problem solution commands; and
3. Graphical display commands.
The appendices of the User Manual contain the optional forms which each input com-
mand may have.
It is suggested that new users of FEAP carefully read this manual in its entirety before
starting to generate their own input data. The later examples provide ways to manage
the data for problems in separate files using an include option. Also, the form of the
data input records may be constructed using parameters to which numerical values
may be assigned either in numeric or expression form (see also Chapter 4 of the User
Manual).
1
Chapter 2
Patch tests
The first problems considered are simple patch tests in which all the data is speci-
fied explicitly. Later examples will illustrate how FEAP can add missing data or use
repeating similar parts to generate a mesh.
The patch test is a simple test which should be performed when first using any finite
element program (see Chapter 11, Zienkiewicz and Taylor, 4th ed. Vol 1, for description
of patch test). The patch test both ensures that the theory for the finite element
formulation has been correctly implemented and that installation of the analysis system
is also correct.
2.1 Plain Patch Test.
For a plain strain or plane stress problem in linear elasticity one patch test is uniform
stress in the x direction. This condition may be imposed on a square region divided into
4-elements and loaded by a constant x-traction on the right side as shown in Figure 2.1
(node 6 is located at y = 5 units). For a square with side lengths 10 and a 10 unit per
length traction, the nodal forces on the boundary are 2.5 at the corners and 5.0 at the
midside. The left side of the mesh is restrained so that no x-direction displacements
occur and the lower left corner is also restrained in the y-direction. These restraints
prevent rigid body motions as well as ensure that a correct solution to the constant
stress problem may be obtained.
For a linear elastic problem with the isotropic properties: Young’s modulus 1000 and
Poisson ratio 0.25, the plane strain solution has displacements
u = 0.009375 x ; v = − 0.003125 y
2
CHAPTER 2. PATCH TESTS
3
Figure 2.1: Patch Test Mesh
and stresses
σxx = 1.0 ; σyy = 0.0 ; σxy = 0.0 ; σzz = 0.25
The input data for each problem to be solved by FEAP is prepared and placed in
a file on disk.
It is recommended that the filename for the input data have a first
character of I. The filename should not exceed 14 characters (12 in PC mode, of which
the last 4 may be used for an extender .xxx). When using the program on a PC it is
recommended that no extender be used for the main data input file. Feap uses this file
for generating other files which do contain extenders and, thus, an error could occur.
The filename for the input data of the patch test will be called Ipatch for the discussion
below. When FEAP is run the names for other files will be assigned by replacing the
first character (i.e., the I) by one indicating the type of file. For example, the file
containing the description of the mesh and solution results is called the output file
and for the above choice for the name of the input data file will be named Opatch.
The complete input data file for the patch test problem is shown in Table 2.1 and a
description for each part of this data follows.
Input records for FEAP are free format. Each data item is separated by a comma
and/or blank characters. If blank characters are used without commas, each data item
must be included. That is multiple blank fields are not considered to be a zero. Each
data item is restricted to 14 characters (15 including the blank or comma). Comments
may be appended to any data record after the character ! (e.g., see Table 2.1).
The input file Ipatch consists of several data sets. For the patch test mesh given in
Table 2.1 the data sets are given by the commands (shown without indentation in the
table):
FEAP * * 4-Element Patch Test
1234567891234
CHAPTER 2. PATCH TESTS
4
FEAP * * 4-Element Patch Test
9,4,1,2,2,4
MATErial,1
SOLId
PLANe STRAin
ELAStic ISOTropic 1000.0 0.25
! Blank termination record
COORdinates
1 0 0.0 0.0
2 0 4.0 0.0
3 0 10.0 0.0
4 0 0.0 4.5
5 0 5.5 5.5
6 0 10.0 5.0
7 0 0.0 10.0
8 0 4.2 10.0
9 0 10.0 10.0
ELEMents
1 1 1 1 2 5 4
2 1 1 2 3 6 5
3 1 1 4 5 8 7
4 1 1 5 6 9 8
! Blank termination record
BOUNdary restraints
! Blank termination record
1 0 1 1
4 0 1 0
7 0 1 0
FORCes
3 0 2.5 0.0
6 0 5.0 0.0
9 0 2.5 0.0
END
! Blank termination record
! Blank termination record
Table 2.1: Data for Patch Test
BATCh
FORM residual
TANGent
SOLVe
DISPlacement ALL
STREss ALL
END
STOP
Table 2.2: Data for Patch Test
CHAPTER 2. PATCH TESTS
5
MATErial
COORdinates
ELEMents
BOUNdary restraints
FORCes
END
BATCh
END
STOP
FEAP interprets only the first four characters of each command. These are shown
as upper case letters to indicate the minimum amount which may be used to identify
each command. Either upper case or lower case letters may be used to identify each
command. Thus, MATE or mate may be used to identify the material property
data sets. After a FEAP command and the control record, the commands before the
first END may be in any order and define the mesh for the problem. The commands
after the BATCH describe the solution algorithm for the problem and terminate
with the second END command. Finally, the STOP command informs FEAP that
no more data exists. Only one problem may appear in the file which contains the
problem initiation command FEAP. See example in Chapter 5 for a way to run multiple
problems.
The control record defines the size of finite element problem to be solved. The first field
defines the number of nodes (NUMNP), the next field is the number of elements (NUMEL),
followed by the number of material sets (NUMMAT), the spatial dimension for the mesh
(NDM), the number of degrees of freedom for each node (NDF), and the maximum number
of nodes on any element (NEN). The patch test has a mesh with 9 nodes, 4 elements,
and 1 material set. The problem is 2 dimensional, has 2 degrees of freedom at each
node, and each element has 4 nodes.
The first data set is identified by the MATErial command. This record also must
contain a material set number (ranging from 1 to the maximum number of sets needed).
The next records consist of commands which describe the type of element (see Chapter
6 of the User Manual for the types of elements included with FEAP) and the material
parameters associated with the set. The data shown in Table 2.1 indicates a SOLId
(continuum) element is used, the problem is plain strain and the material parameters
are associated with a linear elastic isotropic material. Except for the element type
record, other data may be in any order and terminates with a blank record (comments
are permitted on records and begin with the exclamation point, ”!”).
The values of the nodal coordinates for the patch are specified using the COORdinate
command. Each record defines a node number, a generation parameter, and the x and
y coordinate values. Nodes may be in any order, but are shown in increasing order in
Table 2.1. Input terminates with a blank record.
The manner in which nodes are connected to form individual finite elements and their
CHAPTER 2. PATCH TESTS
6
association to the type of element and material parameters is described by the data
following the ELEMent command. Each record defines the element number (which
must be in increasing numerical order), a generation parameter (to be described later),
the material data set associated with the element, and the list of nodes connected to
the element. For the elements shown in Figure 2.1 the node sequence must start with
a node at one vertex and then proceed with the nodes on vertices traversed counter
clockwise around the element. Input terminates with a blank record.
The degree of freedoms for each node may have known applied loads (nodal forces)
or may be restrained to satisfy specified nodal displacements.
In FEAP all degree
of freedoms are assumed to have specified loading applied unless a restraint code is
set. The BOUNdary restraint command may be used to assign restraints to degree
of freedoms which are to have specified displacements. Each record defines a node
number, a generation parameter, and the restraint codes for each degree of freedom
associated with the node. A non-zero value for the restraint code indicates that the
associated degree of freedom must satisfy a specified nodal displacement value (default
is zero); whereas, a zero restraint code indicates the associated degree of freedom has a
specified nodal force (also zero by default). Thus, for the data shown in Table 2.1, node
1 has both the u and v displacements restrained; nodes 4 and 7 have the u displacement
restrained and the y force specified. All other nodes have both the x and the y forces
specified since no restraints are specified. Input terminates with a blank record.
It is evident from the remaining data that no data is provided to impose non-zero
displacements (methods to input non-zero values are described in Section 5.7 of the
User Manual); however, data is given to impose non-zero forces using the FORCe
command. Each force record defines a node number, a generation parameter, and the
force values for each degree of freedom associated with the node. Thus, for the data
given in Table 2.1, nodes 3 and 9 have x force values of 2.5 units and node 6 has an x
force value of 5.0 units. Input terminates with a blank record.
The final command after the force values is the END command which terminates input
of the data describing the finite element mesh.
The set of commands shown in Table 2.2 define the solution algorithm to be used in solv-
ing the problem. The execution is initiated by the BATCh command (alternatively,
it is possible to perform an interactive execution where users enter each command as
needed, see next example and Chapter 11 of the User Manual). The FORM command
instructs FEAP to form the residual for the equilibrium equations written as:
R(u) = F − P(u)
where F is the vector of applied nodal forces, u is the vector of nodal displacements,
and for a static linear elastic problem P is defined as
in which K is the stiffness matrix. A solution to the problem is defined by requiring the
residual to be zero. In FEAP the solution may be computed using Newton’s method
P = K u