Using the Fiber Generator Tool
Introduction
Biological tissues often have complex fiber distributions, and consequently representing the material fibers accurately is very important in finite element modeling of such tissues. Generating the fibers for intricate geometries can be very challenging, but this can accomplished relatively easy with Fiber Generator tool. In this tutorial we’ll demonstrate how to use this tool to create a fiber distribution for a model of a ligament.
Preliminaries
Before you can use the Fiber Generator tool, you must begin with a model that has a material assigned to it that has a fiber property. For instance, the trans-iso Mooney Rivlin material, which we’ll use in this demo.
Locate the fiber property in the material properties list and set it to user. The user field will be used in the Fiber Generator field to generate the custom fiber distribution.

The Fiber Generator Tool
First, make sure the object is selected to which you wish to assign a custom fiber distribution. To access the Fiber Generator tool, access the Tools tab on the Build panel, and click the Fiber Generator button. The parameters for the tool will show up below.
The Fiber Generator tool works by first generating a user-defined scalar field and then calculating the fiber vectors by taking the gradient of this scalar field. The scalar field is defined as the solution of a simple Poisson-type boundary value (BV) problem, and the only thing the user needs to do, is define the boundary conditions for this BV problem. The boundary conditions are created by assigning scalar values to selections, like nodes, edges, surfaces, or parts. You can use either the geometry selection tools, or the mesh selection tools. The specific values that are assigned are not that important, as long as they are distinct and such that a gradient in the scalar solution of the BV problem is formed.
In our example, we want to create a fiber distribution that roughly follows the shape of the geometry and is directed along the long axis. To accomplish this, we’ll first select some faces at the bottom of the mesh. Then, enter a value, e.g. 0 (zero), in the Value field, and click Add.

Next, another selection is made at the top of the mesh. This time, the value 1 is assigned to the selection. Again, the exact value is not important, as long as it is distinct from the previous selection. Note that you can edit the values in the table as well.

Next, modify the settings of the tool accordingly.
- Material: Select the material to which the fibers will be assigned.
- Max Iterations: Set the max number of iterations for the numerical method that solves the BV problem.
- Tolerance: convergence tolerance for the BV solver.
- SOR parameter: over-relaxation parameter. Choose a value between 1 and 2.
Most of these settings configure the solver for the BV problem. This solver uses an iterative method to find the approximate solution. The Max iterations set the max number of iterations allowed. For larger meshes, you may need to increase this setting. The tolerance parameter sets the convergence tolerance of the method. Setting a smaller value, may take longer to solve, but produce a more accurate solution. The SOR parameter can be set to a value between 1 and 2 and can significantly reduce the iteration number for convergence.
Finally, click Apply to generate the custom fiber distribution.
Visualizing the Fibers
To visualize the fibers, toggle the fiber visualization on using the menu View\Toggle Fibers. You can also right-click on the Graphics View and select the same option in the popup menu. With this option on, a line is drawn on each element that shows the direction of the element’s fiber vector. You can change the scale of these lines in the settings: Select menu Tools\Options…. In the Settings dialog box, select Physics and then change the value of the Fiber scale factor option.
The fibers are shown using an RGB color coding. This means, fibers in the x-direction will be red, in the y-direction green, and in the z-direction blue. In general, the fibers color is a weighted sum of red, green, and blue, with the vector’s x,y,z components as weights.
