Creating Local Material Axes

Creating Local Material Axes

You are here:
< Back


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.

Meshed Tube object
Meshed Tube object

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.

Mesh Tab
Click on Set Axes in the Mesh Tab

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 Tools$\to$Options (or FEBioStudio$\to$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.

Tube mesh generator vector
Tube mesh with material axes set using generator: vector.

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.

Tube mesh angles axes
Tube mesh with material axes set using generator: angles.

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.

Tube node numbering 124
Tube mesh with material axes set using generator: nodes n0: 1, n1: 2 and n2: 4.

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.

Tube node numbering 145
Tube mesh with material axes set using generator: nodes n0: 1, n1: 4 and n2: 5.

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.

Tube cylindrical axes
Tube mesh (hex8) with material axes set using generator: cylindrical, with a: 0,0,1 and d: 1,0,0.

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.

Tube Tet Mesh Cylindrical
Tube mesh (tet4) with material axes set using generator: cylindrical, with a: 0,0,1 and d: 1,0,0.

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.

Torus Axes Curvature Spline
Material axes generated for a Torus geometry using Set Axes from Curveture with generator: spline.

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.

Model fl36.feb from the Repository represents a bifurcated carotid artery. Select the outer surface to extrude an arterial wall.
Bifurcated Artery Extruded Wall
A 0.5 mm thick arterial wall has been extruded in the direction normal to the selected surface.

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.

Bifurcated Artery Axes Curvature Spline
Local material axes of the arterial wall, generated from directions of principal curvature.

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).

Was this article helpful?
5 out of 5 stars

2 ratings

5 Stars 100%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
How can we improve this article?
Please submit the reason for your vote so that we can improve the article.
Table of Contents
Go to Top