:orphan:
.. _introduction_examples-index:
*********************
Introduction Examples
*********************
After a brief introduction to Python
and object oriented programming,
this set of examples covers basic calibrations
using either PythonModels (see :class:`~matcal.core.models.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 (:ref:`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.
.. raw:: html
.. thumbnail-parent-div-open
.. raw:: html
.. only:: html
.. image:: /introduction_examples/images/thumb/sphx_glr_a_python_primer_thumb.png
:alt:
:doc:`/introduction_examples/a_python_primer`
.. raw:: html
Basic Python Overview
.. raw:: html
.. only:: html
.. image:: /introduction_examples/images/thumb/sphx_glr_plot_basic_example_walk_through_thumb.png
:alt:
:doc:`/introduction_examples/plot_basic_example_walk_through`
.. raw:: html
Linear Python Model Example
.. raw:: html
.. only:: html
.. image:: /introduction_examples/images/thumb/sphx_glr_plot_issue_example-discrepancy_thumb.png
:alt:
:doc:`/introduction_examples/plot_issue_example-discrepancy`
.. raw:: html
Model Discrepancy Issue Example
.. raw:: html
.. only:: html
.. image:: /introduction_examples/images/thumb/sphx_glr_plot_issue_example-identifiability_thumb.png
:alt:
:doc:`/introduction_examples/plot_issue_example-identifiability`
.. raw:: html
Model Identifiability Issue Example
.. raw:: html
.. only:: html
.. image:: /introduction_examples/images/thumb/sphx_glr_plot_issue_example-noise_thumb.png
:alt:
:doc:`/introduction_examples/plot_issue_example-noise`
.. raw:: html
Data Noise Issue - Low and High Noise Example
.. raw:: html
.. only:: html
.. image:: /introduction_examples/images/thumb/sphx_glr_plot_parameter_uncertainty_quantification_thumb.png
:alt:
:doc:`/introduction_examples/plot_parameter_uncertainty_quantification`
.. raw:: html
Parameter uncertainty example - external noise and internal variability
.. thumbnail-parent-div-close
.. raw:: html
.. toctree::
:hidden:
/introduction_examples/a_python_primer
/introduction_examples/plot_basic_example_walk_through
/introduction_examples/plot_issue_example-discrepancy
/introduction_examples/plot_issue_example-identifiability
/introduction_examples/plot_issue_example-noise
/introduction_examples/plot_parameter_uncertainty_quantification
SIERRA/SM Material Point Model Practical Examples
=================================================
In this section, we present the calibration of our :class:`~matcal.sierra.models.UniaxialLoadingMaterialPointModel`
to uniaxial compression data for a 6061-T6 aluminum from the Ductile Failure project at Sandia
:cite:p:`DE_L2_Ductile_Failure`.
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:
#. A successful calibration to true stress/strain data with data preprocessing and objective weighting.
#. A failed calibration to true stress/strain data without data preprocessing and the default objective weighting.
#. A failed calibration to true stress/time data that becomes successful with minor data processing.
#. 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:
#. The methods in MatCal are robust but designed for specific situations. Calibrations 1 and
2 in this example will show how the :class:`~matcal.core.objective.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.
#. 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.
#. 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.
.. raw:: html
.. thumbnail-parent-div-open
.. raw:: html
.. only:: html
.. image:: /introduction_examples/sierra_material_point_examples/images/thumb/sphx_glr_plot_sierra_material_point_calibration_thumb.png
:alt:
:doc:`/introduction_examples/sierra_material_point_examples/plot_sierra_material_point_calibration`
.. raw:: html
Successful Calibration
.. raw:: html
.. only:: html
.. image:: /introduction_examples/sierra_material_point_examples/images/thumb/sphx_glr_plot_sierra_material_point_calibration_uncorrected_thumb.png
:alt:
:doc:`/introduction_examples/sierra_material_point_examples/plot_sierra_material_point_calibration_uncorrected`
.. raw:: html
Calibration With Unmodified Data and Objective: A Simple Calibration Gone Wrong
.. raw:: html
.. only:: html
.. image:: /introduction_examples/sierra_material_point_examples/images/thumb/sphx_glr_plot_sierra_material_point_calibration_with_unloading_thumb.png
:alt:
:doc:`/introduction_examples/sierra_material_point_examples/plot_sierra_material_point_calibration_with_unloading`
.. raw:: html
Calibration With Unloading: A Stress vs. Time Calibration Needs Attention to Detail
.. raw:: html
.. only:: html
.. image:: /introduction_examples/sierra_material_point_examples/images/thumb/sphx_glr_plot_sierra_material_point_calibration_z_model_forms_thumb.png
:alt:
:doc:`/introduction_examples/sierra_material_point_examples/plot_sierra_material_point_calibration_z_model_forms`
.. raw:: html
Exploring Different Model Forms: For Better and Worse...
.. thumbnail-parent-div-close
.. raw:: html
.. toctree::
:hidden:
/introduction_examples/sierra_material_point_examples/plot_sierra_material_point_calibration
/introduction_examples/sierra_material_point_examples/plot_sierra_material_point_calibration_uncorrected
/introduction_examples/sierra_material_point_examples/plot_sierra_material_point_calibration_with_unloading
/introduction_examples/sierra_material_point_examples/plot_sierra_material_point_calibration_z_model_forms
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.
.. raw:: html
.. thumbnail-parent-div-open
.. raw:: html
.. only:: html
.. image:: /introduction_examples/surrogate_studies/images/thumb/sphx_glr_plot_generate_surrogate_a_standard_thumb.png
:alt:
:doc:`/introduction_examples/surrogate_studies/plot_generate_surrogate_a_standard`
.. raw:: html
Surrogate Generation Example
.. raw:: html
.. only:: html
.. image:: /introduction_examples/surrogate_studies/images/thumb/sphx_glr_plot_generate_surrogate_c_adaptive_sparse_grid_thumb.png
:alt:
:doc:`/introduction_examples/surrogate_studies/plot_generate_surrogate_c_adaptive_sparse_grid`
.. raw:: html
Sparse Grid Adaptive Surrogate Example
.. thumbnail-parent-div-close
.. raw:: html
.. toctree::
:hidden:
/introduction_examples/surrogate_studies/plot_generate_surrogate_a_standard
/introduction_examples/surrogate_studies/plot_generate_surrogate_c_adaptive_sparse_grid
.. only:: html
.. container:: sphx-glr-footer sphx-glr-footer-gallery
.. container:: sphx-glr-download sphx-glr-download-python
:download:`Download all examples in Python source code: introduction_examples_python.zip `
.. container:: sphx-glr-download sphx-glr-download-jupyter
:download:`Download all examples in Jupyter notebooks: introduction_examples_jupyter.zip `
.. only:: html
.. rst-class:: sphx-glr-signature
`Gallery generated by Sphinx-Gallery