# Creating Local Material Axes

## Introduction

A material is anisotropic when its material response varies with the orientation of loading relative to the material’s symmetry planes. If the material has no planes of symmetry it is called a *triclinic* material. At the other extreme of this anisotropy spectrum, for an *isotropic* material, all imaginary planes passing through a material point represent planes of symmetry; we say that such a material has $\infty^3$ planes of symmetry. An *orthotropic* material has three mutually orthogonal planes of symmetry, whereas a *transversly isotropic* material has $\infty+1$ planes of symmetry: One plane represents the transverse plane of isotropy, whereas there is an infinity of planes passing through the direction normal to this transverse plane. A material that has a single plane of symmetry is called *monoclinic*.

FEBio implements three general categories of anisotropic materials: (1) Orthotropic materials, (2) fibrous materials with continuous fiber distributions or multiple discrete fiber bundles, and (3) fibrous materials with a single discrete fiber (or fiber bundle). In this context, fibers can only sustain tension and they buckle when the normal strain along the fiber is compressive. Orthotropic materials, such as “orthotropic elastic” and “Fung orthotropic” do not include fibers. Materials with a “continuous fiber distribution” may exhibit isotropy (such as “spherical” fiber distribution), transverse isotropy (such as “von-Mises-3d” or “circular” fiber distributions), or orthotropy (such as “ellipsoidal” or “elliptical” fiber distributions) in their reference (undeformed) configuration. Materials with a single fiber or fiber bundle (such as “trans iso Mooney-Rivlin“) are inherently transversely isotropic. For orthotropic materials, their three planes of symmetry are aligned with the coordinate planes of the global coordinate system XYZ by default. For transversely isotropic materials, the single fiber direction is oriented along the global X-axis by default.

In this tutorial we show how local material axes or a local fiber direction may be specified for each element in a mesh, allowing users to model anisotropic materials whose symmetry planes vary with location.

## Set Axes

To illustrate the various methods of creating material axes in this tutorial, we first create a basic geometry. Start FEBioStudio, selection New Model… and Structural Mechanics (for example). In the **Create** tab of the **Build** Panel select the **Tube** icon, use the default dimensions and click on *Create*. Switch to the **Mesh** tab, use default settings and click on *Apply*. Then *Convert* this object to an *Editable Mesh*. By default, there are no material axes assigned to elements in this mesh.

To create materials axes, click on *Set Axes* in the **Mesh** tab. Under the *generator* pull-down menu you will find several options which we explore below. To view the material axes produced by this tool, go to the ** View** menu and check

*Toggle Material Axes*. Our goal is to generate local XYZ material axes within each mesh element.

### generator: vector

The first option for generating material axes is *vector*. This option allows you to specify the same set of material axes for all elements of the mesh. In general, this option is useful if the desired material axes are not aligned with the global XYZ coordinate system. For this option you are prompted to enter the $\mathbf{a}$ and $\mathbf{d}$ vectors that uniquely define the XYZ axes triad. The vector $\mathbf{a}$ represents the local X-direction, and the vector $\mathbf{d}$ is used to produce the local Z-direction from the cross product $\mathbf{c}=\mathbf{a}\times\mathbf{d}$. Then, the Y-direction is obtained form the right-hand rule from the cross-product $\mathbf{b}=\mathbf{c}\times\mathbf{a}$. For this tutorial example, enter *a: 1,0.5,0.0* (FEBioStudio normalizes this vector automatically) and *d: 0,1,0*, then click *Apply*. To view the material axes, select the wireframe mode (** View**$\to$

*Toggle Render Mode*or press the keyboard shortcut

*W*). If they appear too small, go to

**$\to$**

*Tools**Options*(or

**$\to$**

*FEBioStudio**Preferences*on Mac), select

*Physics*and increase the value of

*Fiber scale factor*. Click on

*Apply*then

*OK*. The image below shows an orthographic projection of the Tube in the global XY-plane: Local materials axes (X=red, Y=green, Z=blue) are oriented differently than the global axes (lower left triad), but all elements share the same local axes.

### generator: angles

This option is similar to the *vector* option described in the previous section. It produces a uniform set of material axes using the azimuthal angle theta (°) and declination angle phi (°) of a spherical coordinate system as shown in the User’s Manual. For example, enter *theta (°): 60* and *phi (°): 90* then click *Apply* to produce the material axes shown below.

### generator: node numbering

This option is generally useful only when the mesh consists of hexahedral elements, such as *hex8*, *hex20* and *hex27* elements, created in a regular pattern (such as the Tube example used here). Users need to specify three nodes, *n0, n1 and n2*, which must have values between 1 and 8, representing the 8 corner nodes of a hexahedral element. FEBioStudio treats the line segment between nodes *n0* and *n1* as the vector $\mathbf{a}$, and the line segment from *n0* to *n2* as the vector $\mathbf{d}$, from which it produces local XYZ axes as explained in Section vector above. However, the local node numbers 1 through 8 cannot be visualized within FEBioStudio. Consequently, users must use the trial-and-error method for producing the desired material axes. For example, for the Tube mesh used here, using the default values *n0: 1*, *n1: 2* and *n2: 4* produces the material axes shown in the figure below. Looking at the local X-axis (red) we deduce the local node numbers 1 and 2 as shown in the figure, along which the vector $\mathbf{a}$ is oriented. Similarly, by examining the local Y-axis (green) and recalling the method of vectors, we deduce the location of the local node number 4, such that vector $\mathbf{d}$ is oriented along nodes 1 and 4. Remaining node numbers (3, 5, 6, 7, 8) are deduced from 1, 2 and 4, with nodes 5, 6, 7, 8 located on a parallel Z-plane above or below nodes 1, 2, 3, 4. By inspection, we conclude that this scheme produces only an approximation to a cylindrical coordinate system for these material axes, since the local Y-direction (green) is not exactly oriented in the circumferential direction of the cylindrical tube.

