Close this search box.

Anisotropic Hyperelasticity in ANSYS WB


I recently discussed how to use MCalibration to quickly calibrate both the ANSYS anisotropic polynomial-based hyperelasticity model, and the anisotropic exponential-function based hyperelasticity model. In this article I will show to use a MCalibration exported material model in ANSYS Workbench (WB).

The exemplar problem that I’m trying to solve here consists of a block with a length of 20 mm in the “axial” direction, and a length of 10 mm in the “transverse” direction. I will then pull on the block to an applied engineering strain of 25%. I will assign an ANSYS anisotropic exponential-function based hyperelastic model that is stiffer in the local 1-direction than the local 2-direction. The steps needed to solve this problem are summarized below.

Step 1: Define Coordinate Systems

Start by creating your ANSYS Mechanical model just as you normally do. Once you have your parts defined you need to specify local material coordinate systems for all parts with anisotropic materials. In this example I only defined one solid block, so I only need to define one coordinate system. The following figure shows how I defined the local x-axis to be along the global x-axis, and the local y-axis to be along the transverse direction of the block.

Later on in this example I will use a different local material coordinate system in which the x-axis is aligned along the transverse direction of the block. Here’s a screenshot of this second local coordinate system.

Step 2: Assign the Coordinate System

After the coordinate systems have been created we need to assign the selected system to each part. In this example we only have one part. Simply select the part and change the coordinate system to “LocalCoord (1-axial)”. This way the part will have a local x-axis that is the same as the global x-axis, but the part will have a local y-axis that is align with the global z-axis.

Step 3: Assign the Material Model

You can assign a material model to a part in multiple ways in ANSYS Workbench. Here I will first export the MCalibration calibrated material model to ANSYS APDL format, and then assign it as a command snippet for the part. You can see from the screenshot that the local AVEC vector is in the local x-direction, and the BVEC vector is in the y-direction. We can also see that since the C1 and C2 parameters are larger than the E1 and E2 parameters, this anisotropic material model will be stiffer in the local x-direction than the local y-direction. We will check that ANSYS results are in agreement with this observation later in this example.

Step 4: Apply Boundary Conditions

The back side will be constrain in the global x-direction, the bottom side will be constrained in the global y-direction, and the right side will be constrained in the global z-direction. The front of the block will be pulled 5 mm in the global x-direction.

Step 5: Run FE Simulation

Run the simulation and look at the stress in the global x-direction. The max stress is about 3.9 MPa.

Step 6: Use a Different Coordinate System

To verify that the ANSYS results are reasonable we can change to the second local coordinate system defined above “LocalCoord (1-trans)”, and then rerun the analysis. Since the stretching in this case is along the softer direction the final stress should be lower. The following figure shows that the max stress in this case is about 1.7 MPa, which is lower than what we got above.



This quick example showed that it is easy to use a MCalibration generated anisotropic hyperelastic model in ANSYS Workbench. Just make sure your parts have properly defined local coordinate systems.


More to explore

1 thought on “Anisotropic Hyperelasticity in ANSYS WB”

  1. Hi Jorgen,

    Thanks for step-by-step tutorial of using AHYPER in WB! This is super useful.
    If the model is a tube and the anisotropic directions refer to circumferential and axial directions. How to define AVEC and BVEC, should we use cylindrical coordinate system for AVEC and BVEC? If we are going to use cylindrical coordinate system, does it need to put in the centroid of the model?


Leave a Comment