Close this search box.

MCalibration Tutorial: Abaqus Inverse Calibration

Introduction - Abaqus Inverse Calibration

In this tutorial I will show how you can calibrate an Abaqus or PolyUMod material model using Abaqus FE simulations. The calibration will be performed using MCalibration and does not require you to write any Python code. The approach illustrated here can be useful when you have experimental stress or strain data that is not homogeneous. This type of FE-based calibration is called an inverse calibration.

Problem Statement

Assume a test lab performed tension tests on dogbone-shaped specimens, but only recorded the force and grip displacement during the tests. From this data you can calculate the engineering stress in the gauge region of the specimen, but you cannot determine the strain history. In a case like this you have choices: (1) you can ask the test lab to perform more experiments, but this time also request that they measure the strain using either an extensometer or Digital Image Correlation (DIC); or (2) you can use FE simulations of the experimental test to calibrate a material model. As will be shown in this case study, it is easy to use the available experimental data in MCalibration.

Step 1: Create an Abaqus FE Model of The Experiment

  • Create an Abaqus inp-file that has the same geometry, boundary conditions, and loads as the actual experiment.
  • Specify the material model for the  specimen to be linear elastic. Note that MCalibration will later automatically replace this material model with the actual material model.
  • Save the force and displacement of the controlling node set as the only history output. MCalibration will later automatically read this history output.
  • In this example, the bottom grip is held fixed, and the top grip is moved vertically upwards.
					*Material, name=mat
1.0, 0.30
					*Output, history
*Node Output, nset=specimen.topGrip
CF2, RF2, U2

Step 2: Setup the MCalibration Load Case

  • Click “Add Load Case” in MCalibration.
  • Specify load case type: “Abaqus External Solver”.
  • Click “Select Experimental Data File” to select the experimental data file (should contain 3 columns: time, displacement, force).
  • Click “Abaqus inp-file” to specify the name of the Abaqus inp-file to use.
  • Specify the name of the material and the direction of the applied load.
  • Click Save to save the load case.
  • Define any other load cases.

Step 3: Specify the Material Model

Select any of the available material models.

Step 4: Run One Simulation

  • Click the “Run Once” button to make sure the simulation works.
  • In this case the initial set of material parameters is not very good.
  • You can then manually modify the material parameters or run the optimize parameters by clicking on “Run Calibration”.

Step 5: Automatic Calibration

  • The material parameters can be optimized by clicking on “Run Calibration”.
  • The final material model can then be exported to Abaqus by clicking on the “Export Model” button.


  • This tutorial shows how MCalibration can be used to calibrate a material model to data from experiments with non-homogeneous stress and strain.
  • As shown, the calibration is easy to perform and only requires an Abaqus inp-file (no Python code necessary).

Download the files that I used for the tutorial here:


More to explore

2 thoughts on “MCalibration Tutorial: Abaqus Inverse Calibration”

  1. Jorgen,
    Thank you for your work.
    I tried the inverse calibration problem according to your guidelines but I got the error “***PolyUMod: License server does not support this product (-18)”. I’m using the student version, could it be the reason it can’t work successfully?

    Warm regards,

  2. Hello Melly. That is an odd error message. I don’t think that the issue is related to the academic version. Send us a tech support email if you would like us to look into this some more.

Leave a Comment