Alternatively, we could have selected *n0: 1*, *n1: 4* and *n2: 5* to produce the local material axes shown below. The local node numbers are the same as in the figure above. Now, the local X-axis (red) is along nodes 1 and 4, properly oriented along the circumferential direction of the Tube. The local Y-axis is along nodes 1 and 5 (out of the plane of the image), and the local Z-axis (blue) is properly oriented in the radial direction of the Tube. We conclude that this numbering scheme is a more approriate choice when our goal is to produce a local axes in the natural cylindrical coordinates of the Tube.

### generator: cylindrical

The last option under the *generator* pull-down menu of *Set Axes* is the *cylindrical* option.This option may be used to produce local material axes that are aligned with a cylindrical coordinate system whose long axis (the local Z-direction) is along the user-specified vector $\mathbf{a}$ and whose radial direction (the local X-direction) is along the user-specified $\mathbf{d}$ vector. Applying this tool to our Tube mesh, with *a: 0,0,1* and *d: 1,0,0*, produces the local material axes shown below.

For this particular hexahedral mesh it becomes evident that the *generator: cylindrical* and the *generator: node numbering* options appear redundant. However, recall that the *node numbering* option is only convenient when the mesh is hexahedral and well ordered. For any other element type(s), the *cylindrical* option remains equally effective at producing the desired local material axes, whereas the *node numbering* option would fail. To illustrate this point, select the Tube object then click on the *Convert Mesh* button in the **Mesh** tab and select *Hex8 to Tet4*. Then reapply the *Set Axes*, *generator: cylindrical* tool on this tetrahedral mesh with with *a: 0,0,1* and *d: 1,0,0*. This should produce the result shown in the figure below, where a denser, less regular tetrahedral mesh is apparent, with properly set local material axes in the desired cylindrical coordinates.

## Set Axes From Curvature

There are many geometries for which the options described in the previous section for generating material axes may not be suitable. For example, start a new model in FEBioStudio and create a *Torus* using default dimensions. Then mesh it using the default settings and convert it to an editable mesh. Consider that the torus material includes two families of fibers, each oriented along one of the two principal radii of the *Torus*. Thus we may wish to generate local material axes that are aligned along the principal directions of curvature of the toroidal surface. In this case, click on *Set Axes from Curvature* in the **Mesh** tab, then select all the faces on the torus surface . Since the torus surface is ** not** a quadric, keep the default

*generator: spline*to deduce the principal axes of curvature of this surface by fitting a local cubic spline surface. Also check the box labeled

*Whole part*to ensure that local material axes are assigned to all elements inside the

*Torus*, not just the ones right underneath the selected faces. Click on

*Apply*to produce the result shown in the figure below. The local X-direction (red) corresponds to the maximum curvature direction (the circumference of the small circle), the local Y-direction (green) represents the minimum curvature direction (the circumference of the large circle), whereas the local Z-direction is orthogonal to both, oriented normal to the torus surface.

The *generator: quadric* option should be used whenever the selected surface is an exact quadric, such as an ellipsoid, or a paraboloid, or a portion thereof. In this case, FEBioStudio fits the exact equation of a quadric surface from which it extracts the principal directions of curvature. This fitting procedure is identical to the *Quadric Fit* tool in the **Tools** tab. If necessary, a user may double check what type of quadric surface represents a best fit to the selected faces, and decide if that particular quadric fit is suitable for those faces.

This tool may be particularly useful with meshes that represent anatomical features, as typically acquired from medical images. For example, start a new FEBioStudio session and click on the **Repository** tab of the main FEBioStudio window. Click on *Connect* and expand the *Test Suite* folder, followed by the *Fluids* folder. Then double-click on *fl36.feb* and *Import as Model*. This mesh represents the blood domain of a carotid artery bifurcation. Consider that we wish to generate an arterial wall for this fluid domain (e.g., with the goal of performing a fluid-structure interaction analysis). Select the entire outer surface of the bifurcated artery, select the **Mesh** tab in the **Build** panel and click on *Extrude Faces*. Enter *Distance: 0.0005* (to specify an arterial wall thickness of 0.5 mm in SI units), *Segments: 4* to produce 4 elements through the thickness of this arterial wall, check the box for *Use local normal*, then click *Apply*.

To assign local material axes to the arterial wall solid (pentahedral) elements, select the outer surface of this arterial wall, click on *Set Axes from Curvature* in the **Mesh** tab, use *generator: spline* and check the box labeled *Whole part*. Here again, a close-up view of a portion of the bifurcated artery shows that the the local X-direction (red) corresponds to the maximum curvature direction (the circumference of the artery), the local Y-direction (green) represents the minimum curvature direction (the longitudinal direction), whereas the local Z-direction is normal to the arterial wall surface.

## Transforming a Mesh and its Material Axes

In all the examples presented above we generated material axes for each element in a mesh. It is important to note that subsequent transformations performed on this mesh, such as translations, rotations and scaling, will also apply to the local material axes. However, the orthonormality of the local material axes will be preserved during these transformations (including when the scaling is non-uniform along the three local or global coordinate directions).