The images above come from the Abaqus Benchmark manual problem named "Anisotropic hyperelastic modeling of arterial layers".
See this post in the SIMULIA Community: Anisotropic hyperelasticity modeling of arterial layers. That SIMULIA Community post shows how to calibrate the H-G-O anisotropic hyperelastic material model without using surrogates. It also includes the synthetic test data used for calibration. And since we generated the synthetic test data, we know the exact answer, which is also shown in that post.
Some of the run-times shown below may be a bit slow because of using a development version of 3DX. This capability was released in R2025x GA. This UI option can be displayed in R2024x if you add SMAMATCAL_SHOWSURROGATES=1 in your Env.txt file. This work has the potential to significantly improve calibration run-times for longer running FE mode calibrations. This surrogate feature is only available when using FE mode.
General description of Neural Network surrogates:
The FE execution mode has been enhanced with the capability to use a neural network (NN) surrogate based response prediction during the material calibration. This new functionality can accelerate the calibration process especially for cases when the FE models are relatively expensive to run (e.g., when a FE model takes minutes or more to complete). The capability is highly automated, currently with minimal exposed UI controls. The user can activate the usage of surrogate responses during the FE execution mode. In this case, the calibration kernel will sample the parameter space of the active material parameters based on the user provided bounds and collect the FE responses provided by hot Abaqus/Standard at these sampling points. The collected FE responses are then used to train a set of NN based surrogates. Furthermore, the material calibration is performed using fast objective function evaluations based on using the surrogate-based response predictions instead of computationally expensive FE based responses.
The associated UI is in a preliminary stage with a minimal set of controls exposed to the user. The user can control the number of sampling points (in the space of active material parameters) to be used for training the NN surrogates models and the size of the neural networks. Settings related to NN training are not currently exposed in the UI.
This approach requires using reasonable bounds for the active material parameters to avoid the sampling points being too sparse which can result in the surrogate models being trained with FE responses corresponding to unrealistic material properties.
First, become familiar with the SIMULIA Community post shown above and run this calibration using the normal approach. Units used are N, mm, MPa. Then start the surrogate approach by setting these values for the parameters. The use of NN surrogates requires bounds be set for all active design variables. Be sure to cache these initial parameter values.
Then run an "Evaluate", getting this:
From this starting point, a normal calibration, with default settings (no surrogates) takes 20,130 secs and recovers the 4 parameters exactly.
The number of function evaluations, 204, is the number of Abaqus runs made.
Now, under the Optimization Controls, select to "Use surrogates"
This UI option is only displayed if you add SMAMATCAL_SHOWSURROGATES in your Env.txt file.
Execute a calibration using all the default values for the surrogate option.
Note that there is a discrepancy between the aggregate R2 = 0.999 and the individual R2 values. This is a known issue.
Here is the surrogate calibration run using a dev. version of R2025 GA, run on June 2, 2024.
The performance is about the same. The surrogate default values are a bit different.
In the work above the 3 test datasets had 106, 107, 107 datapoints. I have regularized the datasets to have 37 points, and run an Evaluate here:
Run a regular calibration:
Run a surrogate calibration: There is currently (dev version, Jan 9, 2024) a bug here with reporting the calibration time (shown as 0s). The calibration time is 2631 seconds.
Using fewer data points makes a big impact (2x) on the total time of the calibration.
Using the NN surrogate approach can reduce the total time by about 4x.
The attached zip file contains two 3dxml files. One is for the 107 data point case and the other is the 37 data point case.
Improving Performance further:
For the discussion below, we focus on the 37 point test data and the NN surrogate case w/ default settings...
In the example above we show two ways to improve performance, use fewer test data points and use NN surrogates. Now we are going to discuss using more cpus / using parallelism. Recall that we are using 3 different Abaqus models. Two of them run in about 11 secs and the third, the adventitia_15deg one, runs in about 91 secs. We can edit the mesh/model using this dialog and change the number of cpus used to run this particular Abaqus model.
First, we should run that 15deg model outside the platform and see how much speed-up can be achieved with various number of cpus. I used Abaqus 2025HF1 to investigate this:
Setting the "Num CPUs = 4 for the adventitia_15deg model causes the Evaluate time to drop from ~102 secs to ~44 secs. (R2025HF1.23 on April 15, 2025). My laptop only has 6 cpus, so I don't see any point in making this larger than 4.
The Calibration time drops from ~ 2700 secs to ~1200 secs.
**********************************************************************************
Another use of parallelism is set here, under Advanced optimization controls:
Side note: In R20225 FD01 and earlier, the user can set this value to any positive integer, even large numbers. Setting this to a large integer (> hardware cpus) can cause poor performance, poor results or can cause the calibration app to hang.
For the NN Surrogate approach, during the sampling phase, the design space is sampled using a Latin hypercube approach. During this sampling phase, many, or all, of these Abaqus runs can be run simultaneously. The effectiveness will depend upon both the number of cpus and the amount of memory available on your local machine.