Introduction
Material models that provide accurate simulation results matching experimental data are foundational to successful FEA simulation of real-world applications. Calibration of a material model to experimental data is an optimization problem where the "distance" between simulation and truth signals is minimized, indicating how "close" the model fits experiment. In this example, we will perform an overview of an example calibration, completing the spring-steel model calibration example model from Ansys Help using Ansys optiSLang and Mechanical from within Workbench. Please refer to optiSLang documentation for details about aspects of the process that we skip for purposes of brevity.
Material Model
The material model that will be used to "match" the experimental data is a nonlinear isotropic hardening model have a Voce hardening law given by the equation
where the unknown material parameters are
with resulting stress-strain curve
In Ansys Workbench Engineering Data, we parametrize the according material model parameters as shown here:
Test Specimen and Experimental Data
The test specimen and experimental force-displacement curve (truth) are displayed below:
The experimental data will be stored as a text file named force_displacement_ref.txt in the Workbench model user_files folder from where it will be referenced by optiSLang throughout the optimization process. A snippet of the file is shown below, noting that the Reference keyword is important for distinguishing these data from the simulation results:
Finite Element Model
The finite element model consists of the thin body tensile specimen mesh with solid elements, subject to an end displacement with the other end fixed, thus simulating a standard tension test. The mesh and applied boundary conditions are shown here:
The resulting force and displacement of the gauge section is written to a file called force_displacement_sim.txt for each run via an APDL command snippet. The format of the force_displacement_sim.txt file is identical to the force_displacement_ref.txt file with the exception that the word "Reference" is replaced with "Simulation", which allows optiSLang to differentiate between the two data sets. Additionally, an image of the plastic strain field is written to file.
Workbench Project
The final Workbench project schematic that we will develop is
Data Send
The Data Send component is used to manage which data is copied and saved for each Design Point run. By carefully selecting which files to save for each run, the project size can remain relatively small, thus it is not recommended to select large files, such as, results files, otherwise the project size can become prohibitively large. The following shows that we only need the following files to be saved for each run:
Signal Processing
The Signal Processing component is where all aspects of data handling and computations are defined. The following tabs in the Signal Processing wizard are explained in the following sections.
ETK
Here we define how the force_displacement_ref.txt and force_displacement_sim.txt files are handled. The setup for these files is shown in the following images, noting that the details are explained in optiSLang help documentation:
force_displacement_ref.txt
force_displacement_sim.txt
Files
The setup of the Files tab is shown here:
Variables
The Variables tab is where data and variables resulting from computations on data are defined. The layout of the Variables tab for this example is shown here, where variables are designated as responses by clicking on Add Variable, highlighted in yellow:
Reiterating that the goal for this example is to calibrate the signal from the simulation response to the reference signal, we need to define several signal conditioning and signal comparison operations. The following steps are defined, resulting in variables and/or responses - note that variables that are designated as responses are highlighted in green:
- Create a variable for the reference displacement that will be used to interpolate the simulation signal based on the reference signal: disp_ref.
- Interpolate the simulation signal using disp_ref so that both the reference and simulation signals have the same length. The resulting signal is stored as the Signal_interpolate response variable.
- Compute the gradient of Signal_interpolate (Signal_interpolate_gradient) and its minimum (min_gradient_Signal) that will be used to ensure that the resulting signal has a positive minimum gradient, i.e., the slope at the end of the curve.
- Create a linearly spaced displacement vector (disp_steps) that will be used to align the reference and simulation signals using fewer points at the same ordinates (displacement).
- Extract the reference and simulation force values, at displacements defined by disp_steps, resulting in force_steps_ref and force_steps_sim responses, respectively.
- Define a "distance" between signals by computing the root squared error between the force_step_refs and force_steps_sim signals, resulting in the RSE_signal response, which is to be the optimization variable that will be minimized.
Run Options
Run options setting defaults are used in this example. However, depending on licensing, parallel simulations may be conducted to reduce time to results.
Parameter Set
The final parameter table is shown here, noting that two additional parameters for plastic strain are added from the Static Structural analysis:
Adaptive Metamodel of Optimal Prognosis (AMOP)
A metamodel, also known as response surface, is a statistical model that relates the response to the inputs, generated by smart choice of the location of a small number of data points. The resulting surface is the mean of the response given the relatively sparse data. An adaptive metamodel enhances the standard metamodel by strategically adding input locations in order to minimize the variance in response prediction. Here, we utilize the AMOP as defined as follows.
Parameter
The input parameter values, types, and ranges are defined as shown here:
Start designs
This is blank since we are starting from scratch.
Criteria
Here, the optimization criteria are defined as shown in the Criteria pane below:
Adaption
We allow for a maximum of 150 design points to generate the AMOP:
MOP
For the definition of the MOP, we use most of the defaults, selecting the type of Tested metamodels as shown here:
Other
We leave the defaults in the Other tab.
Result Designs
This table, initially empty, shows the results of the design points. Note that some designs are considered infeasible as the minimum gradient constraint is violated in these (constraint column shown in the 2nd image).
AMOP Results
Here is a screenshot of some of the results that are available from an AMOP run:
If we focus on the Signal Plot in the top middle, we see that the "best design" (red trace) reasonably matches the reference signal (green trace). Furthermore, the Residual plot shows that the variance between the reference signal and AMOP predictions is small, thus indicating a good fit.
There are many more plots and diagnostics that one can use to determine goodness of fit. Refer to the optiSLang manual for more details.
Evolutionary Algorithm
The evolutionary algorithm is "nature inspired optimization" according to optiSLang. We use the top 10 best designs from the AMOP as start designs, making the optimization process more targeted and efficient. The Parameter settings are the same as for the AMOP, with the other settings detailed here below:
Start designs
Start designs were chosen as the top 10 feasible AMOP design having the lowest var_RSE. The (partial) table is shown here:
Criteria
The Criteria are identical to that of the AMOP.
NOA
The algorithm and other settings are shown here, where we allow for a maximum of 10,000 designs:
Result Designs
The number of resulting designs was 1,830 for this example, not all feasible. The resulting table, sorted by var_RSE is shown here, noting that the top 2 designs are not feasible:
Results
Here is a plot of the typical results output for an Evolutionary Algorithm. Note that the best design (#1629) is an even better fit than that found just from the AMOP:
Simplex (Optimization)
The simplex method is another optimization method that is often used to refine a prior optimization. Thus, we are going to apply the best evolutionary design (#1629) as the start design. The same criteria, parameter ranges, etc., will be applied as before.
Result designs
The simplex optimizer ran 183 more designs. The results are shown in the following image, noting that the value of var_RSE is lower than that of the Evolutionary Algorithm:
Results
Finally, the results from the simplex optimization, focused on the best design (#180).
Conclusion
In this article, we showed how Ansys Mechanical and optiSLang can be used to calibrate a material model to experimental data all within Ansys Workbench. Here, we completed an Ansys tutorial model, only scratching the surface of optiSLang's capabilities, skipping over many details for the sake of brevity. We invite you to download the supplied model and use it as a foundation for optimizing your own design.
Going Further
- Practice creation of this Workbench project from scratch for your own optimization problem.
- Compare and contrast difference optimization algorithms to see which is best for your application.
Downloadable Resources
Tags:
APDL, FEA, Structural Analysis, Static Structural Analysis, ANSYS Mechanical, Ansys OptiSlang, Design Optimization, Material calibrationFebruary 14, 2025