A multi-step analysis
This tutorial introduces the user to multi-step analyses. In FEBio, an analysis can be split into several steps, which is convenient for implementing more complicated scenarios. A multi-step analysis allows you to turn on, turn off, or change certain model components and model settings, such as boundary conditions, loads, contact, etc.
A typical example would be to drive a contact problem first via a displacement-based step, and then, replace the prescribed displacement with a force load in a second step. This approach can be useful to circumvent some types of contact problems that may be ill-conditioned in the initial phase.
Another example is to run a dynamic analysis, after using a quasi-static analysis to load the model. This is what we will do in this tutorial. We will create a beam bending problem where the beam is loaded statically. Then the load is released, and the dynamic response of the beam is explored.
If you are new to FEBio Studio, it might be useful to do the Intro to FEBio Studio tutorials first to familiarize yourself with basic concepts and how to navigate the UI.
To start the tutorial, first open FEBio Studio and start a new model. Select the Structural Mechanics option from the New Model dialog box. Then, follow the steps below.
The completed model can be downloaded here.
Step 1: Creating the geometry and mesh
The geometry consists of a single beam. Activate the Create tab on the Build panel and click on the Box button. Create a box of width 10, height 1 and depth 0.2.

With the beam selected, activate the Mesh tab on the Build panel. Enter the following meshing parameters.
- Nz = 20
- Ny = 5
- Nz = 3
- X-bias = 1.2
Leave the other parameters at their default values. The X-bias parameter allows you to refine the mesh at one end. Since we anticipate that the beam stresses will be higher at the fixed end, we want to create a more accurate solution by increasing the mesh density at this end. Click Apply to create the new mesh and to complete this step.
Step 2: Defining the analysis steps
Before we apply boundary conditions, we need to take a closer look at the Model Viewer and in particular at the Steps item. You’ll see that by default a single step, named the Initial step is already provided. The initial step serves a special purpose since it collects all the constraints, such as boundary conditions, loads, contact interfaces, etc. that persist throughout the entire simulation. In other words, all the constraints that are defined for this step will be applied during the initialization phase of the analysis and will remain active throughout all the subsequent steps. This is different from constraints defined in an analysis step, since those constraints will only remain active during that particular step.
In our model, we’ll create two steps. The first step will apply a load to the top of the beam and the static solution is obtained. In the second step, the load will no longer be active, and a dynamic analysis of the beam will be performed.
Since we will apply a load only during the static phase, we first create a step to model this phase. Add an analysis step using the menu Physics/Add Analysis Step or by right-clicking on the Steps item in the Model Viewer. Notice that the analysis option is set by default to “static”. In the Time Stepping properties set the time steps to 5 and the time step size to 0.2. (Thus, time step will range in simulation time from time 0 to time 1.) Remove the auto-time stepper option. (Click the drown-down list next to the auto-time stepper option and select <remove>.)
Next, create another analysis step in the same way. This step will be a dynamic analysis so change the analysis type in the Analysis settings to dynamic. In the time settings set the time steps to 40 and the time step size to 1.0. Since the last step ended at (simulation) time 1, this second step will begin at time 1 and end at time 41 ( = 1 + 40 x 1.0). It is important to take note of the start and end times of individual steps since this is important for defining the load controllers for the loads later.
To summarize, we now have three steps defined: the initial step where we will place all persistent boundary conditions that remain active during the entire analysis (e.g. the fixed end of the beam), a first quasi-static analysis step during which we will apply the load, and finally a dynamic analysis step that simulates the free vibration response of the beam.
Step 3: Setting up the boundary conditions

With all the steps defined, we can now go ahead with creating the boundary conditions. The first boundary condition will be a fixed constraint on the left end of the beam. Click the Select Face button on the toolbar and select the left face of the beam, i.e. the plane parallel to the yz-coordinate plane. Select Physics/Add Nodal BC. Notice that at the top of dialog box that appears there is a drop-down list that allows the user to select the step to which this boundary condition needs to be applied. Since we will apply a fixed constraint that must remain active during all steps, select the Initial step from the list. Note that this is the default so you should not have to explicitly select it. Now select the zero displacement from the list and click OK. In the properties list, select the x, y, and z displacement degrees of freedom.
Notice the changes in the Model Editor. The boundary condition we just applied has shown up in the Boundary Conditions item as well as in the Initial step item. The Boundary Conditions item collects all the boundary conditions that are applied to the model, whereas the Initial step will only list the boundary conditions that were created in this step.
Next, we will apply the load on the other end of the beam. Select the right face of the beam, making sure that the left face is no longer selected. Select Physics/Add Surface Load from the menu. In the dialog box that appears select Step1 from the drop-down list since we want this load only to be active during the static phase of the analysis. Select the traction load from the list and click OK. The traction allows us to apply a constant traction to a surface, that is, a constant force per unit area. This is often more convenient than applying a nodal load on a surface since in the latter case the total effective force will depend on the number of nodes on that surface. The traction load remains independent of the mesh. In the properties list, enter the value:
- traction = 0, 0, -1
What if you had forgotten to select the Step1 from the step list when adding the traction load? You can always change the step to which a load (or boundary condition, contact, constraint, etc.) is assigned after you added the load as follows. Select the load in the model tree. Then, below the model tree in the Info pane, you can see what step the load is currently assigned to. To change the step, click the drop-down box and select the correct step.
Notice that the scale parameter of the traction load has a green, lit icon next to it. This indicates that a load controller is assigned to this parameter and the effective value that will be used by FEBio will be modulated through time. To see the load controller that controls this parameter, open the Curve Editor (menu Tools/Curve Editor) and in the left panel, locate and select the scale parameter of the traction load. In the right panel, you’ll see that FEBio Studio assigned a load curve to the parameter that ramps the value up from zero to one over a unit time interval.
To summarize, we created two boundary conditions: one boundary condition that fixes one end of the beam. This constraint was added to the initial step and will remain active during both analysis steps. The second constraint, a load on the other end of the beam, will only be active during Step1.
Step 4: Defining material parameters
Create a new material by selecting the Physics/Add Material from the menu. Select the neo-Hookean material and click Add. Enter the following material parameters:
- Young’s modulus (E) = 25000
- Poisson’s ratio (v) = 0.35
Assign this material to the beam by selecting the beam object and then pressing the [+] button in the selection box of the material.
Step 5: running the analysis
This completes the process of setting up the model. You can now proceed to running the model. Make sure you first save the model to a file. Then, use the menu FEBio\Run FEBio to open the Run dialog box. If you wish, you may choose the job’s name and the working directory, or just accept the defaults and click Run. If you are unfamiliar with the Run dialog, please take a look at the tutorial Running your first simulation in FEBio Studio.
If all went well, the job should complete with a normal termination message. When prompted, choose to open the results. FEBio Studio will then load the results file in another Graphics View tab. To play the simulation, click the play button on the main toolbar. You should see the beam being loaded from time 0 to time 1, followed by the free vibration of the beam for the remainder of the simulation.