FEBio Users Manual
FEBio Users Manual
User’s Manual
Written and Edited by
Table of Contents
CHAPTER 1. Introduction .......................................................................................................... 2
1.1. Overview of FEBio .............................................................................................................. 2
1.2. About this document ............................................................................................................ 2
CHAPTER 2. Running FEBio ..................................................................................................... 4
2.1. The Command Line ............................................................................................................. 4
2.2. Advanced Options................................................................................................................ 5
CHAPTER 3. Free Format Input................................................................................................ 6
3.1. Free format overview........................................................................................................... 6
3.2. Control Section .................................................................................................................... 8
3.3. Material Section ................................................................................................................. 10
3.4. Geometry Section............................................................................................................... 22
3.5. Boundary Section............................................................................................................... 24
3.6. LoadData Section............................................................................................................... 27
3.7. Example Files..................................................................................................................... 28
CHAPTER 4. Fixed Format Input ............................................................................................ 29
4.1. Control Section .................................................................................................................. 30
4.2. Material section.................................................................................................................. 38
4.3. Nodal coordinates section .................................................................................................. 42
4.4. Element connectivity section ............................................................................................. 43
4.5. Rigid node and facet section .............................................................................................. 44
4.6. Contact section................................................................................................................... 45
4.7. Load curve section ............................................................................................................. 47
4.8. Concentrated nodal force section....................................................................................... 48
4.9. Pressure boundary section.................................................................................................. 49
4.10. Prescribed displacement section ...................................................................................... 50
4.11. Body force section ........................................................................................................... 51
CHAPTER 5. References ........................................................................................................... 52
2
CHAPTER 1. Introduction
1.1. Overview of FEBio
FEBio is a nonlinear finite element solver that is specifically designed for biomechanical
applications. It offers modeling scenarios, constitutive models and boundary conditions that are
relevant to numerous research areas in biomechanics. This section briefly describes the available
features of FEBio. All features can be used together seamlessly, giving the user a powerful tool
for solving 3D problems in computational biomechanics.
FEBio supports two analysis types, namely quasi-static and quasi-static-poroelastic. In a quasi-
static analysis the (quasi-) static response of the system is sought; inertial terms are ignored. In a
quasi-static-poroelastic analysis a coupled solid-fluid problem is solved. This analysis type is
useful for modeling tissues that have a mobile fluid phase and the accurate modeling of the fluid
behavior is important.
Several nonlinear constitutive models are available, allowing the user to model the often
complicated biological tissue behavior. Several isotropic material models are supported such as
Neo-Hookean, Mooney-Rivlin and Veronda-Westmann. All these models have a non-linear
stress-strain response. A linear elastic model is also available for small strain scenarios and
validation problems. In addition to the isotropic models there are several transversely isotropic
constitutive models available. These models exhibit anisotropic behavior in a single preferred
direction and are useful for representing biological tissues such as tendons, muscles and other
tissues that contain fibers. FEBio also contains a rigid body constitutive model. This model can
be used to represent materials or structures whose deformation is negligible compared to that of
other materials in the overall model.
Biological tissues can interact in very complicated ways. Therefore FEBio supports a wide range
of boundary conditions to model these interactions. These include prescribed displacements,
nodal forces, and pressure forces. Deformable models can be connected to rigid bodies. With this
feature, the user can model prescribed rotations and torques for rigid segments, thereby allowing
the coupling of rigid body mechanics with deformable continuum mechanics. FEBio provides
the ability to represent contact between rigid and/or deformable materials using sliding
interfaces. A sliding surface is defined between two surfaces that are allowed to separate and
slide across each other but are not allowed to penetrate. Finally, the user may specify a body
force to model the effects of, for instance, gravity or base acceleration.
FEBio does not have any mesh generation capabilities. Therefore the input files, which are
described in detail in this document, need to be generated by preprocessing software. The
preferred preprocessor for FEBio is called PreView. PreView can convert some other formats to
the FEBio input specification. For instance, NIKE3D files can be imported in PreView and can
be exported as a FEBio input file.
or add features to the code, and a Theory Manual, which describes the theory behind the FEBio
algorithms.
This document discusses how to use FEBio and describes the input file formats in detail. Chapter
2 describes how to run FEBio and explains the various command line options. It also discusses
the different files that are required and created by FEBio. FEBio supports two input formats.
Chapter 3 describes the free input format. This input format is an XML-based format that
organizes the data in a convenient hierarchical structure. In chapter 4 the details of the fixed
format input file are described. This format lists the problem data in a predefined sequential list.
The latter format is almost identical to the input specification of NIKE3D. Therefore FEBio can
run NIKE3D input files, however with some limitations as discussed in chapter 4.
Although this document describes some of the theoretical aspects of FEBio, a complete
theoretical development can be found in the FEBio Theory Manual. Developers who are
interested in modifying or extending the FEBio code will find the FEBio Developer’s Manual
very useful.
4
Where -o1, -o2 are options and name1, name2, … are filenames. The different options (of
which most are optional) are given by the following list.
The -i option is used to specify the name of the input file. Note that the format of the input file
is determined by the file extension. A “.n” extension or no extension indicates to FEBio that the
input file is formatted in the fixed format, while the extension “.feb” or “.xml” implies that the
input file is formatted in the free format.
The -r option allows you to restart a previously started analysis. The filename that must follow
this option is the name of a binary “dump” file that was created by a previous call to FEBio. The
-i and -r options are mutually exclusive; only one of them may appear on the command line.
The –g[n] option runs FEBio in debug mode. The n must be 0, 1 or 2. See the next section for
more information on running FEBio in debug mode.
After running FEBio, two or three files are created: the log file, the plot file and optionally the
dump file. The log file is a text file that contains the same output that was written to the screen.
The plot file contains the results of the analysis. Since this file is binary, the results must be
analyzed using postprocessing software such as PostView. In some cases the user may wish to
request the creation of a dump file. This file contains temporary results of the run. In case the run
terminates unexpectedly, this file can be used to restart the analysis from the last converged time
5
step. The names of these files can be specified with the command options –p (plot file), -d
(dump file), -o (log file). If one or more of the file names following these flags are omitted, then
the omitted file name(s) will be given a default name. If the input file was in the fixed format, the
following default names are used: f3plot for the plot file, f3log.txt for the log file and f3dmp for
the dump file. If the input file was in the free format the default file names are derived from the
input file name. For example, if the input file name is input.feb the logfile will have the name
input.log, the plot file is called input.plt and the dump file is called input.dmp.
Note that it may take a while before the command prompt is displayed after FEBio detects the
ctrl+z interruption.
Debugging a run
As stated in section 2.1 you can run FEBio in debug-mode by specifying the –g[n] option on
the command line. Three debug levels are available.
• -g0: debug mode is off. No information is saved to the log file and only the converged
states are written to the plot file.
• -g1: write quasi-Newton convergence information to screen and file and save converged
states to file. (default mode)
• -g2: same as –g1 but also save plot state for every quasi-Newton iteration.
The last option is useful for debugging an input file that passes the syntax check but does not run
to completion (e.g., “error termination”). When no option is entered on the command line, the
default option is –g1.
6
Before we start with the format specification it is useful to review the syntax of XML and to
define some terminology. An XML file is composed of a hierarchical list of elements. The first
element is called the root element. Elements can have multiple child elements. All elements are
enclosed by two tags: a tag defining the element and an end tag. A simple example of an XML
file might look like this.
<root>
<child>
<subchild> ... </subchild>
</child>
</root>
The value of an element is enclosed between the name and the end tag.
XML elements can also have attributes in name/value pairs. The attribute value must always be
quoted.
<element attr=”value”>...</element>
The first line in the document – the XML declaration – defines the XML version and the
character encoding used in the document. An example can be,
• Geometry: Defines the geometry of the problem, such as nodal coordinates and element
connectivity.
• Boundary: Defines the boundary conditions that are applied on the geometry.
• LoadData: Defines the load curve data.
Mandatory Parameters
The following parameters must be specified in every input file.
Parameter Description
<time_steps> Total number of time steps that will be taken.
<step_size> The initial time step size. (= dt)
Optional Parameters
The following parameters are optional. If not specified they are assigned the default values,
which are found in the last column.
If the time_stepper parameter is defined it will enable the auto time-stepper, which will adjust the
time step size based on convergence information. The following sub-elements may also be
defined, although all are optional. Note that these are sub-elements of the time_stepper element
and not of the Control element.
The dtmin and dtmax values are used to constrain the range of possible time step values. The
opt_iter defines the optimal number of quasi-Newton iterations. If the actual number of iterations
is less than or equal to this value the time step size is increased, otherwise it is decreased. The
9
max_retries parameter determines the maximum number of times a timestep may be retried
before FEBio error terminates.
10
The material parameters that have to be entered depend on the material type. The following
material types are available.
The following sections describe the material parameters for each of the available constitutive
models, along with a short description of each material. A more detailed theoretical description
of the constitutive models can be found in the FEBio Theory Manual.
11
Linear Elastic
The material type for isotropic linear elasticity is “linear elastic”. The following material
parameters must be defined:
This is the classical material model used in linear elasticity theory. The Cauchy stress is given
by,
σ ij = λ ( tr ε ) δ ij + 2με ij .
2
Here, λ and μ are the Lamé parameters and are related to the more familiar Young’s modulus E
and Poisson’s ratio ν as follows,
νE
λ= ,
(1 + ν )(1 − 2ν )
E
μ= .
2 (1 + ν )
This material model is only valid for small strains and small rotations. It is often convenient to
express the material properties with the bulk modulus K and shear modulus G. To convert to
Young’s modulus and Poisson’s ratio you can use the following formulas.
9 KG
E=
3K + G
3K − 2G
ν=
6 K + 2G
Example:
St. Venant-Kirchhoff
The material type for a St. Venant-Kirchhoff material is St. Venant-Kirchhoff [1]. The following
material parameters must be defined.
This is an alternative to linear elasticity. It can only be used for small strains but allows large
rotations. Like most of the models used in FEBio it can also be derived from a hyperelastic
strain-energy function, namely
1
W = λ ( tr E ) + μ E : E .
2
2
Here, λ and μ are the Lamé parameters and are related to the more familiar Young’s modulus E
and Poisson’s ratio ν as follows,
νE
λ= ,
(1 + ν )(1 − 2ν )
E
μ= .
2 (1 + ν )
Example:
<material id=”1” type=”St. Venant-Kirchhoff”>
<E>1000.0</E>
<v>0.45</v>
</material>
13
Neo-Hookean
The material type for a Neo-Hookean material is neo-Hookean. The following parameters must
be defined.
This model describes a compressible Neo-Hookean material [1]. It has a non-linear stress-strain
behavior, but reduces to the classical linear elasticity model for small strains and small rotations.
It is derived from the following hyperelastic strain-energy function:
μ λ
W= ( I1 − 3) − μ ln J + ( ln J )
2
2 2
Here, I1 and I 2 are the first and second invariants of the right Cauchy-Green deformation tensor
C and J is the determinant of the deformation gradient tensor.
This material model uses a standard displacement-based element formulation, so care must be
taken when modeling materials with nearly-incompressible material behavior to avoid element
locking. For the latter case it is recommended to use the Mooney-Rivlin material.
Example:
Mooney-Rivlin
The material type for incompressible Mooney-Rivlin materials is Mooney-Rivlin. The following
material parameters must be defined:
This material model is a hyperelastic Mooney-Rivlin type with uncoupled deviatoric and
volumetric behavior. The strain-energy function is given by,
( ) ( ) 1
W = C1 I1 − 3 + C2 I2 − 3 + K ( ln J ) .
2
2
C1 and C2 are the Mooney-Rivlin material coefficients. The variables I1 and I2 are the first and
second invariants of the deviatoric right Cauchy-Green deformation tensor C . The coefficient K
is a bulk modulus-like penalty parameter and J is the determinant of the deformation gradient
tensor. When C2 = 0 , this model reduces to an uncoupled version of the neo-Hookean
constitutive model.
This material model uses a three-field element formulation, interpolating displacements as linear
field variables and pressure and volume ratio as piecewise constant on each element [2].
This material model is useful for modeling certain types of isotropic biological tissues. For
example, the isotropic collagen matrix can be described quit well with this material model.
Example:
<material id=”2” type=”Mooney-Rivlin”>
<c1>1000.0</c1>
<c2>2000.0</c2>
<k>1000</k>
</material>
15
Veronda-Westmann
The material type for incompressible Veronda-Westmann materials is Veronda-Westmann. The
following material parameters must be defined:
This model is similar to the Mooney-Rivlin model in that it also uses an uncoupled deviatoric
dilatational strain energy:
(C ( I − 3))
⎢⎣ (
⎥⎦
CC
2
)
W = C1 ⎡e 2 1 − 1⎤ − 1 2 I2 − 3 + U ( J )
The dilatational term is identical to the on used in the Mooney-Rivlin model. This model can be
used to describe certain types of biological materials that display exponential stiffening with
increasing strain. It has been used to describe the response of skin tissue [3].
Example:
<material id=”2” type=”Veronda-Westmann”>
<c1>1000.0</c1>
<c2>2000.0</c2>
<k>1000</k>
</material>
16
This constitutive model can be used to represent a material that has a single preferred fiber
direction and was developed for application to biological soft tissues [4-6]. It can be used to
model tissues such as tendons, ligaments and muscle. The elastic response of the tissue is
assumed to arise from the resistance of the fiber family and an isotropic matrix. It is assumed that
the strain energy function can be written as follows:
( ) ( ) K
W = F1 I1 , I2 + F2 λ + ⎡⎣ln ( J ) ⎤⎦ .
2
2
Here I1 and I 2 are the first and second invariants of the deviatoric version of the right Cauchy
Green deformation tensor C and λ is the deviatoric part of the stretch along the fiber direction
( λ 2 = a0 ⋅ C ⋅ a0 , where a0 is the initial fiber direction), and J = det ( F ) is the Jacobian of the
deformation (volume ratio). The function F1 represents the material response of the isotropic
ground substance matrix and is the same as the Mooney-Rivlin form specified above, while
F2 represents the contribution from the fiber family. The strain energy of the fiber family is as
follows:
∂F
λ 2 = 0, λ ≤ 1
∂λ
∂F
( )
λ 2 = C3 e 4 ( ) − 1 , 1 < λ < λm
∂λ
C λ −1
∂F
λ 2 = C5 + C6λ, λ ≥ λm
∂λ
Here, C1 and C2 are the Mooney-Rivlin material coefficients, lam_max ( λm ) is the stretch at
which the fibers are straightened, C3 scales the exponential stresses, C4 is the rate of uncrimping
of the fibers, and C5 is the modulus of the straightened fibers. C6 is determined from the
requirement that the stress is continuous at λm .
This material model uses a three-field element formulation, interpolating displacements as linear
field variables and pressure and volume ratio as piecewise constant on each element [2].
17
The element fiber direction is specified using the fiber parameter. This parameter has an attribute
named type that can take the following values.
• local: material axis determined by local element nodes. The value is interpreted as the
local node numbers of the nodes that define the direction of the axis. The following
example defines a local fiber axis by local element nodes 1 and 2.
<fiber type=”local”>1,2</fiber>
4 3
1 2
Figure 3-1. local fiber direction option .
• spherical: material axis is determined by a point in space and the global location of each
element integration point. The value is the location of the point. The following example
defines a spherical fiber distribution centered at [0,0,1].
<fiber type=”spherical”>0,0,1</fiber>
4 3
a
x
a
1 2
Figure 3-2. spherical fiber direction option.
• vector: material axis is specified by vector. The value is the direction of the material axis.
The following defines all element fiber directions in the direction of the vector [1,0,0].
<fiber type=”vector”>1,0,0</fiber>
18
4 3
a
r
1 2
Figure 3-3. vector fiber direction option.
If the type attribute is omitted the fiber distribution follows the local element nodes 1 and 2. So,
this would be the same as adding a fiber parameter such as the example above under local.
Active stress along the fiber direction can be simulated using an active contraction model. To use
this feature you need to define the active_contraction parameter. This parameter takes an
optional attribute, lc, which defines the loadcurve. There are also several options.
Example:
This example defines a transversely isotropic material with a Mooney-Rivlin basis. It defines a
homogeneous fiber direction and uses the active fiber contraction feature.
This material differs from the Transversely Isotropic Mooney-Rivlin model in that it uses the
Veronda-Westmann model for the isotropic matrix. The interpretation of the material parameters,
except C1 and C2 is identical to this material model.
The fiber distribution option is the same as the Mooney-Rivlin transversely isotropic model. An
active contraction model can also be defined for this material. See the transversely isotropic
mooney-rivlin model for more details.
Example:
This example defines a transversely isotropic material model with a Veronda-Westmann basis.
The fiber direction is implicitly implied as local.
Poroelasticity
The material type for poroelastic materials is poroelastic. The following material parameters
must be defined:
<perm> Permeability
<solid_id> Material ID of the solid phase
This material model uses the biphasic theory for describing the time-dependent material behavior
of materials that consist of both a solid and fluid phase [7, 8]. We refer to the FEBio Theory
Manual for a more indebt description of the biphasic theory.
This material model uses a “displacement-pressure”, or “u-p” finite element formulation [9].
Solid nodal displacements and fluid nodal pressures are interpolated using trilinear shape
functions. Details of this finite element formulation can be found in [10]. At this point the
boundary conditions that apply to the pressure degree of freedom are limited to prescribed
pressures. See section 3.5 for more details.
The parameter perm defines the permeability of the solid. The solid_id parameter is the material
number that is used to describe the solid phase. In other words, to use this material model you
need to define at least two materials: a material for the solid phase and a poroelastic material.
The solid phase may be described by any of the available material models except rigid body and
poroelastic.
Example:
This example defines a poroelastic material that uses a neo-Hookean model for the solid phase.
Rigid Body
A rigid body can be defined using the rigid material model. The material type for a rigid body is
“rigid body”. The following parameters are defined:
If the center_of_mass parameter is omitted then FEBio will calculate the center of mass
automatically. In this case you must specify a density. If the center_of_mass is defined the
density parameter may be omitted. Omitting both will generate an error message.
The translation and rotation boundary codes are used to specify the motion of the rigid body. The
full syntax for e.g. the x-translation is as follows.
Here, the type can be either free, fixed or prescribed. If the type is prescribed then the lc attribute
can be used to specify a load curve. The value is then interpreted as a scale factor. For all other
types the value is ignored. Omitting this translation code is the same as specifying a fixed code.
The syntax and interpretation is the same for the other translation and rotation codes.
Example:
<material id=”5” type=”rigid body”>
<center_of_mass>1.0,2.0,3.0</center_of_mass>
<trans_x type=”prescribed” lc=”2”>2.0</trans_x>
</material>
In this example the center of mass is located at (1,2,3) and the x-displacement of the rigid body is
prescribed by a load curve. The value of the load curve is scaled by 2. The other translational and
rotational degrees of freedom are fixed.
22
Nodes Section
The nodes section contains all the nodal coordinates. Repeat the following XML-element for
each node.
<node id=”n”>x,y,z</node>
The id attribute is a unique number that identifies the node. This id is used as a reference in the
element connectivity section. The ids do not have to be in order but the lowest id must be 1 and
numbers can not be skipped. (So if there is a node 4 and a node 6, there must also be a node 5
somewhere).
Elements Section
The element section contains all the element connectivity data. Different element types have
different tags. The following solid elements are available in FEBio.
Elements have two attributes. First, there is a unique id that can be used to reference the element.
The same limitations to this id apply as to the nodal ids. And second a material number. This
number is the material id that was defined in the material section.
Surface Elements
In many cases the surface (or part of it) of the geometry is required. For example, pressure forces
are applied to the surface. For this reason surface elements have to be defined. Two surface
elements are available.
<quad4 id=”n”>n1,n2,n3,n4</quad4>
<tri3 id=”n”>n1,n2,n3</tri3>
Surface elements can not overlap element boundaries. That is, the surface element must belong
to a specific element. Surface elements do not contribute to the total number of elements in the
mesh. They are also not to be confused with shell elements; currently only rigid shell elements
are supported in FEBio.
24
<prescribe>
<node id=”n” bc=”x” [lc=”l”]>1.0</node>
...
</prescribe>
The id attribute indicates to which node this prescribed dof is applied. The bc attribute gives the
degree of freedom. The following values are allowed.
An optional loadcurve can be given as well with the lc attribute. If no loadcurve is present the
value will be automatically ramped from 0 to the value specified in the xml file.
Degrees of freedom that are fixed (in other words are always zero) can be defined by the fix
element.
<fix>
<node id=”n” bc=”x”></node>
...
</fix>
In this case the value of the element is ignored. Of course, the prescribe element with a value of
zero for the node tags can also be used to constrain a certain nodal degree of freedom. The
advantage of the fix element is that the equation corresponding to the constrained degree of
freedom is removed from the linear system of equations. This reduces the run time of the FE
analysis.
Nodal forces
Nodal forces are applied by the force element. These forces always point in the same direction
and do not deform with the geometry.
<force>
<node id=”n” bc=”x” [lc=”l”]>1.0</node>
...
</force>
25
The id attribute indicates to which node this prescribed dof is applied. The bc attribute gives the
degree of freedom. The following values are allowed.
An optional load curve can be given as well with the lc attribute. If no loadcurve is present the
value will be automatically ramped from 0 to the value specified in the xml file.
Pressure forces
Pressure forces are applied to the surface of the geometry and are defined by the pressure
element.
<pressure>
<quad4 id=”n” [lc=”l” scale=”1.0”]>n1,n2,n3,n4</quad4>
...
</pressure>
The sub-elements define the geometry of the pressure boundary surface. Each element must be
either quad4 for a four-node quadrilateral or tri3 for a 3-noded triangular element. The id n
references the surface element. These pressure forces are also known as follower forces; they
change direction as the body is deformed and, in this case, are always oriented along the local
surface normal. The sign convention is so that a positive pressure will act opposite to the normal,
so it will compress the material. The optional parameter lc defines a loadcurve for the pressure
evolution and scale defines a scale factor. The default scale factor is 1.0 and if lc is not defined
the scale factor is automatically ramped from 0 to the value specified here.
Contact Interfaces
Contact boundary conditions are defined with the contact element. The type attribute specifies
what type of contact interface you wish to define.
Sliding Interfaces
This type of contact interface demands the declaration of a slave and master surface, in addition
to some control parameters. The control parameters are given by.
The slave and master surfaces are entered by specifying the surface element. The type attribute is
used to specify whether it is a slave or master surface. The surface tag is followed by the
definition of the surface elements.
<surface type=”master”>
<quad4 id=”n”>n1,n2,n3,n4</quad4>
...
</surface>
Instead of quadrilateral surface elements (quad4) you may also use triangular elements (tri3).
Rigid Interfaces
A rigid interface defines a list of nodes that are attached to a rigid body. These nodes will move
with the rigid body.
<contact type=”rigid”>
<node id=”n1” rb=”1”></node>
...
<node id=”n2” rb=”1”></node>
</contact>
The id attribute identifies the node and rb is the material id of the rigid body. The value of the
node is ignored.
Rigid Joints
A rigid joint connects two rigid bodies at a point in space.
The tolerance element defines the augmentation tolerance. That is, when the relative change in
the constraint forces (the Lagrange multipliers) are less than this value. The body1 and body2
elements are the material numbers of the two rigid bodies. The joint element defines the position
of the joint in world coordinates at the start of the analysis. Note that this point does not have to
be inside or on the surface of either of the two bodies.
27
<loadcurve id=”1”>
<loadpoint> 0, 0 </loadpoint>
...
<loadpoint> 1, 1 </loadpoint>
</loadcurve>
The id attribute is the loadcurve number and is used in other sections of the input file as a means
to reference this curve.
FEBio also defines a “zero” loadcurve. This loadcurve is used for all time-dependent parameters
that have no loadcurve specified (that is, the lc attribute is omitted). This loadcurve will have the
effect that parameters are ramped up linearly from zero to their specified value. Imagine for
instance, a rigid body defined as follows.
The x degree of freedom is prescribed but no loadcurve is specified. FEBio will automatically
use the “zero” loadcurve and ramp up the value from 0 at the start time to 2 at the end time.
28
The fixed format for the input file is composed of a series of sections:
1. Control section
2. Material section
3. Nodal coordinates section
4. Element connectivity section
5. Rigid node and facet section
6. Contact section
7. Load curve section
8. Concentrated nodal force section
9. Pressure boundary section
10. Prescribed displacement section
11. Body force section
Of all these sections, only the first four sections will appear in every input file. The other
sections are optional and only need to be specified if the corresponding entry in the control
section is non-zero. Note that all sections must appear in the order they are described in this
manual. The rest of this chapter describes the sections in detail.
Note that any line that contains an asterisk (“*”) in the first column is interpreted as a comment
and is ignored by FEBio.
30
Control Line 1
Colums _____________________________________________ Format
1 – 72 heading to appear on output. (1) A256
Comments.
1. This line contains the problem title. In NIKE3D this line is limited to 72 characters, but in
FEBio this line can be up to 256 characters. Note however that in FEBio (as well as in
NIKE3D) only the first forty characters are saved to the plot file, a limitation that is
imposed by the TAURUS file format used by NIKE3D and other LLNL codes including
DYNA3D.
31
Control Line 2
Colums _____________________________________________ Format
1-2 Input format (1) A2
Comments
1. The input format must be “FL”, which corresponds to NIKE3D version 3.0 and later.
2. This number includes all hexahedral (“brick”), pentahedral (“wedge”) and tetrahedral
elements.
3. Currently FEBio only supports rigid shells. These are shells that are assigned to a rigid
material. FEBio also ignores shell thicknesses.
32
Control Line 3
Colums _____________________________________________ Format
1-10 Number of time or load steps (ntime) I10
Comments
1. The automatic time stepping algorithm will adjust the time step size based on
convergence information returned by the quasi-Newton solver. The time step size is
bracketed by the minimum and maximum values that are input on this line. The algorithm
also ensures that FEBio attempts to obtain a converged state at the desired termination
time, determined by (ntime × dt).
2. This is the maximum number of attempts that the auto time stepper retries a failed quasi-
Newton iteration. After each attempt the auto time stepper decreases the time step and
restarts the iteration. When the minimum time step size is reached before the maximum
number of iterations, the program ends in error termination.
3. The optimal number of iterations is the expected average number of iterations for each
time step. By comparing this number with the actual number of iterations, the auto time
stepper decides whether to increase or decrease the time step size.
33
Control Line 4
Colums _____________________________________________ Format
1-5 Number of load curves (1) I5
Comments
1. A loadcurve is simply a list of data pairs that represents a curve of time versus load. The
load can be interpreted in different ways. For example, it might represent a rigid body
displacement, a concentrated nodal force, or any other variable that may depend on time.
2. This number is ignored in the current version of FEBio.
34
Control Line 5
Colums _____________________________________________ Format
1-35 (not used)
Comments
1. The dump file allows the user to restart an unfinished problem at a later time. When the
flag is set to 1, FEBio will create a dump file (called f3dump) that can be used to restart
the analysis from the last converged time step.
35
Control Line 6
Colums _____________________________________________ Format
1-30 (not used)
36-40 Maximum number of stiffness matrix reformations per time step (2) I5
EQ.0: default set to 15
Comments
1. FEBio uses the BFGS method [12] to solve the nonlinear finite element equations. In this
method the stiffness matrix does not get recalculated during every iteration (such as in the
Full-Newton method). In stead it calculates an approximation of the (inverse of the)
stiffness matrix, which is called a stiffness update. The second parameter on this control
line sets the maximum number of such updates (one during every iteration) before the
exact stiffness matrix is reformed.
2. This parameter sets the maximum number of stiffness reformations per time step. If this
number is reached the time step fails and, if the auto-time stepper is activated, a smaller
time step will be tried.
36
Control Line 7
Colums _____________________________________________ Format
1-5 analysis type I5
EQ. 0: quasi-static analysis
37
Control Line 8
This line is not used in FEBio.
Control Line 9
This line is not used in FEBio.
Control Line 10
This line is not used in FEBio.
38
Line 1
Colums _____________________________________________ Format
1-5 Material identification number I5
Line 2
Colums _____________________________________________ Format
1-72 Material title
39
The local fiber direction is specified using the AOPT parameter. For AOPT=0 the material axis
is defined by the local element node numbering specified on line 7. For AOPT=1 the material
axis is defined a fixed point in space and the global position of the element Gauss points. The
normalized vector connecting these two points defines the axis. For AOPT=2 the material axis is
defined by a global vector specified on line 7.
41
Line 4 Blank
Nodal constraints and displacement boundary conditions on rigid body nodes are ignored.
Instead, constraints are applied at the rigid body center of mass. The coordinates of the center of
mass are either computed by FEBio or may be input by the user. The boundary condition codes
are interpreted as:
74-78 (ignored) I5
43
… …
Nodes 1 through 8 define the corner nodes of the 8-node hexahedral or “brick” element. In the
case of a pentahedral or “wedge” element the sixth node is repeated for entry 7 and 8. In the case
of a tetrahedral element, the fourth node is repeated four times.
• hex : n1 , n2 , n3 , n4 , n5 , n6 , n7 , n8
• penta : n1 , n2 , n3 , n4 , n5 , n6 , n6 , n6
• tet : n1 , n2 , n3 , n4 , n4 , n4 , n4 , n4
44
Rigid nodes and facets move as part of the indicated rigid body. The input is a very general list
of node points, four (or less) per line. The nodes need not be unique and need not form a facet of
an element, although this method of input is often convenient. This feature gives a convenient
way to attach a portion of a deformable mesh to a rigid body without merging node points or
using a tied interface. Note that the nodes in this section must be part of a deformable mesh; this
section cannot be used to define new geometry.
45
Control line
Colums _____________________________________________ Format
1-8 Number of slave facets I8
Comments
1. The penalty factor must be entered as a negative number to be consistent with Nike3D,
since in Nike3D a positive number is interpreted as a scale factor to an automatically
calculated penalty factor. If a negative number is entered, the absolute value is used as
the actual penalty factor. In FEBio the absolute value of this number is always used as the
actual penalty factor.
If there are multiple sliding interfaces, the order of the cards is as follows.
Define the number of load curves on Control line 4. Repeat the following lines for every load
curve:
Line 1
Colums _____________________________________________ Format
1-5 Load curve number I5
6-10 Number of points in load curve (pts) I5
Line 2,…,pts
Colums _____________________________________________ Format
1-10 Time E10.0
The value of a time point in between two load points is calculated using linear interpolation. The
value of a time point outside the domain of the load curve is clamped to the nearest data point.
48
Concentrated nodal loads are defined in global coordinates. In contrast to “follower forces”,
concentrated nodal loads act in a fixed direction as over the course of the analysis. Hence, loads
that were defined normal to a surface in the undeformed configuration may not remain normal if
the surface undergoes large deformation. Pressure loads may be used to maintain normality
during large deformation.
49
Pressure forces are “follower forces”. They always remain normal to the surface even under
large deformations. The magnitude of the pressure is determined by the load curve value and the
scale factor. When a scale factor is zero, it is not replaced by the default value of 1.0. Only when
all four scale factors are zero, then they are replaced with the default values.
50
Line 1
Colums _____________________________________________ Format
1-5 Load curve number I5
Line 2
Colums _____________________________________________ Format
1-5 Load curve number I5
Line 3
Colums _____________________________________________ Format
1-5 Load curve number I5
CHAPTER 5. References
[1] Bonet, J., and Wood, R. D., 1997, Nonlinear continuum mechanics for finite element
analysis, Cambridge University Press.
[2] Simo, J. C., and Taylor, R. L., 1991, "Quasi-incompressible finite elasticity in principal
stretches: Continuum basis and numerical algorithms," Computer Methods in Applied Mechanics
and Engineering, 85, pp. 273-310.
[3] Veronda, D. R., and Westmann, R. A., 1970, "Mechanical Characterization of Skin -
Finite Deformations," J. Biomechanics, Vol. 3, pp. 111-124.
[4] Puso, M. A., and Weiss, J. A., 1998, "Finite element implementation of anisotropic quasi-
linear viscoelasticity using a discrete spectrum approximation," J Biomech Eng, 120(1), pp. 62-
70.
[5] Quapp, K. M., and Weiss, J. A., 1998, "Material characterization of human medial
collateral ligament," J Biomech Eng, 120(6), pp. 757-763.
[6] Weiss, J. A., Maker, B. N., and Govindjee, S., 1996, "Finite element implementation of
incompressible, transversely isotropic hyperelasticity," Computer Methods in Applications of
Mechanics and Engineering, 135, pp. 107-128.
[7] Mow, V. C., Kuei, S. C., Lai, W. M., and Armstrong, C. G., 1980, "Biphasic creep and
stress relaxation of articular cartilage in compression: Theory and experiments," J Biomech Eng,
102(1), pp. 73-84.
[8] Mow, V. C., Kwan, M. K., Lai, W. M., and Holmes, M. H., 1985, "A finite deformation
theory for nonlinearly permeable soft hydrated biological tissues," Frontiers in Biomechanics, G.
a. W. Schmid-Schonbein, SL-Y and Zweifach, BW, ed., pp. 153-179.
[9] Wayne, J. S., Woo, S. L., and Kwan, M. K., 1991, "Application of the u-p finite element
method to the study of articular cartilage," J Biomech Eng, 113(4), pp. 397-403.
[10] Ateshian, G. A., Ellis, B. J., and Weiss, J. A., 2007, "Equivalence between short-time
biphasic and incompressible elastic material response," J Biomech Eng, In press.
[11] Maker, B. N., 1995, "NIKE3D: A nonlinear, implicit, three-dimensional finite element
code for solid and structural mechanics," Lawrence Livermore Lab Tech Rept, UCRL-MA-
105268.
[12] Matthies, H., and Strang, G., 1979, "The solution of nonlinear finite element equations,"
Intl J Num Meth Eng, 14, pp. 1613-1626.