Skip to content

7.1 Overview

FEBio requires a configuration file to run. The purpose of this file is to store platform-specific settings such as the default linear solver. See Section The Configuration File for more information on how to use this file. This section details the format of this file.

The configuration file uses an xml format. The root element must be febio_config. The required attribute_ version _specifies the version number of the format. Currently this value must be set to “3.0”. The following elements are defined.

Parameter Description
default_linear_solver Set the default linear solver for the platform (1)
import Load a plugin file (2)
set define an alias (3)
if_debug Process child tags only for debug versions of FEBio (4)
if_release Process child tags only for release versions of FEBio (4)
output_negative_jacobians Output a detailed list of inverted elements when negative jacobians are encountered (5)
print_model_params Print the values of load controlled parameters at the start of each time step (6)
show_warnings_and_errors Print warnings and errors to the screen (7)

Comments:

  1. FEBio supports several linear solvers, such as Pardiso and Skyline. Not all solvers are available for all platforms. Only the Skyline solver is available for all platforms. As of version 1.2, the Pardiso solver is available on all platforms for which FEBio is distributed. See section Configuring Linear Solvers on how to configure the linear solvers.

  2. As of FEBio 2.0 the user can create and use plugins designed for FEBio. These plugins extend the standard capabilities without the need to recompile the FEBio code. See Chapter 8 for more information on using plugins in FEBio.

  3. As of FEBio 2.5 the configuration file supports aliases which can be used to define plugin paths. The set tag defines an alias. The name of the alias is specified via the name attribute. Aliases are accessed using the $(name) syntax. See below for an example.

  4. The if_debug/if_release tags allow users to customize settings based on whether a debug or release version of FEBio is processing the configuration file. (Note that the debug version refers to how FEBio was compiled. It does not refer to the -g command line option.) The versions of FEBio distributed through the website are release versions. A debug version of FEBio can only be obtained by building FEBio with the _DEBUG preprocessor command.

  5. When elements become inverted, FEBio prints an error message that “negative jacobians” are encountered. If you wish to see a detailed list of the inverted elements, you can set the output_negative_jacobians flag to 1.

  6. The print_model_params parameter can be used to print values of load-controlled parameters to the screen and log file. If disabled, the values are not printed to the screen or log file. For models that use many load-controlled parameters this can be useful to reduce the amount of output generated by FEBio. By default, this parameter is on.

  7. The _show_warnings_and_errors _parameter can be used to decide whether or not to print warning and error messages. The default value is on.

An example configuration file that sets the default linear solver to pardiso, defines an alias, and loads a plugin.

<?xml version="1.0" encoding="ISO-8859-1"?>
<febio_config version="3.0">
  <default_linear_solver type="pardiso"/>
  <set name="PluginsDir">C:\backslashpath\backslashto\backslashplugins</set>
  <import>$(PluginsDir)\backslashmyplugin.dll</import>
</febio_config>