Introduction Examples

After a brief introduction to Python and object oriented programming, this set of examples covers basic calibrations using either PythonModels (see PythonModel) or SIERRA models. The first set focus on Python models where calibrations are performed to data sets with known solutions. These are intended to show MatCal’s basic input file structure and usage. A few also touch on calibration issues to be weary of for calibrations with analytical objectives that can easily be visualized for demonstration purposes.

These are then followed with more applied examples with similar goals using a MatCal generated SIERRA model for a uniaxially loaded material point (Uniaxial Loading Material Point Model). First a successful calibration is shown with justifications for decisions made and tools used for that calibration. Next, common issues that may be encountered in applied problems are explored using the same data set from the successful calibration.

Basic Python Overview

Basic Python Overview

Linear Python Model Example

Linear Python Model Example

Model Discrepancy Issue Example

Model Discrepancy Issue Example

Model Identifiability Issue Example

Model Identifiability Issue Example

Data Noise Issue - Low and High Noise Example

Data Noise Issue - Low and High Noise Example

Parameter uncertainty example - external noise and internal variability

Parameter uncertainty example - external noise and internal variability

SIERRA/SM Material Point Model Practical Examples

In this section, we present the calibration of our UniaxialLoadingMaterialPointModel to uniaxial compression data for a 6061-T6 aluminum from the Ductile Failure project at Sandia [13]. Specifically, we calibrate to test specimens C-RD-01 and C-ST-01 from that dataset. Four calibrations are presented to highlight different approaches to practical material calibration and potential issues that may arise. The four calibrations are:

  1. A successful calibration to true stress/strain data with data preprocessing and objective weighting.

  2. A failed calibration to true stress/strain data without data preprocessing and the default objective weighting.

  3. A failed calibration to true stress/time data that becomes successful with minor data processing.

  4. A successful calibration with two other model forms demonstrating how MatCal can aid in material model choice while also demonstrating overfitting and model form error.

We use these four examples to highlight three important issues:

  1. The methods in MatCal are robust but designed for specific situations. Calibrations 1 and 2 in this example will show how the CurveBasedInterpolatedObjective class should be used and how its requirement of having data with a monotonically increasing independent variable limits data that it can operate on.

  2. The objective function is a quantitative measure of the quality of the calibration. Translating what you think is a quality calibration to a quantitative measure may not always be intuitive and must be done carefully at times. Calibrations 1, 3, and 4 demonstrate the importance of careful objective function specification.

  3. Since the objective is a quantitative measure of calibration quality, it can be used to determine the best model form for a dataset if a suite of calibrations with different model forms is completed. If one model form produces a lower objective value after calibration, it potentially means it is the better model form. However, care must be taken to avoid over fitting, so this is not a guarantee of improved model form.

Successful Calibration

Successful Calibration

Calibration With Unmodified Data and Objective: A Simple Calibration Gone Wrong

Calibration With Unmodified Data and Objective: A Simple Calibration Gone Wrong

Calibration With Unloading: A Stress vs. Time Calibration Needs Attention to Detail

Calibration With Unloading: A Stress vs. Time Calibration Needs Attention to Detail

Exploring Different Model Forms: For Better and Worse…

Exploring Different Model Forms: For Better and Worse...

Surrogate Studies

In this set of examples, we show how to build surrogate models using MatCal. These models then can be used as replacements for more expensive models in MatCal studies.

Surrogate Generation Example

Surrogate Generation Example

Sparse Grid Adaptive Surrogate Example

Sparse Grid Adaptive Surrogate Example

Gallery generated by Sphinx-Gallery