Skip to content

Note

Click here to download the full example code

Usage of the model calibration based on scalar outputs

Calibrate a model based on scalar outputs.

from __future__ import annotations

import logging
from copy import deepcopy

from gemseo.algos.design_space import DesignSpace
from gemseo.algos.opt.multi_start.settings.multi_start_settings import (
    MultiStart_Settings,
)
from gemseo.algos.opt.nlopt.settings.nlopt_cobyla_settings import NLOPT_COBYLA_Settings
from gemseo_calibration.calibrator import CalibrationMetricSettings
from matplotlib.image import imread
from matplotlib.pyplot import imshow
from numpy import asarray
from numpy import atleast_1d

from vimseo import EXAMPLE_RUNS_DIR
from vimseo.api import activate_logger
from vimseo.api import create_model
from vimseo.core.model_settings import IntegratedModelSettings
from vimseo.io.space_io import SpaceToolFileIO
from vimseo.storage_management.base_storage_manager import PersistencyPolicy
from vimseo.tools.calibration.calibration_step import CalibrationStep
from vimseo.tools.calibration.calibration_step import CalibrationStepInputs
from vimseo.tools.calibration.calibration_step import CalibrationStepSettings
from vimseo.tools.calibration.input_data import CALIBRATION_INPUT_DATA
from vimseo.utilities.generate_validation_reference import (
    generate_reference_from_parameter_space,
)

TARGET_YOUNG_MODULUS = 2.2e5

We first define the logger level:

activate_logger(level=logging.INFO)

We want to calibrate an analytical model of a beam with cantilever loading made of a Hook's law homogeneous elastic isotropic material. The objective is to find the best Young modulus such that the simulated and reference reaction force match.

Then, we need to create reference data. They are generated from the model to calibrate, which is biased by imposing a modified Young modulus. A parameter space is first created:

space_tool_result = SpaceToolFileIO().read(
    CALIBRATION_INPUT_DATA / "experimental_space_beam_cantilever.json"
)

Out:

/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/pydantic/main.py:209: DeprecationWarning:

Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)

As well as the modified model:

model_name = "BendingTestAnalytical"
load_case = "Cantilever"
target_model = create_model(
    model_name,
    load_case,
    model_options=IntegratedModelSettings(
        directory_archive_persistency=PersistencyPolicy.DELETE_ALWAYS,
        directory_scratch_persistency=PersistencyPolicy.DELETE_ALWAYS,
    ),
)
target_model.default_input_data["young_modulus"] = atleast_1d(TARGET_YOUNG_MODULUS)
target_model.cache = None

Six samples are generated from this model, by sampling the parameter space:

reference_dataset_cantilever = generate_reference_from_parameter_space(
    target_model, space_tool_result.parameter_space, n_samples=6, as_dataset=True
)

Out:

    INFO - 16:52:37: Working directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/CustomDOETool/41
    INFO - 16:52:37:  
    INFO - 16:52:37: *** Start DOEScenario execution ***
    INFO - 16:52:37: DOEScenario
    INFO - 16:52:37:    Disciplines: Model BendingTestAnalytical:  An analytical model for the bending of a parallelepipedic beam
    INFO - 16:52:37: 
    INFO - 16:52:37: Load case:
    INFO - 16:52:37:    Load case Cantilever: A cantilever load case.
    INFO - 16:52:37:    
    INFO - 16:52:37:    Boundary condition variables:
    INFO - 16:52:37:    ['imposed_dplt', 'relative_dplt_location']
    INFO - 16:52:37:    
    INFO - 16:52:37:    Plot parameters:
    INFO - 16:52:37:    {
    INFO - 16:52:37:     "curves": []
    INFO - 16:52:37: }
    INFO - 16:52:37:    Load:
    INFO - 16:52:37:    Load(direction='', sign='', type='')
    INFO - 16:52:37: 
    INFO - 16:52:37: Default values:
    INFO - 16:52:37:    
    INFO - 16:52:37:    Default geometrical variables:
    INFO - 16:52:37:    {"height": [40.0], "length": [600.0], "width": [30.0]}
    INFO - 16:52:37:    
    INFO - 16:52:37:    Default numerical variables:
    INFO - 16:52:37:    {}
    INFO - 16:52:37:    
    INFO - 16:52:37:    Default boundary conditions variables:
    INFO - 16:52:37:    {"imposed_dplt": [-5.0], "relative_dplt_location": [1.0]}
    INFO - 16:52:37:    
    INFO - 16:52:37:    Default material variables:
    INFO - 16:52:37:    {"nu_p": [0.3], "young_modulus": [220000.0]}
    INFO - 16:52:37: model_inputs:
    INFO - 16:52:37:    [
    INFO - 16:52:37:     "length",
    INFO - 16:52:37:     "width",
    INFO - 16:52:37:     "height",
    INFO - 16:52:37:     "imposed_dplt",
    INFO - 16:52:37:     "relative_dplt_location",
    INFO - 16:52:37:     "young_modulus",
    INFO - 16:52:37:     "nu_p"
    INFO - 16:52:37: ]
    INFO - 16:52:37: model_outputs:
    INFO - 16:52:37:    [
    INFO - 16:52:37:     "reaction_forces",
    INFO - 16:52:37:     "maximum_dplt",
    INFO - 16:52:37:     "dplt_grid",
    INFO - 16:52:37:     "location_max_dplt",
    INFO - 16:52:37:     "dplt",
    INFO - 16:52:37:     "moment",
    INFO - 16:52:37:     "moment_grid",
    INFO - 16:52:37:     "dplt_at_force_location",
    INFO - 16:52:37:     "error_code",
    INFO - 16:52:37:     "model",
    INFO - 16:52:37:     "load_case",
    INFO - 16:52:37:     "description",
    INFO - 16:52:37:     "job_name",
    INFO - 16:52:37:     "persistent_result_files",
    INFO - 16:52:37:     "n_cpus",
    INFO - 16:52:37:     "date",
    INFO - 16:52:37:     "cpu_time",
    INFO - 16:52:37:     "user",
    INFO - 16:52:37:     "machine",
    INFO - 16:52:37:     "vims_git_version",
    INFO - 16:52:37:     "directory_archive_root",
    INFO - 16:52:37:     "directory_archive_job",
    INFO - 16:52:37:     "directory_scratch_root",
    INFO - 16:52:37:     "directory_scratch_job"
    INFO - 16:52:37: ]
    INFO - 16:52:37:    MDO formulation: DisciplinaryOpt
    INFO - 16:52:37: Optimization problem:
    INFO - 16:52:37:    minimize reaction_forces(height, imposed_dplt, width)
    INFO - 16:52:37:    with respect to height, imposed_dplt, width
    INFO - 16:52:37:    over the design space:
    INFO - 16:52:37:       +--------------+-------------+-------+-------------+-------+
    INFO - 16:52:37:       | Name         | Lower bound | Value | Upper bound | Type  |
    INFO - 16:52:37:       +--------------+-------------+-------+-------------+-------+
    INFO - 16:52:37:       | height       |     -inf    |  None |     inf     | float |
    INFO - 16:52:37:       | imposed_dplt |     -inf    |  None |     inf     | float |
    INFO - 16:52:37:       | width        |     -inf    |  None |     inf     | float |
    INFO - 16:52:37:       +--------------+-------------+-------+-------------+-------+
    INFO - 16:52:37: Solving optimization problem with algorithm CustomDOE:
    INFO - 16:52:37: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:37: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:37: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:37: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:37: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:37: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:37: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:37: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:37: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:37: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:37: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:37: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:37: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:37: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:37: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:37: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:37: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:37: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:37: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:37: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:37: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38:     17%|█▋        | 1/6 [00:00<00:00,  6.88 it/sec, obj=-2.32e+3]
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38:     33%|███▎      | 2/6 [00:00<00:00,  7.66 it/sec, obj=-2.52e+3]
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38:     50%|█████     | 3/6 [00:00<00:00,  7.82 it/sec, obj=-2.66e+3]
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38:     67%|██████▋   | 4/6 [00:00<00:00,  8.02 it/sec, obj=-2.49e+3]
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38:     83%|████████▎ | 5/6 [00:00<00:00,  8.15 it/sec, obj=-2.26e+3]
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38: Current root directory of job directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/default_archive.
    INFO - 16:52:38: Removing job directory: default_archive/BendingTestAnalytical/Cantilever/1
    INFO - 16:52:38:    100%|██████████| 6/6 [00:00<00:00,  8.22 it/sec, obj=-2.35e+3]
    INFO - 16:52:38: Optimization result:
    INFO - 16:52:38:    Optimizer info:
    INFO - 16:52:38:       Status: None
    INFO - 16:52:38:       Message: None
    INFO - 16:52:38:       Number of calls to the objective function by the optimizer: 6
    INFO - 16:52:38:    Solution:
    INFO - 16:52:38:       Objective: -2658.789614197363
    INFO - 16:52:38:       Design space:
    INFO - 16:52:38:          +--------------+-------------+------------------+-------------+-------+
    INFO - 16:52:38:          | Name         | Lower bound |      Value       | Upper bound | Type  |
    INFO - 16:52:38:          +--------------+-------------+------------------+-------------+-------+
    INFO - 16:52:38:          | height       |     -inf    | 40.7369384765625 |     inf     | float |
    INFO - 16:52:38:          | imposed_dplt |     -inf    | -5.064697265625  |     inf     | float |
    INFO - 16:52:38:          | width        |     -inf    | 30.4969482421875 |     inf     | float |
    INFO - 16:52:38:          +--------------+-------------+------------------+-------------+-------+
    INFO - 16:52:38: *** End DOEScenario execution (time: 0:00:00.737666) ***

We now define the model used for the calibration:

model = create_model(
    model_name,
    load_case,
    model_options=IntegratedModelSettings(
        directory_archive_root=EXAMPLE_RUNS_DIR / "archive/calibration_scalars",
        directory_scratch_root=EXAMPLE_RUNS_DIR / "scratch/calibration_scalars",
        cache_file_path=EXAMPLE_RUNS_DIR
        / f"caches/calibration_scalars/{model_name}_{load_case}_cache.hdf",
    ),
)

Out:

    INFO - 16:52:38: Found 480 entries in the cache file : /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/model_runs/caches/calibration_scalars/BendingTestAnalytical_Cantilever_cache.hdf node : node

Then, a step of calibration is defined. Note that the model instance is passed to the model_name argument, since we defined the model with specific result management options. If we had used model_name = {"Cantilever": "BendingTestAnalytical"}, the model would have been instantiated with its default options.

output_name = "reaction_forces"
step = CalibrationStep(working_directory="scalars_basic")
step.execute(
    inputs=CalibrationStepInputs(
        reference_data={
            "Cantilever": reference_dataset_cantilever,
        },
    ),
    settings=CalibrationStepSettings(
        name_to_models={"Cantilever": deepcopy(model)},
        control_outputs={
            output_name: CalibrationMetricSettings(
                measure="RelativeMSE",
            )
        },
        input_names=[
            "height",
            "width",
            "imposed_dplt",
        ],
        parameter_names=["young_modulus"],
    ),
)
step.save_results()

Out:

    INFO - 16:52:39: Found 480 entries in the cache file : /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/model_runs/caches/calibration_scalars/BendingTestAnalytical_Cantilever_cache.hdf node : node
    INFO - 16:52:39: Working directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/scalars_basic
    INFO - 16:52:39: Found 480 entries in the cache file : /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/model_runs/caches/calibration_scalars/BendingTestAnalytical_Cantilever_cache.hdf node : node
    INFO - 16:52:39: Calibration design space: Design space:
    INFO - 16:52:39: +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:39: | Name          | Lower bound | Value  | Upper bound | Type  |
    INFO - 16:52:39: +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:39: | young_modulus |    190000   | 210000 |    230000   | float |
    INFO - 16:52:39: +---------------+-------------+--------+-------------+-------+
 WARNING - 16:52:39: No coupling in MDA, switching chain_linearize to True.
    INFO - 16:52:39:  
    INFO - 16:52:39: *** Start CalibrationScenario execution ***
    INFO - 16:52:39: CalibrationScenario
    INFO - 16:52:39:    Disciplines: Calibrator
    INFO - 16:52:39:    MDO formulation: DisciplinaryOpt
 WARNING - 16:52:39: Relative MSE: [[0.00206612]
 WARNING - 16:52:39:  [0.00206612]
 WARNING - 16:52:39:  [0.00206612]
 WARNING - 16:52:39:  [0.00206612]
 WARNING - 16:52:39:  [0.00206612]
 WARNING - 16:52:39:  [0.00206612]]
    INFO - 16:52:39: Optimization problem:
    INFO - 16:52:39:    minimize RelativeMSE[Cantilever:reaction_forces](young_modulus)
    INFO - 16:52:39:    with respect to young_modulus
    INFO - 16:52:39:    over the design space:
    INFO - 16:52:39:       +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:39:       | Name          | Lower bound | Value  | Upper bound | Type  |
    INFO - 16:52:39:       +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:39:       | young_modulus |    190000   | 210000 |    230000   | float |
    INFO - 16:52:39:       +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:39: Solving optimization problem with algorithm NLOPT_COBYLA:
 WARNING - 16:52:39: Relative MSE: [[0.]
 WARNING - 16:52:39:  [0.]
 WARNING - 16:52:39:  [0.]
 WARNING - 16:52:39:  [0.]
 WARNING - 16:52:39:  [0.]
 WARNING - 16:52:39:  [0.]]
 WARNING - 16:52:39: Relative MSE: [[0.00206612]
 WARNING - 16:52:39:  [0.00206612]
 WARNING - 16:52:39:  [0.00206612]
 WARNING - 16:52:39:  [0.00206612]
 WARNING - 16:52:39:  [0.00206612]
 WARNING - 16:52:39:  [0.00206612]]
 WARNING - 16:52:39: Relative MSE: [[0.00051653]
 WARNING - 16:52:39:  [0.00051653]
 WARNING - 16:52:39:  [0.00051653]
 WARNING - 16:52:39:  [0.00051653]
 WARNING - 16:52:39:  [0.00051653]
 WARNING - 16:52:39:  [0.00051653]]
 WARNING - 16:52:39: Relative MSE: [[0.00012913]
 WARNING - 16:52:39:  [0.00012913]
 WARNING - 16:52:39:  [0.00012913]
 WARNING - 16:52:39:  [0.00012913]
 WARNING - 16:52:39:  [0.00012913]
 WARNING - 16:52:39:  [0.00012913]]
 WARNING - 16:52:39: Relative MSE: [[3.22830579e-05]
 WARNING - 16:52:39:  [3.22830579e-05]
 WARNING - 16:52:39:  [3.22830579e-05]
 WARNING - 16:52:39:  [3.22830579e-05]
 WARNING - 16:52:39:  [3.22830579e-05]
 WARNING - 16:52:39:  [3.22830579e-05]]
    INFO - 16:52:39:      1%|          | 6/1000 [00:00<00:52, 18.93 it/sec, obj=3.23e-5]
 WARNING - 16:52:39: Relative MSE: [[8.07076446e-06]
 WARNING - 16:52:39:  [8.07076446e-06]
 WARNING - 16:52:39:  [8.07076446e-06]
 WARNING - 16:52:39:  [8.07076446e-06]
 WARNING - 16:52:39:  [8.07076446e-06]
 WARNING - 16:52:39:  [8.07076446e-06]]
    INFO - 16:52:39:      1%|          | 7/1000 [00:00<00:53, 18.52 it/sec, obj=8.07e-6]
 WARNING - 16:52:39: Relative MSE: [[2.01769112e-06]
 WARNING - 16:52:39:  [2.01769112e-06]
 WARNING - 16:52:39:  [2.01769112e-06]
 WARNING - 16:52:39:  [2.01769112e-06]
 WARNING - 16:52:39:  [2.01769112e-06]
 WARNING - 16:52:39:  [2.01769112e-06]]
    INFO - 16:52:39:      1%|          | 8/1000 [00:00<00:54, 18.23 it/sec, obj=2.02e-6]
 WARNING - 16:52:39: Relative MSE: [[5.04422779e-07]
 WARNING - 16:52:39:  [5.04422779e-07]
 WARNING - 16:52:39:  [5.04422779e-07]
 WARNING - 16:52:39:  [5.04422779e-07]
 WARNING - 16:52:39:  [5.04422779e-07]
 WARNING - 16:52:39:  [5.04422779e-07]]
    INFO - 16:52:39:      1%|          | 9/1000 [00:00<00:54, 18.02 it/sec, obj=5.04e-7]
 WARNING - 16:52:39: Relative MSE: [[1.26105695e-07]
 WARNING - 16:52:39:  [1.26105695e-07]
 WARNING - 16:52:39:  [1.26105695e-07]
 WARNING - 16:52:39:  [1.26105695e-07]
 WARNING - 16:52:39:  [1.26105695e-07]
 WARNING - 16:52:39:  [1.26105695e-07]]
    INFO - 16:52:39:      1%|          | 10/1000 [00:00<00:55, 17.82 it/sec, obj=1.26e-7]
 WARNING - 16:52:40: Relative MSE: [[3.15264237e-08]
 WARNING - 16:52:40:  [3.15264237e-08]
 WARNING - 16:52:40:  [3.15264237e-08]
 WARNING - 16:52:40:  [3.15264237e-08]
 WARNING - 16:52:40:  [3.15264237e-08]
 WARNING - 16:52:40:  [3.15264237e-08]]
    INFO - 16:52:40:      1%|          | 11/1000 [00:00<00:56, 17.66 it/sec, obj=3.15e-8]
 WARNING - 16:52:40: Relative MSE: [[7.88160592e-09]
 WARNING - 16:52:40:  [7.88160592e-09]
 WARNING - 16:52:40:  [7.88160592e-09]
 WARNING - 16:52:40:  [7.88160592e-09]
 WARNING - 16:52:40:  [7.88160592e-09]
 WARNING - 16:52:40:  [7.88160592e-09]]
    INFO - 16:52:40:      1%|          | 12/1000 [00:00<00:57, 17.30 it/sec, obj=7.88e-9]
 WARNING - 16:52:40: Relative MSE: [[1.97040148e-09]
 WARNING - 16:52:40:  [1.97040148e-09]
 WARNING - 16:52:40:  [1.97040148e-09]
 WARNING - 16:52:40:  [1.97040148e-09]
 WARNING - 16:52:40:  [1.97040148e-09]
 WARNING - 16:52:40:  [1.97040148e-09]]
    INFO - 16:52:40:      1%|         | 13/1000 [00:00<00:57, 17.08 it/sec, obj=1.97e-9]
 WARNING - 16:52:40: Relative MSE: [[4.9260037e-10]
 WARNING - 16:52:40:  [4.9260037e-10]
 WARNING - 16:52:40:  [4.9260037e-10]
 WARNING - 16:52:40:  [4.9260037e-10]
 WARNING - 16:52:40:  [4.9260037e-10]
 WARNING - 16:52:40:  [4.9260037e-10]]
    INFO - 16:52:40:      1%|         | 14/1000 [00:00<00:58, 16.96 it/sec, obj=4.93e-10]
 WARNING - 16:52:40: Relative MSE: [[1.23150093e-10]
 WARNING - 16:52:40:  [1.23150093e-10]
 WARNING - 16:52:40:  [1.23150093e-10]
 WARNING - 16:52:40:  [1.23150093e-10]
 WARNING - 16:52:40:  [1.23150093e-10]
 WARNING - 16:52:40:  [1.23150093e-10]]
    INFO - 16:52:40:      2%|         | 15/1000 [00:00<00:58, 16.91 it/sec, obj=1.23e-10]
 WARNING - 16:52:40: Relative MSE: [[3.07875231e-11]
 WARNING - 16:52:40:  [3.07875231e-11]
 WARNING - 16:52:40:  [3.07875231e-11]
 WARNING - 16:52:40:  [3.07875231e-11]
 WARNING - 16:52:40:  [3.07875231e-11]
 WARNING - 16:52:40:  [3.07875231e-11]]
    INFO - 16:52:40:      2%|         | 16/1000 [00:00<00:58, 16.81 it/sec, obj=3.08e-11]
 WARNING - 16:52:40: Relative MSE: [[7.69688078e-12]
 WARNING - 16:52:40:  [7.69688078e-12]
 WARNING - 16:52:40:  [7.69688078e-12]
 WARNING - 16:52:40:  [7.69688078e-12]
 WARNING - 16:52:40:  [7.69688078e-12]
 WARNING - 16:52:40:  [7.69688078e-12]]
    INFO - 16:52:40:      2%|         | 17/1000 [00:01<00:58, 16.75 it/sec, obj=7.7e-12]
 WARNING - 16:52:40: Relative MSE: [[1.92422020e-12]
 WARNING - 16:52:40:  [1.92422020e-12]
 WARNING - 16:52:40:  [1.92422020e-12]
 WARNING - 16:52:40:  [1.92422020e-12]
 WARNING - 16:52:40:  [1.92422020e-12]
 WARNING - 16:52:40:  [1.92422019e-12]]
    INFO - 16:52:40:      2%|         | 18/1000 [00:01<00:58, 16.69 it/sec, obj=1.92e-12]
 WARNING - 16:52:40: Relative MSE: [[4.81055049e-13]
 WARNING - 16:52:40:  [4.81055049e-13]
 WARNING - 16:52:40:  [4.81055049e-13]
 WARNING - 16:52:40:  [4.81055049e-13]
 WARNING - 16:52:40:  [4.81055049e-13]
 WARNING - 16:52:40:  [4.81055049e-13]]
    INFO - 16:52:40:      2%|         | 19/1000 [00:01<00:59, 16.62 it/sec, obj=4.81e-13]
 WARNING - 16:52:40: Relative MSE: [[1.20263762e-13]
 WARNING - 16:52:40:  [1.20263762e-13]
 WARNING - 16:52:40:  [1.20263762e-13]
 WARNING - 16:52:40:  [1.20263762e-13]
 WARNING - 16:52:40:  [1.20263762e-13]
 WARNING - 16:52:40:  [1.20263762e-13]]
    INFO - 16:52:40:      2%|         | 20/1000 [00:01<00:59, 16.56 it/sec, obj=1.2e-13]
 WARNING - 16:52:40: Relative MSE: [[3.00659405e-14]
 WARNING - 16:52:40:  [3.00659406e-14]
 WARNING - 16:52:40:  [3.00659406e-14]
 WARNING - 16:52:40:  [3.00659406e-14]
 WARNING - 16:52:40:  [3.00659405e-14]
 WARNING - 16:52:40:  [3.00659406e-14]]
    INFO - 16:52:40:      2%|         | 21/1000 [00:01<00:59, 16.50 it/sec, obj=3.01e-14]
 WARNING - 16:52:40: Relative MSE: [[7.51648515e-15]
 WARNING - 16:52:40:  [7.51648510e-15]
 WARNING - 16:52:40:  [7.51648516e-15]
 WARNING - 16:52:40:  [7.51648518e-15]
 WARNING - 16:52:40:  [7.51648515e-15]
 WARNING - 16:52:40:  [7.51648514e-15]]
    INFO - 16:52:40:      2%|         | 22/1000 [00:01<00:59, 16.40 it/sec, obj=7.52e-15]
 WARNING - 16:52:40: Relative MSE: [[1.87912128e-15]
 WARNING - 16:52:40:  [1.87912130e-15]
 WARNING - 16:52:40:  [1.87912127e-15]
 WARNING - 16:52:40:  [1.87912129e-15]
 WARNING - 16:52:40:  [1.87912128e-15]
 WARNING - 16:52:40:  [1.87912128e-15]]
    INFO - 16:52:40:      2%|         | 23/1000 [00:01<00:59, 16.33 it/sec, obj=1.88e-15]
    INFO - 16:52:40: Optimization result:
    INFO - 16:52:40:    Optimizer info:
    INFO - 16:52:40:       Status: None
    INFO - 16:52:40:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 16:52:40:       Number of calls to the objective function by the optimizer: 24
    INFO - 16:52:40:    Solution:
    INFO - 16:52:40:       Objective: 0.0
    INFO - 16:52:40:       Design space:
    INFO - 16:52:40:          +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:40:          | Name          | Lower bound | Value  | Upper bound | Type  |
    INFO - 16:52:40:          +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:40:          | young_modulus |    190000   | 220000 |    230000   | float |
    INFO - 16:52:40:          +---------------+-------------+--------+-------------+-------+
 WARNING - 16:52:40: Relative MSE: [[0.]
 WARNING - 16:52:40:  [0.]
 WARNING - 16:52:40:  [0.]
 WARNING - 16:52:40:  [0.]
 WARNING - 16:52:40:  [0.]
 WARNING - 16:52:40:  [0.]]
    INFO - 16:52:40: *** End CalibrationScenario execution (time: 0:00:01.579347) ***
    INFO - 16:52:40: Parameters before calibration: {'young_modulus': array([210000.])}
    INFO - 16:52:40: Parameters after calibration: {'young_modulus': 220000.0}
/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/matplotlib/_mathtext.py:2170: PyparsingDeprecationWarning:

'parseString' deprecated - use 'parse_string'

/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/pyparsing/util.py:466: PyparsingDeprecationWarning:

'parseAll' argument is deprecated, use 'parse_all'

/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/matplotlib/_mathtext.py:2178: PyparsingDeprecationWarning:

'resetCache' deprecated - use 'reset_cache'

    INFO - 16:52:41: Saving result to /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/scalars_basic/CalibrationStep_result.hdf5
    INFO - 16:52:41: PICKLE fallback: key='Cantilever', type=<class 'vimseo.problems.beam_analytic.bending_test_analytical.BendingTestAnalytical'>, value=Model BendingTestAnalytical:  An analytical model for the bending of a parallelepipedic beam
    INFO - 16:52:41: 
    INFO - 16:52:41: Load case:
    INFO - 16:52:41:    Load case Cantilever: A cantilever load case.
    INFO - 16:52:41:    
    INFO - 16:52:41:    Boundary condition variables:
    INFO - 16:52:41:    ['imposed_dplt', 'relative_dplt_location']
    INFO - 16:52:41:    
    INFO - 16:52:41:    Plot parameters:
    INFO - 16:52:41:    {
    INFO - 16:52:41:     "curves": []
    INFO - 16:52:41: }
    INFO - 16:52:41:    Load:
    INFO - 16:52:41:    Load(direction='', sign='', type='')
    INFO - 16:52:41: 
    INFO - 16:52:41: Default values:
    INFO - 16:52:41:    
    INFO - 16:52:41:    Default geometrical variables:
    INFO - 16:52:41:    {"height": [40.0], "length": [600.0], "width": [30.0]}
    INFO - 16:52:41:    
    INFO - 16:52:41:    Default numerical variables:
    INFO - 16:52:41:    {}
    INFO - 16:52:41:    
    INFO - 16:52:41:    Default boundary conditions variables:
    INFO - 16:52:41:    {"imposed_dplt": [-5.0], "relative_dplt_location": [1.0]}
    INFO - 16:52:41:    
    INFO - 16:52:41:    Default material variables:
    INFO - 16:52:41:    {"nu_p": [0.3], "young_modulus": [210000.0]}
    INFO - 16:52:41: model_inputs:
    INFO - 16:52:41:    [
    INFO - 16:52:41:     "length",
    INFO - 16:52:41:     "width",
    INFO - 16:52:41:     "height",
    INFO - 16:52:41:     "imposed_dplt",
    INFO - 16:52:41:     "relative_dplt_location",
    INFO - 16:52:41:     "young_modulus",
    INFO - 16:52:41:     "nu_p"
    INFO - 16:52:41: ]
    INFO - 16:52:41: model_outputs:
    INFO - 16:52:41:    [
    INFO - 16:52:41:     "reaction_forces",
    INFO - 16:52:41:     "maximum_dplt",
    INFO - 16:52:41:     "dplt_grid",
    INFO - 16:52:41:     "location_max_dplt",
    INFO - 16:52:41:     "dplt",
    INFO - 16:52:41:     "moment",
    INFO - 16:52:41:     "moment_grid",
    INFO - 16:52:41:     "dplt_at_force_location",
    INFO - 16:52:41:     "error_code",
    INFO - 16:52:41:     "model",
    INFO - 16:52:41:     "load_case",
    INFO - 16:52:41:     "description",
    INFO - 16:52:41:     "job_name",
    INFO - 16:52:41:     "persistent_result_files",
    INFO - 16:52:41:     "n_cpus",
    INFO - 16:52:41:     "date",
    INFO - 16:52:41:     "cpu_time",
    INFO - 16:52:41:     "user",
    INFO - 16:52:41:     "machine",
    INFO - 16:52:41:     "vims_git_version",
    INFO - 16:52:41:     "directory_archive_root",
    INFO - 16:52:41:     "directory_archive_job",
    INFO - 16:52:41:     "directory_scratch_root",
    INFO - 16:52:41:     "directory_scratch_job"
    INFO - 16:52:41: ]
    INFO - 16:52:41: PICKLE fallback: key='design_space', type=<class 'gemseo.algos.design_space.DesignSpace'>, value=Design space:
    INFO - 16:52:41: +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:41: | Name          | Lower bound | Value  | Upper bound | Type  |
    INFO - 16:52:41: +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:41: | young_modulus |    190000   | 220000 |    230000   | float |
    INFO - 16:52:41: +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:41: PICKLE fallback: key='optimization_history_variables', type=<class 'matplotlib.figure.Figure'>, value=Figure(1100x600)
    INFO - 16:52:41: PICKLE fallback: key='optimization_history_objective', type=<class 'matplotlib.figure.Figure'>, value=Figure(1100x600)
    INFO - 16:52:41: PICKLE fallback: key='optimization_history_x_xstar', type=<class 'matplotlib.figure.Figure'>, value=Figure(1100x600)
    INFO - 16:52:41: PICKLE fallback: key='simulated_versus_reference_reaction_forces', type=<class 'matplotlib.figure.Figure'>, value=Figure(640x480)

We can show the prior parameters, i.e. the optimizer starting point:

step.result.prior_parameters

Out:

{'young_modulus': 210000.0}

Note that if argument starting_point is not specified, the prior is the model default inputs:

model = deepcopy(model)
model.default_input_data["young_modulus"][0]

Out:

    INFO - 16:52:41: Found 480 entries in the cache file : /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/model_runs/caches/calibration_scalars/BendingTestAnalytical_Cantilever_cache.hdf node : node

210000.0

We can now look at the posterior parameters, i.e. the best solution found by the optimizer. The expected value is TARGET_YOUNG_MODULUS=2.2e5:

step.result.posterior_parameters

Out:

{'young_modulus': 220000.0}

The convergence of the optimization can be visualized. It relies on GEMSEO standard plotting of optimization convergence:

imshow(asarray(imread(step.working_directory / "opt_history_view_objective.png")))

plot 01 calibration on scalars

Out:

<matplotlib.image.AxesImage object at 0x7f2705313350>
imshow(asarray(imread(step.working_directory / "opt_history_view_variables.png")))

plot 01 calibration on scalars

Out:

<matplotlib.image.AxesImage object at 0x7f270539f850>
imshow(asarray(imread(step.working_directory / "opt_history_view_x_xstar.png")))

plot 01 calibration on scalars

Out:

<matplotlib.image.AxesImage object at 0x7f27053bb0d0>

The effect of the calibration can also be visualized with plots comparing the output data before and after calibration with the reference data:

imshow(
    asarray(
        imread(
            step.working_directory
            / "simulated_versus_reference_reaction_forces_load_case_Cantilever.png"
        )
    )
)

plot 01 calibration on scalars

Out:

<matplotlib.image.AxesImage object at 0x7f270525ff10>

And specifically for scalar metrics, for each data sample (6 here), a bar plot shows the agreement between the simulated prior, posterior and reference output:

figures = step.plot_results(step.result, save=False, show=True)
figures["Cantilever"][f"simulated_versus_reference_{output_name}_bars"]

The material before calibration:

print(model.material)

Out:

Ta6v
Material relations:

   Ta6v_elastic_iso
   young_modulus
      Default value: 210000.0
      Distribution:
         Normal
         Parameters:
         {
          "loc": 0.0,
          "location": 0.0,
          "lower": -1000000000000.0,
          "lower_bound": 190000.0,
          "mean": 0.0,
          "mode": 0.0,
          "mu": 210000.0,
          "name": "Normal",
          "rate": 1.0,
          "scale": 1.0,
          "shape": 1.0,
          "sigma": 100.0,
          "upper": 1000000000000.0,
          "upper_bound": 230000.0
}

   nu_p
      Default value: 0.3
      Distribution:
         Normal
         Parameters:
         {
          "loc": 0.0,
          "location": 0.0,
          "lower": -1000000000000.0,
          "lower_bound": -1000000000000.0,
          "mean": 0.0,
          "mode": 0.0,
          "mu": 0.3,
          "name": "Normal",
          "rate": 1.0,
          "scale": 1.0,
          "shape": 1.0,
          "sigma": 0.02,
          "upper": 1000000000000.0,
          "upper_bound": 1000000000000.0
}

can be updated from the posterior parameters:

calibrated_material = deepcopy(model.material)
calibrated_material.update_from_dict(step.result.posterior_parameters)
print(calibrated_material)

Out:

/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/pydantic/main.py:387: UserWarning:

Pydantic serializer warnings:
  Expected `Union[float, list[float]]` but got `float64` with value `104.76190476190477` - serialized value may not be as expected
  Expected `Union[float, list[float]]` but got `float64` with value `220000.0` - serialized value may not be as expected

Ta6v
Material relations:

   Ta6v_elastic_iso
   young_modulus
      Default value: 220000.0
      Distribution:
         Normal
         Parameters:
         {
          "loc": 0.0,
          "location": 0.0,
          "lower": -1000000000000.0,
          "lower_bound": 190000.0,
          "mean": 0.0,
          "mode": 0.0,
          "mu": 220000.0,
          "name": "Normal",
          "rate": 1.0,
          "scale": 1.0,
          "shape": 1.0,
          "sigma": 104.76190476190477,
          "upper": 1000000000000.0,
          "upper_bound": 230000.0
}

   nu_p
      Default value: 0.3
      Distribution:
         Normal
         Parameters:
         {
          "loc": 0.0,
          "location": 0.0,
          "lower": -1000000000000.0,
          "lower_bound": -1000000000000.0,
          "mean": 0.0,
          "mode": 0.0,
          "mu": 0.3,
          "name": "Normal",
          "rate": 1.0,
          "scale": 1.0,
          "shape": 1.0,
          "sigma": 0.02,
          "upper": 1000000000000.0,
          "upper_bound": 1000000000000.0
}

A specific starting point can be prescribed:

step = CalibrationStep(working_directory="scalars_with_starting_point")
step.execute(
    inputs=CalibrationStepInputs(
        reference_data={
            "Cantilever": reference_dataset_cantilever,
        },
        starting_point={"young_modulus": 1.95e5},
    ),
    settings=CalibrationStepSettings(
        name_to_models={"Cantilever": deepcopy(model)},
        control_outputs={
            output_name: CalibrationMetricSettings(
                measure="RelativeMSE",
            )
        },
        input_names=[
            "height",
            "width",
            "imposed_dplt",
        ],
        parameter_names=["young_modulus"],
        optimizer_settings=NLOPT_COBYLA_Settings(max_iter=50),
    ),
)
step.save_results()
step.result.prior_parameters

Out:

    INFO - 16:52:42: Found 480 entries in the cache file : /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/model_runs/caches/calibration_scalars/BendingTestAnalytical_Cantilever_cache.hdf node : node
    INFO - 16:52:42: Working directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/scalars_with_starting_point
    INFO - 16:52:42: Found 480 entries in the cache file : /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/model_runs/caches/calibration_scalars/BendingTestAnalytical_Cantilever_cache.hdf node : node
    INFO - 16:52:42: Calibration design space: Design space:
    INFO - 16:52:42: +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:42: | Name          | Lower bound | Value  | Upper bound | Type  |
    INFO - 16:52:42: +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:42: | young_modulus |    190000   | 195000 |    230000   | float |
    INFO - 16:52:42: +---------------+-------------+--------+-------------+-------+
 WARNING - 16:52:42: No coupling in MDA, switching chain_linearize to True.
    INFO - 16:52:42:  
    INFO - 16:52:42: *** Start CalibrationScenario execution ***
    INFO - 16:52:42: CalibrationScenario
    INFO - 16:52:42:    Disciplines: Calibrator
    INFO - 16:52:42:    MDO formulation: DisciplinaryOpt
 WARNING - 16:52:42: Relative MSE: [[0.01291322]
 WARNING - 16:52:42:  [0.01291322]
 WARNING - 16:52:42:  [0.01291322]
 WARNING - 16:52:42:  [0.01291322]
 WARNING - 16:52:42:  [0.01291322]
 WARNING - 16:52:42:  [0.01291322]]
    INFO - 16:52:42: Optimization problem:
    INFO - 16:52:42:    minimize RelativeMSE[Cantilever:reaction_forces](young_modulus)
    INFO - 16:52:42:    with respect to young_modulus
    INFO - 16:52:42:    over the design space:
    INFO - 16:52:42:       +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:42:       | Name          | Lower bound | Value  | Upper bound | Type  |
    INFO - 16:52:42:       +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:42:       | young_modulus |    190000   | 195000 |    230000   | float |
    INFO - 16:52:42:       +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:42: Solving optimization problem with algorithm NLOPT_COBYLA:
    INFO - 16:52:42:      2%|         | 1/50 [00:00<00:00, 2192.53 it/sec, obj=0.0129]
 WARNING - 16:52:42: Relative MSE: [[0.00464876]
 WARNING - 16:52:42:  [0.00464876]
 WARNING - 16:52:42:  [0.00464876]
 WARNING - 16:52:42:  [0.00464876]
 WARNING - 16:52:42:  [0.00464876]
 WARNING - 16:52:42:  [0.00464876]]
    INFO - 16:52:42:      4%|         | 2/50 [00:00<00:01, 33.12 it/sec, obj=0.00465]
 WARNING - 16:52:42: Relative MSE: [[0.00051653]
 WARNING - 16:52:42:  [0.00051653]
 WARNING - 16:52:42:  [0.00051653]
 WARNING - 16:52:42:  [0.00051653]
 WARNING - 16:52:42:  [0.00051653]
 WARNING - 16:52:42:  [0.00051653]]
    INFO - 16:52:42:      6%|         | 3/50 [00:00<00:01, 24.35 it/sec, obj=0.000517]
 WARNING - 16:52:43: Relative MSE: [[0.00051653]
 WARNING - 16:52:43:  [0.00051653]
 WARNING - 16:52:43:  [0.00051653]
 WARNING - 16:52:43:  [0.00051653]
 WARNING - 16:52:43:  [0.00051653]
 WARNING - 16:52:43:  [0.00051653]]
    INFO - 16:52:43:      8%|         | 4/50 [00:00<00:02, 20.75 it/sec, obj=0.000517]
    INFO - 16:52:43: Optimization result:
    INFO - 16:52:43:    Optimizer info:
    INFO - 16:52:43:       Status: None
    INFO - 16:52:43:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 16:52:43:       Number of calls to the objective function by the optimizer: 5
    INFO - 16:52:43:    Solution:
    INFO - 16:52:43:       Objective: 0.000516528925619832
    INFO - 16:52:43:       Design space:
    INFO - 16:52:43:          +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:43:          | Name          | Lower bound | Value  | Upper bound | Type  |
    INFO - 16:52:43:          +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:43:          | young_modulus |    190000   | 225000 |    230000   | float |
    INFO - 16:52:43:          +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:43: *** End CalibrationScenario execution (time: 0:00:00.285222) ***
    INFO - 16:52:43: Parameters before calibration: {'young_modulus': array([195000.])}
    INFO - 16:52:43: Parameters after calibration: {'young_modulus': 225000.0}
/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/matplotlib/_mathtext.py:2170: PyparsingDeprecationWarning:

'parseString' deprecated - use 'parse_string'

/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/pyparsing/util.py:466: PyparsingDeprecationWarning:

'parseAll' argument is deprecated, use 'parse_all'

/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/matplotlib/_mathtext.py:2178: PyparsingDeprecationWarning:

'resetCache' deprecated - use 'reset_cache'

    INFO - 16:52:43: Saving result to /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/scalars_with_starting_point/CalibrationStep_result.hdf5
    INFO - 16:52:43: PICKLE fallback: key='Cantilever', type=<class 'vimseo.problems.beam_analytic.bending_test_analytical.BendingTestAnalytical'>, value=Model BendingTestAnalytical:  An analytical model for the bending of a parallelepipedic beam
    INFO - 16:52:43: 
    INFO - 16:52:43: Load case:
    INFO - 16:52:43:    Load case Cantilever: A cantilever load case.
    INFO - 16:52:43:    
    INFO - 16:52:43:    Boundary condition variables:
    INFO - 16:52:43:    ['imposed_dplt', 'relative_dplt_location']
    INFO - 16:52:43:    
    INFO - 16:52:43:    Plot parameters:
    INFO - 16:52:43:    {
    INFO - 16:52:43:     "curves": []
    INFO - 16:52:43: }
    INFO - 16:52:43:    Load:
    INFO - 16:52:43:    Load(direction='', sign='', type='')
    INFO - 16:52:43: 
    INFO - 16:52:43: Default values:
    INFO - 16:52:43:    
    INFO - 16:52:43:    Default geometrical variables:
    INFO - 16:52:43:    {"height": [40.0], "length": [600.0], "width": [30.0]}
    INFO - 16:52:43:    
    INFO - 16:52:43:    Default numerical variables:
    INFO - 16:52:43:    {}
    INFO - 16:52:43:    
    INFO - 16:52:43:    Default boundary conditions variables:
    INFO - 16:52:43:    {"imposed_dplt": [-5.0], "relative_dplt_location": [1.0]}
    INFO - 16:52:43:    
    INFO - 16:52:43:    Default material variables:
    INFO - 16:52:43:    {"nu_p": [0.3], "young_modulus": [210000.0]}
    INFO - 16:52:43: model_inputs:
    INFO - 16:52:43:    [
    INFO - 16:52:43:     "length",
    INFO - 16:52:43:     "width",
    INFO - 16:52:43:     "height",
    INFO - 16:52:43:     "imposed_dplt",
    INFO - 16:52:43:     "relative_dplt_location",
    INFO - 16:52:43:     "young_modulus",
    INFO - 16:52:43:     "nu_p"
    INFO - 16:52:43: ]
    INFO - 16:52:43: model_outputs:
    INFO - 16:52:43:    [
    INFO - 16:52:43:     "reaction_forces",
    INFO - 16:52:43:     "maximum_dplt",
    INFO - 16:52:43:     "dplt_grid",
    INFO - 16:52:43:     "location_max_dplt",
    INFO - 16:52:43:     "dplt",
    INFO - 16:52:43:     "moment",
    INFO - 16:52:43:     "moment_grid",
    INFO - 16:52:43:     "dplt_at_force_location",
    INFO - 16:52:43:     "error_code",
    INFO - 16:52:43:     "model",
    INFO - 16:52:43:     "load_case",
    INFO - 16:52:43:     "description",
    INFO - 16:52:43:     "job_name",
    INFO - 16:52:43:     "persistent_result_files",
    INFO - 16:52:43:     "n_cpus",
    INFO - 16:52:43:     "date",
    INFO - 16:52:43:     "cpu_time",
    INFO - 16:52:43:     "user",
    INFO - 16:52:43:     "machine",
    INFO - 16:52:43:     "vims_git_version",
    INFO - 16:52:43:     "directory_archive_root",
    INFO - 16:52:43:     "directory_archive_job",
    INFO - 16:52:43:     "directory_scratch_root",
    INFO - 16:52:43:     "directory_scratch_job"
    INFO - 16:52:43: ]
    INFO - 16:52:43: PICKLE fallback: key='design_space', type=<class 'gemseo.algos.design_space.DesignSpace'>, value=Design space:
    INFO - 16:52:43: +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:43: | Name          | Lower bound | Value  | Upper bound | Type  |
    INFO - 16:52:43: +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:43: | young_modulus |    190000   | 225000 |    230000   | float |
    INFO - 16:52:43: +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:43: PICKLE fallback: key='optimization_history_variables', type=<class 'matplotlib.figure.Figure'>, value=Figure(1100x600)
    INFO - 16:52:43: PICKLE fallback: key='optimization_history_objective', type=<class 'matplotlib.figure.Figure'>, value=Figure(1100x600)
    INFO - 16:52:43: PICKLE fallback: key='optimization_history_x_xstar', type=<class 'matplotlib.figure.Figure'>, value=Figure(1100x600)
    INFO - 16:52:43: PICKLE fallback: key='simulated_versus_reference_reaction_forces', type=<class 'matplotlib.figure.Figure'>, value=Figure(640x480)

{'young_modulus': 195000.0}

And the posterior parameters is the expected value:

step.result.posterior_parameters

Out:

{'young_modulus': 225000.0}

The type of optimizer and the corresponding settings can be changed. Note that you need to select the settings corresponding to the optimizer (it is not ensured automatically). Here, for instance, a multi-start optimization running NLOPT_COBYLA optimizer is chosen:

step = CalibrationStep(working_directory="scalars_specified_optimizer")
step.execute(
    inputs=CalibrationStepInputs(
        reference_data={
            "Cantilever": reference_dataset_cantilever,
        },
    ),
    settings=CalibrationStepSettings(
        name_to_models={"Cantilever": deepcopy(model)},
        control_outputs={
            output_name: CalibrationMetricSettings(
                measure="RelativeMSE",
            )
        },
        input_names=[
            "height",
            "width",
            "imposed_dplt",
        ],
        parameter_names=["young_modulus"],
        optimizer_name="MultiStart",
        optimizer_settings=MultiStart_Settings(
            opt_algo_name="NLOPT_COBYLA", max_iter=50
        ),
    ),
)
step.save_results()

Out:

    INFO - 16:52:43: Found 480 entries in the cache file : /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/model_runs/caches/calibration_scalars/BendingTestAnalytical_Cantilever_cache.hdf node : node
    INFO - 16:52:43: Working directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/scalars_specified_optimizer
    INFO - 16:52:44: Found 480 entries in the cache file : /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/model_runs/caches/calibration_scalars/BendingTestAnalytical_Cantilever_cache.hdf node : node
    INFO - 16:52:44: Calibration design space: Design space:
    INFO - 16:52:44: +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:44: | Name          | Lower bound | Value  | Upper bound | Type  |
    INFO - 16:52:44: +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:44: | young_modulus |    190000   | 210000 |    230000   | float |
    INFO - 16:52:44: +---------------+-------------+--------+-------------+-------+
 WARNING - 16:52:44: No coupling in MDA, switching chain_linearize to True.
    INFO - 16:52:44:  
    INFO - 16:52:44: *** Start CalibrationScenario execution ***
    INFO - 16:52:44: CalibrationScenario
    INFO - 16:52:44:    Disciplines: Calibrator
    INFO - 16:52:44:    MDO formulation: DisciplinaryOpt
 WARNING - 16:52:44: Relative MSE: [[0.00206612]
 WARNING - 16:52:44:  [0.00206612]
 WARNING - 16:52:44:  [0.00206612]
 WARNING - 16:52:44:  [0.00206612]
 WARNING - 16:52:44:  [0.00206612]
 WARNING - 16:52:44:  [0.00206612]]
    INFO - 16:52:44: Optimization problem:
    INFO - 16:52:44:    minimize RelativeMSE[Cantilever:reaction_forces](young_modulus)
    INFO - 16:52:44:    with respect to young_modulus
    INFO - 16:52:44:    over the design space:
    INFO - 16:52:44:       +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:44:       | Name          | Lower bound | Value  | Upper bound | Type  |
    INFO - 16:52:44:       +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:44:       | young_modulus |    190000   | 210000 |    230000   | float |
    INFO - 16:52:44:       +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:44: Solving optimization problem with algorithm MultiStart:
    INFO - 16:52:44:      2%|         | 1/50 [00:00<00:00, 3994.58 it/sec, obj=0.00207]
 WARNING - 16:52:44: Relative MSE: [[0.00210538]
 WARNING - 16:52:44:  [0.00210538]
 WARNING - 16:52:44:  [0.00210538]
 WARNING - 16:52:44:  [0.00210538]
 WARNING - 16:52:44:  [0.00210538]
 WARNING - 16:52:44:  [0.00210538]]
    INFO - 16:52:44:      4%|         | 2/50 [00:00<00:01, 31.70 it/sec, obj=0.00211]
 WARNING - 16:52:44: Relative MSE: [[1.8479446e-07]
 WARNING - 16:52:44:  [1.8479446e-07]
 WARNING - 16:52:44:  [1.8479446e-07]
 WARNING - 16:52:44:  [1.8479446e-07]
 WARNING - 16:52:44:  [1.8479446e-07]
 WARNING - 16:52:44:  [1.8479446e-07]]
    INFO - 16:52:44:      6%|         | 3/50 [00:00<00:01, 24.02 it/sec, obj=1.85e-7]
 WARNING - 16:52:44: Relative MSE: [[0.00202722]
 WARNING - 16:52:44:  [0.00202722]
 WARNING - 16:52:44:  [0.00202722]
 WARNING - 16:52:44:  [0.00202722]
 WARNING - 16:52:44:  [0.00202722]
 WARNING - 16:52:44:  [0.00202722]]
    INFO - 16:52:44:      8%|         | 4/50 [00:00<00:02, 20.58 it/sec, obj=0.00203]
 WARNING - 16:52:44: Relative MSE: [[0.00049717]
 WARNING - 16:52:44:  [0.00049717]
 WARNING - 16:52:44:  [0.00049717]
 WARNING - 16:52:44:  [0.00049717]
 WARNING - 16:52:44:  [0.00049717]
 WARNING - 16:52:44:  [0.00049717]]
    INFO - 16:52:44:     10%|         | 5/50 [00:00<00:02, 19.56 it/sec, obj=0.000497]
 WARNING - 16:52:44: Relative MSE: [[0.00013909]
 WARNING - 16:52:44:  [0.00013909]
 WARNING - 16:52:44:  [0.00013909]
 WARNING - 16:52:44:  [0.00013909]
 WARNING - 16:52:44:  [0.00013909]
 WARNING - 16:52:44:  [0.00013909]]
    INFO - 16:52:44:     12%|█▏        | 6/50 [00:00<00:02, 18.84 it/sec, obj=0.000139]
 WARNING - 16:52:44: Relative MSE: [[2.75828834e-05]
 WARNING - 16:52:44:  [2.75828834e-05]
 WARNING - 16:52:44:  [2.75828834e-05]
 WARNING - 16:52:44:  [2.75828834e-05]
 WARNING - 16:52:44:  [2.75828834e-05]
 WARNING - 16:52:44:  [2.75828834e-05]]
    INFO - 16:52:44:     14%|█▍        | 7/50 [00:00<00:02, 18.36 it/sec, obj=2.76e-5]
 WARNING - 16:52:44: Relative MSE: [[1.06980434e-05]
 WARNING - 16:52:44:  [1.06980434e-05]
 WARNING - 16:52:44:  [1.06980434e-05]
 WARNING - 16:52:44:  [1.06980434e-05]
 WARNING - 16:52:44:  [1.06980434e-05]
 WARNING - 16:52:44:  [1.06980434e-05]]
    INFO - 16:52:44:     16%|█▌        | 8/50 [00:00<00:02, 17.97 it/sec, obj=1.07e-5]
 WARNING - 16:52:44: Relative MSE: [[9.81243355e-07]
 WARNING - 16:52:44:  [9.81243355e-07]
 WARNING - 16:52:44:  [9.81243355e-07]
 WARNING - 16:52:44:  [9.81243355e-07]
 WARNING - 16:52:44:  [9.81243355e-07]
 WARNING - 16:52:44:  [9.81243355e-07]]
    INFO - 16:52:44:     18%|█▊        | 9/50 [00:00<00:02, 17.73 it/sec, obj=9.81e-7]
 WARNING - 16:52:44: Relative MSE: [[1.29983835e-06]
 WARNING - 16:52:44:  [1.29983835e-06]
 WARNING - 16:52:44:  [1.29983835e-06]
 WARNING - 16:52:44:  [1.29983835e-06]
 WARNING - 16:52:44:  [1.29983835e-06]
 WARNING - 16:52:44:  [1.29983835e-06]]
    INFO - 16:52:44:     20%|██        | 10/50 [00:00<00:02, 17.57 it/sec, obj=1.3e-6]
 WARNING - 16:52:44: Relative MSE: [[5.58959969e-09]
 WARNING - 16:52:44:  [5.58959969e-09]
 WARNING - 16:52:44:  [5.58959969e-09]
 WARNING - 16:52:44:  [5.58959969e-09]
 WARNING - 16:52:44:  [5.58959969e-09]
 WARNING - 16:52:44:  [5.58959969e-09]]
    INFO - 16:52:44:     22%|██▏       | 11/50 [00:00<00:02, 17.37 it/sec, obj=5.59e-9]
 WARNING - 16:52:44: Relative MSE: [[0.00064879]
 WARNING - 16:52:44:  [0.00064879]
 WARNING - 16:52:44:  [0.00064879]
 WARNING - 16:52:44:  [0.00064879]
 WARNING - 16:52:44:  [0.00064879]
 WARNING - 16:52:44:  [0.00064879]]
    INFO - 16:52:44:     24%|██▍       | 12/50 [00:00<00:02, 17.21 it/sec, obj=0.000649]
 WARNING - 16:52:44: Relative MSE: [[0.00039933]
 WARNING - 16:52:44:  [0.00039933]
 WARNING - 16:52:44:  [0.00039933]
 WARNING - 16:52:44:  [0.00039933]
 WARNING - 16:52:44:  [0.00039933]
 WARNING - 16:52:44:  [0.00039933]]
    INFO - 16:52:44:     26%|██▌       | 13/50 [00:00<00:02, 17.12 it/sec, obj=0.000399]
 WARNING - 16:52:44: Relative MSE: [[0.00206612]
 WARNING - 16:52:44:  [0.00206612]
 WARNING - 16:52:44:  [0.00206612]
 WARNING - 16:52:44:  [0.00206612]
 WARNING - 16:52:44:  [0.00206612]
 WARNING - 16:52:44:  [0.00206612]]
    INFO - 16:52:44:     28%|██▊       | 14/50 [00:00<00:02, 17.06 it/sec, obj=0.00207]
 WARNING - 16:52:45: Relative MSE: [[0.00182418]
 WARNING - 16:52:45:  [0.00182418]
 WARNING - 16:52:45:  [0.00182418]
 WARNING - 16:52:45:  [0.00182418]
 WARNING - 16:52:45:  [0.00182418]
 WARNING - 16:52:45:  [0.00182418]]
    INFO - 16:52:45:     30%|███       | 15/50 [00:00<00:02, 17.01 it/sec, obj=0.00182]
 WARNING - 16:52:45: Relative MSE: [[7.42958139e-05]
 WARNING - 16:52:45:  [7.42958139e-05]
 WARNING - 16:52:45:  [7.42958139e-05]
 WARNING - 16:52:45:  [7.42958139e-05]
 WARNING - 16:52:45:  [7.42958139e-05]
 WARNING - 16:52:45:  [7.42958139e-05]]
    INFO - 16:52:45:     32%|███▏      | 16/50 [00:00<00:02, 16.93 it/sec, obj=7.43e-5]
 WARNING - 16:52:45: Relative MSE: [[7.53027367e-06]
 WARNING - 16:52:45:  [7.53027367e-06]
 WARNING - 16:52:45:  [7.53027367e-06]
 WARNING - 16:52:45:  [7.53027367e-06]
 WARNING - 16:52:45:  [7.53027367e-06]
 WARNING - 16:52:45:  [7.53027367e-06]]
    INFO - 16:52:45:     34%|███▍      | 17/50 [00:01<00:01, 16.78 it/sec, obj=7.53e-6]
 WARNING - 16:52:45: Relative MSE: [[0.00019903]
 WARNING - 16:52:45:  [0.00019903]
 WARNING - 16:52:45:  [0.00019903]
 WARNING - 16:52:45:  [0.00019903]
 WARNING - 16:52:45:  [0.00019903]
 WARNING - 16:52:45:  [0.00019903]]
    INFO - 16:52:45:     36%|███▌      | 18/50 [00:01<00:01, 16.65 it/sec, obj=0.000199]
 WARNING - 16:52:45: Relative MSE: [[8.62998593e-06]
 WARNING - 16:52:45:  [8.62998593e-06]
 WARNING - 16:52:45:  [8.62998593e-06]
 WARNING - 16:52:45:  [8.62998593e-06]
 WARNING - 16:52:45:  [8.62998593e-06]
 WARNING - 16:52:45:  [8.62998593e-06]]
    INFO - 16:52:45:     38%|███▊      | 19/50 [00:01<00:01, 16.55 it/sec, obj=8.63e-6]
 WARNING - 16:52:45: Relative MSE: [[3.11927109e-05]
 WARNING - 16:52:45:  [3.11927109e-05]
 WARNING - 16:52:45:  [3.11927109e-05]
 WARNING - 16:52:45:  [3.11927109e-05]
 WARNING - 16:52:45:  [3.11927109e-05]
 WARNING - 16:52:45:  [3.11927109e-05]]
    INFO - 16:52:45:     40%|████      | 20/50 [00:01<00:01, 16.38 it/sec, obj=3.12e-5]
 WARNING - 16:52:45: Relative MSE: [[1.75212839e-06]
 WARNING - 16:52:45:  [1.75212839e-06]
 WARNING - 16:52:45:  [1.75212839e-06]
 WARNING - 16:52:45:  [1.75212839e-06]
 WARNING - 16:52:45:  [1.75212839e-06]
 WARNING - 16:52:45:  [1.75212839e-06]]
    INFO - 16:52:45:     42%|████▏     | 21/50 [00:01<00:01, 16.28 it/sec, obj=1.75e-6]
 WARNING - 16:52:45: Relative MSE: [[0.00161704]
 WARNING - 16:52:45:  [0.00161704]
 WARNING - 16:52:45:  [0.00161704]
 WARNING - 16:52:45:  [0.00161704]
 WARNING - 16:52:45:  [0.00161704]
 WARNING - 16:52:45:  [0.00161704]]
    INFO - 16:52:45:     44%|████▍     | 22/50 [00:01<00:01, 16.20 it/sec, obj=0.00162]
 WARNING - 16:52:45: Relative MSE: [[2.74803226e-05]
 WARNING - 16:52:45:  [2.74803226e-05]
 WARNING - 16:52:45:  [2.74803226e-05]
 WARNING - 16:52:45:  [2.74803226e-05]
 WARNING - 16:52:45:  [2.74803226e-05]
 WARNING - 16:52:45:  [2.74803226e-05]]
    INFO - 16:52:45:     46%|████▌     | 23/50 [00:01<00:01, 16.15 it/sec, obj=2.75e-5]
 WARNING - 16:52:45: Relative MSE: [[0.00257016]
 WARNING - 16:52:45:  [0.00257016]
 WARNING - 16:52:45:  [0.00257016]
 WARNING - 16:52:45:  [0.00257016]
 WARNING - 16:52:45:  [0.00257016]
 WARNING - 16:52:45:  [0.00257016]]
    INFO - 16:52:45:     48%|████▊     | 24/50 [00:01<00:01, 16.10 it/sec, obj=0.00257]
 WARNING - 16:52:45: Relative MSE: [[0.00078229]
 WARNING - 16:52:45:  [0.00078229]
 WARNING - 16:52:45:  [0.00078229]
 WARNING - 16:52:45:  [0.00078229]
 WARNING - 16:52:45:  [0.00078229]
 WARNING - 16:52:45:  [0.00078229]]
    INFO - 16:52:45:     50%|█████     | 25/50 [00:01<00:01, 16.05 it/sec, obj=0.000782]
 WARNING - 16:52:45: Relative MSE: [[3.74723782e-05]
 WARNING - 16:52:45:  [3.74723782e-05]
 WARNING - 16:52:45:  [3.74723782e-05]
 WARNING - 16:52:45:  [3.74723782e-05]
 WARNING - 16:52:45:  [3.74723782e-05]
 WARNING - 16:52:45:  [3.74723782e-05]]
    INFO - 16:52:45:     52%|█████▏    | 26/50 [00:01<00:01, 16.00 it/sec, obj=3.75e-5]
 WARNING - 16:52:45: Relative MSE: [[0.00011933]
 WARNING - 16:52:45:  [0.00011933]
 WARNING - 16:52:45:  [0.00011933]
 WARNING - 16:52:45:  [0.00011933]
 WARNING - 16:52:45:  [0.00011933]
 WARNING - 16:52:45:  [0.00011933]]
    INFO - 16:52:45:     54%|█████▍    | 27/50 [00:01<00:01, 15.96 it/sec, obj=0.000119]
 WARNING - 16:52:45: Relative MSE: [[5.76604308e-06]
 WARNING - 16:52:45:  [5.76604308e-06]
 WARNING - 16:52:45:  [5.76604308e-06]
 WARNING - 16:52:45:  [5.76604308e-06]
 WARNING - 16:52:45:  [5.76604308e-06]
 WARNING - 16:52:45:  [5.76604308e-06]]
    INFO - 16:52:45:     56%|█████▌    | 28/50 [00:01<00:01, 15.84 it/sec, obj=5.77e-6]
 WARNING - 16:52:46: Relative MSE: [[1.93292515e-07]
 WARNING - 16:52:46:  [1.93292515e-07]
 WARNING - 16:52:46:  [1.93292515e-07]
 WARNING - 16:52:46:  [1.93292515e-07]
 WARNING - 16:52:46:  [1.93292515e-07]
 WARNING - 16:52:46:  [1.93292515e-07]]
    INFO - 16:52:46:     58%|█████▊    | 29/50 [00:01<00:01, 15.80 it/sec, obj=1.93e-7]
 WARNING - 16:52:46: Relative MSE: [[1.07620709e-05]
 WARNING - 16:52:46:  [1.07620709e-05]
 WARNING - 16:52:46:  [1.07620709e-05]
 WARNING - 16:52:46:  [1.07620709e-05]
 WARNING - 16:52:46:  [1.07620709e-05]
 WARNING - 16:52:46:  [1.07620709e-05]]
    INFO - 16:52:46:     60%|██████    | 30/50 [00:01<00:01, 15.72 it/sec, obj=1.08e-5]
 WARNING - 16:52:46: Relative MSE: [[3.45999058e-06]
 WARNING - 16:52:46:  [3.45999058e-06]
 WARNING - 16:52:46:  [3.45999058e-06]
 WARNING - 16:52:46:  [3.45999058e-06]
 WARNING - 16:52:46:  [3.45999058e-06]
 WARNING - 16:52:46:  [3.45999058e-06]]
    INFO - 16:52:46:     62%|██████▏   | 31/50 [00:01<00:01, 15.60 it/sec, obj=3.46e-6]
 WARNING - 16:52:46: Relative MSE: [[0.00963003]
 WARNING - 16:52:46:  [0.00963003]
 WARNING - 16:52:46:  [0.00963003]
 WARNING - 16:52:46:  [0.00963003]
 WARNING - 16:52:46:  [0.00963003]
 WARNING - 16:52:46:  [0.00963003]]
    INFO - 16:52:46:     64%|██████▍   | 32/50 [00:02<00:01, 15.54 it/sec, obj=0.00963]
 WARNING - 16:52:46: Relative MSE: [[0.00277499]
 WARNING - 16:52:46:  [0.00277499]
 WARNING - 16:52:46:  [0.00277499]
 WARNING - 16:52:46:  [0.00277499]
 WARNING - 16:52:46:  [0.00277499]
 WARNING - 16:52:46:  [0.00277499]]
    INFO - 16:52:46:     66%|██████▌   | 33/50 [00:02<00:01, 15.56 it/sec, obj=0.00277]
 WARNING - 16:52:46: Relative MSE: [[5.21806319e-05]
 WARNING - 16:52:46:  [5.21806319e-05]
 WARNING - 16:52:46:  [5.21806319e-05]
 WARNING - 16:52:46:  [5.21806319e-05]
 WARNING - 16:52:46:  [5.21806319e-05]
 WARNING - 16:52:46:  [5.21806319e-05]]
    INFO - 16:52:46:     68%|██████▊   | 34/50 [00:02<00:01, 15.59 it/sec, obj=5.22e-5]
 WARNING - 16:52:46: Relative MSE: [[0.0014616]
 WARNING - 16:52:46:  [0.0014616]
 WARNING - 16:52:46:  [0.0014616]
 WARNING - 16:52:46:  [0.0014616]
 WARNING - 16:52:46:  [0.0014616]
 WARNING - 16:52:46:  [0.0014616]]
    INFO - 16:52:46:     70%|███████   | 35/50 [00:02<00:00, 15.61 it/sec, obj=0.00146]
 WARNING - 16:52:46: Relative MSE: [[0.00024036]
 WARNING - 16:52:46:  [0.00024036]
 WARNING - 16:52:46:  [0.00024036]
 WARNING - 16:52:46:  [0.00024036]
 WARNING - 16:52:46:  [0.00024036]
 WARNING - 16:52:46:  [0.00024036]]
    INFO - 16:52:46:     72%|███████▏  | 36/50 [00:02<00:00, 15.63 it/sec, obj=0.00024]
 WARNING - 16:52:46: Relative MSE: [[0.00034549]
 WARNING - 16:52:46:  [0.00034549]
 WARNING - 16:52:46:  [0.00034549]
 WARNING - 16:52:46:  [0.00034549]
 WARNING - 16:52:46:  [0.00034549]
 WARNING - 16:52:46:  [0.00034549]]
    INFO - 16:52:46:     74%|███████▍  | 37/50 [00:02<00:00, 15.64 it/sec, obj=0.000345]
 WARNING - 16:52:46: Relative MSE: [[2.37714131e-06]
 WARNING - 16:52:46:  [2.37714131e-06]
 WARNING - 16:52:46:  [2.37714131e-06]
 WARNING - 16:52:46:  [2.37714131e-06]
 WARNING - 16:52:46:  [2.37714131e-06]
 WARNING - 16:52:46:  [2.37714131e-06]]
    INFO - 16:52:46:     76%|███████▌  | 38/50 [00:02<00:00, 15.67 it/sec, obj=2.38e-6]
 WARNING - 16:52:46: Relative MSE: [[1.71397665e-05]
 WARNING - 16:52:46:  [1.71397665e-05]
 WARNING - 16:52:46:  [1.71397665e-05]
 WARNING - 16:52:46:  [1.71397665e-05]
 WARNING - 16:52:46:  [1.71397665e-05]
 WARNING - 16:52:46:  [1.71397665e-05]]
    INFO - 16:52:46:     78%|███████▊  | 39/50 [00:02<00:00, 15.64 it/sec, obj=1.71e-5]
 WARNING - 16:52:46: Relative MSE: [[1.68768942e-06]
 WARNING - 16:52:46:  [1.68768942e-06]
 WARNING - 16:52:46:  [1.68768942e-06]
 WARNING - 16:52:46:  [1.68768942e-06]
 WARNING - 16:52:46:  [1.68768942e-06]
 WARNING - 16:52:46:  [1.68768942e-06]]
    INFO - 16:52:46:     80%|████████  | 40/50 [00:02<00:00, 15.66 it/sec, obj=1.69e-6]
 WARNING - 16:52:46: Relative MSE: [[7.39603683e-06]
 WARNING - 16:52:46:  [7.39603683e-06]
 WARNING - 16:52:46:  [7.39603683e-06]
 WARNING - 16:52:46:  [7.39603683e-06]
 WARNING - 16:52:46:  [7.39603683e-06]
 WARNING - 16:52:46:  [7.39603683e-06]]
    INFO - 16:52:46:     82%|████████▏ | 41/50 [00:02<00:00, 15.69 it/sec, obj=7.4e-6]
 WARNING - 16:52:46: Relative MSE: [[0.01239645]
 WARNING - 16:52:46:  [0.01239645]
 WARNING - 16:52:46:  [0.01239645]
 WARNING - 16:52:46:  [0.01239645]
 WARNING - 16:52:46:  [0.01239645]
 WARNING - 16:52:46:  [0.01239645]]
    INFO - 16:52:46:     84%|████████▍ | 42/50 [00:02<00:00, 15.69 it/sec, obj=0.0124]
 WARNING - 16:52:46: Relative MSE: [[0.0043408]
 WARNING - 16:52:46:  [0.0043408]
 WARNING - 16:52:46:  [0.0043408]
 WARNING - 16:52:46:  [0.0043408]
 WARNING - 16:52:46:  [0.0043408]
 WARNING - 16:52:46:  [0.0043408]]
    INFO - 16:52:46:     86%|████████▌ | 43/50 [00:02<00:00, 15.70 it/sec, obj=0.00434]
 WARNING - 16:52:46: Relative MSE: [[0.00041739]
 WARNING - 16:52:46:  [0.00041739]
 WARNING - 16:52:46:  [0.00041739]
 WARNING - 16:52:46:  [0.00041739]
 WARNING - 16:52:46:  [0.00041739]
 WARNING - 16:52:46:  [0.00041739]]
    INFO - 16:52:46:     88%|████████▊ | 44/50 [00:02<00:00, 15.72 it/sec, obj=0.000417]
 WARNING - 16:52:47: Relative MSE: [[0.00062622]
 WARNING - 16:52:47:  [0.00062622]
 WARNING - 16:52:47:  [0.00062622]
 WARNING - 16:52:47:  [0.00062622]
 WARNING - 16:52:47:  [0.00062622]
 WARNING - 16:52:47:  [0.00062622]]
    INFO - 16:52:47:     90%|█████████ | 45/50 [00:02<00:00, 15.74 it/sec, obj=0.000626]
 WARNING - 16:52:47: Relative MSE: [[5.27638407e-06]
 WARNING - 16:52:47:  [5.27638407e-06]
 WARNING - 16:52:47:  [5.27638407e-06]
 WARNING - 16:52:47:  [5.27638407e-06]
 WARNING - 16:52:47:  [5.27638407e-06]
 WARNING - 16:52:47:  [5.27638407e-06]]
    INFO - 16:52:47:     92%|█████████▏| 46/50 [00:02<00:00, 15.76 it/sec, obj=5.28e-6]
 WARNING - 16:52:47: Relative MSE: [[0.00018661]
 WARNING - 16:52:47:  [0.00018661]
 WARNING - 16:52:47:  [0.00018661]
 WARNING - 16:52:47:  [0.00018661]
 WARNING - 16:52:47:  [0.00018661]
 WARNING - 16:52:47:  [0.00018661]]
    INFO - 16:52:47:     94%|█████████▍| 47/50 [00:02<00:00, 15.78 it/sec, obj=0.000187]
 WARNING - 16:52:47: Relative MSE: [[1.14567361e-05]
 WARNING - 16:52:47:  [1.14567361e-05]
 WARNING - 16:52:47:  [1.14567361e-05]
 WARNING - 16:52:47:  [1.14567361e-05]
 WARNING - 16:52:47:  [1.14567361e-05]
 WARNING - 16:52:47:  [1.14567361e-05]]
    INFO - 16:52:47:     96%|█████████▌| 48/50 [00:03<00:00, 15.76 it/sec, obj=1.15e-5]
 WARNING - 16:52:47: Relative MSE: [[2.63985014e-05]
 WARNING - 16:52:47:  [2.63985014e-05]
 WARNING - 16:52:47:  [2.63985014e-05]
 WARNING - 16:52:47:  [2.63985014e-05]
 WARNING - 16:52:47:  [2.63985014e-05]
 WARNING - 16:52:47:  [2.63985014e-05]]
    INFO - 16:52:47:     98%|█████████▊| 49/50 [00:03<00:00, 15.77 it/sec, obj=2.64e-5]
 WARNING - 16:52:47: Relative MSE: [[7.68398743e-07]
 WARNING - 16:52:47:  [7.68398743e-07]
 WARNING - 16:52:47:  [7.68398743e-07]
 WARNING - 16:52:47:  [7.68398743e-07]
 WARNING - 16:52:47:  [7.68398743e-07]
 WARNING - 16:52:47:  [7.68398743e-07]]
    INFO - 16:52:47:    100%|██████████| 50/50 [00:03<00:00, 15.80 it/sec, obj=7.68e-7]
    INFO - 16:52:47: Optimization result:
    INFO - 16:52:47:    Optimizer info:
    INFO - 16:52:47:       Status: None
    INFO - 16:52:47:       Message: None
    INFO - 16:52:47:       Number of calls to the objective function by the optimizer: 1
    INFO - 16:52:47:    Solution:
    INFO - 16:52:47:       Objective: 5.5895996925128124e-09
    INFO - 16:52:47:       Design space:
    INFO - 16:52:47:          +---------------+-------------+-------------------+-------------+-------+
    INFO - 16:52:47:          | Name          | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:52:47:          +---------------+-------------+-------------------+-------------+-------+
    INFO - 16:52:47:          | young_modulus |    190000   | 219983.5520023979 |    230000   | float |
    INFO - 16:52:47:          +---------------+-------------+-------------------+-------------+-------+
 WARNING - 16:52:47: Relative MSE: [[5.58959969e-09]
 WARNING - 16:52:47:  [5.58959969e-09]
 WARNING - 16:52:47:  [5.58959969e-09]
 WARNING - 16:52:47:  [5.58959969e-09]
 WARNING - 16:52:47:  [5.58959969e-09]
 WARNING - 16:52:47:  [5.58959969e-09]]
    INFO - 16:52:47: *** End CalibrationScenario execution (time: 0:00:03.317139) ***
    INFO - 16:52:47: Parameters before calibration: {'young_modulus': array([210000.])}
    INFO - 16:52:47: Parameters after calibration: {'young_modulus': 219983.55200239795}
/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/matplotlib/_mathtext.py:2170: PyparsingDeprecationWarning:

'parseString' deprecated - use 'parse_string'

/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/pyparsing/util.py:466: PyparsingDeprecationWarning:

'parseAll' argument is deprecated, use 'parse_all'

/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/matplotlib/_mathtext.py:2178: PyparsingDeprecationWarning:

'resetCache' deprecated - use 'reset_cache'

    INFO - 16:52:48: Saving result to /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/scalars_specified_optimizer/CalibrationStep_result.hdf5
    INFO - 16:52:48: PICKLE fallback: key='Cantilever', type=<class 'vimseo.problems.beam_analytic.bending_test_analytical.BendingTestAnalytical'>, value=Model BendingTestAnalytical:  An analytical model for the bending of a parallelepipedic beam
    INFO - 16:52:48: 
    INFO - 16:52:48: Load case:
    INFO - 16:52:48:    Load case Cantilever: A cantilever load case.
    INFO - 16:52:48:    
    INFO - 16:52:48:    Boundary condition variables:
    INFO - 16:52:48:    ['imposed_dplt', 'relative_dplt_location']
    INFO - 16:52:48:    
    INFO - 16:52:48:    Plot parameters:
    INFO - 16:52:48:    {
    INFO - 16:52:48:     "curves": []
    INFO - 16:52:48: }
    INFO - 16:52:48:    Load:
    INFO - 16:52:48:    Load(direction='', sign='', type='')
    INFO - 16:52:48: 
    INFO - 16:52:48: Default values:
    INFO - 16:52:48:    
    INFO - 16:52:48:    Default geometrical variables:
    INFO - 16:52:48:    {"height": [40.0], "length": [600.0], "width": [30.0]}
    INFO - 16:52:48:    
    INFO - 16:52:48:    Default numerical variables:
    INFO - 16:52:48:    {}
    INFO - 16:52:48:    
    INFO - 16:52:48:    Default boundary conditions variables:
    INFO - 16:52:48:    {"imposed_dplt": [-5.0], "relative_dplt_location": [1.0]}
    INFO - 16:52:48:    
    INFO - 16:52:48:    Default material variables:
    INFO - 16:52:48:    {"nu_p": [0.3], "young_modulus": [210000.0]}
    INFO - 16:52:48: model_inputs:
    INFO - 16:52:48:    [
    INFO - 16:52:48:     "length",
    INFO - 16:52:48:     "width",
    INFO - 16:52:48:     "height",
    INFO - 16:52:48:     "imposed_dplt",
    INFO - 16:52:48:     "relative_dplt_location",
    INFO - 16:52:48:     "young_modulus",
    INFO - 16:52:48:     "nu_p"
    INFO - 16:52:48: ]
    INFO - 16:52:48: model_outputs:
    INFO - 16:52:48:    [
    INFO - 16:52:48:     "reaction_forces",
    INFO - 16:52:48:     "maximum_dplt",
    INFO - 16:52:48:     "dplt_grid",
    INFO - 16:52:48:     "location_max_dplt",
    INFO - 16:52:48:     "dplt",
    INFO - 16:52:48:     "moment",
    INFO - 16:52:48:     "moment_grid",
    INFO - 16:52:48:     "dplt_at_force_location",
    INFO - 16:52:48:     "error_code",
    INFO - 16:52:48:     "model",
    INFO - 16:52:48:     "load_case",
    INFO - 16:52:48:     "description",
    INFO - 16:52:48:     "job_name",
    INFO - 16:52:48:     "persistent_result_files",
    INFO - 16:52:48:     "n_cpus",
    INFO - 16:52:48:     "date",
    INFO - 16:52:48:     "cpu_time",
    INFO - 16:52:48:     "user",
    INFO - 16:52:48:     "machine",
    INFO - 16:52:48:     "vims_git_version",
    INFO - 16:52:48:     "directory_archive_root",
    INFO - 16:52:48:     "directory_archive_job",
    INFO - 16:52:48:     "directory_scratch_root",
    INFO - 16:52:48:     "directory_scratch_job"
    INFO - 16:52:48: ]
    INFO - 16:52:48: PICKLE fallback: key='design_space', type=<class 'gemseo.algos.design_space.DesignSpace'>, value=Design space:
    INFO - 16:52:48: +---------------+-------------+-------------------+-------------+-------+
    INFO - 16:52:48: | Name          | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:52:48: +---------------+-------------+-------------------+-------------+-------+
    INFO - 16:52:48: | young_modulus |    190000   | 219983.5520023979 |    230000   | float |
    INFO - 16:52:48: +---------------+-------------+-------------------+-------------+-------+
    INFO - 16:52:48: PICKLE fallback: key='optimization_history_variables', type=<class 'matplotlib.figure.Figure'>, value=Figure(1100x600)
    INFO - 16:52:48: PICKLE fallback: key='optimization_history_objective', type=<class 'matplotlib.figure.Figure'>, value=Figure(1100x600)
    INFO - 16:52:48: PICKLE fallback: key='optimization_history_x_xstar', type=<class 'matplotlib.figure.Figure'>, value=Figure(1100x600)
    INFO - 16:52:48: PICKLE fallback: key='simulated_versus_reference_reaction_forces', type=<class 'matplotlib.figure.Figure'>, value=Figure(640x480)

And the posterior parameters is the expected value:

step.result.posterior_parameters

Out:

{'young_modulus': 219983.55200239795}

By default, the design space (in which the optimizer is allowed to explore) is defined from the model default values and bounds. A specific design space can be prescribed, in particular if you want to change its bounds. Note that you need to prescribe a value to argument value of method add_variable:

design_space = DesignSpace()
design_space.add_variable(
    "young_modulus",
    value=model.default_input_data["young_modulus"][0],
    lower_bound=1.95e5,
    upper_bound=2.25e5,
)
step = CalibrationStep(working_directory="scalars_specified_design_space")
step.execute(
    inputs=CalibrationStepInputs(
        reference_data={
            "Cantilever": reference_dataset_cantilever,
        },
        design_space=design_space,
    ),
    settings=CalibrationStepSettings(
        name_to_models={"Cantilever": deepcopy(model)},
        control_outputs={
            output_name: CalibrationMetricSettings(
                measure="RelativeMSE",
            )
        },
        input_names=[
            "height",
            "width",
            "imposed_dplt",
        ],
        parameter_names=["young_modulus"],
        optimizer_settings=NLOPT_COBYLA_Settings(),
    ),
)
step.save_results()
step.result.posterior_parameters

Out:

    INFO - 16:52:48: Found 480 entries in the cache file : /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/model_runs/caches/calibration_scalars/BendingTestAnalytical_Cantilever_cache.hdf node : node
    INFO - 16:52:48: Working directory is /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/scalars_specified_design_space
    INFO - 16:52:48: Found 480 entries in the cache file : /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/model_runs/caches/calibration_scalars/BendingTestAnalytical_Cantilever_cache.hdf node : node
/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/pydantic/main.py:209: DeprecationWarning:

Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)

    INFO - 16:52:48: Calibration design space: Design space:
    INFO - 16:52:48: +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:48: | Name          | Lower bound | Value  | Upper bound | Type  |
    INFO - 16:52:48: +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:48: | young_modulus |    195000   | 210000 |    225000   | float |
    INFO - 16:52:48: +---------------+-------------+--------+-------------+-------+
 WARNING - 16:52:48: No coupling in MDA, switching chain_linearize to True.
    INFO - 16:52:48:  
    INFO - 16:52:48: *** Start CalibrationScenario execution ***
    INFO - 16:52:48: CalibrationScenario
    INFO - 16:52:48:    Disciplines: Calibrator
    INFO - 16:52:48:    MDO formulation: DisciplinaryOpt
 WARNING - 16:52:48: Relative MSE: [[0.00206612]
 WARNING - 16:52:48:  [0.00206612]
 WARNING - 16:52:48:  [0.00206612]
 WARNING - 16:52:48:  [0.00206612]
 WARNING - 16:52:48:  [0.00206612]
 WARNING - 16:52:48:  [0.00206612]]
    INFO - 16:52:48: Optimization problem:
    INFO - 16:52:48:    minimize RelativeMSE[Cantilever:reaction_forces](young_modulus)
    INFO - 16:52:48:    with respect to young_modulus
    INFO - 16:52:48:    over the design space:
    INFO - 16:52:48:       +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:48:       | Name          | Lower bound | Value  | Upper bound | Type  |
    INFO - 16:52:48:       +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:48:       | young_modulus |    195000   | 210000 |    225000   | float |
    INFO - 16:52:48:       +---------------+-------------+--------+-------------+-------+
    INFO - 16:52:48: Solving optimization problem with algorithm NLOPT_COBYLA:
 WARNING - 16:52:48: Relative MSE: [[0.00012913]
 WARNING - 16:52:48:  [0.00012913]
 WARNING - 16:52:48:  [0.00012913]
 WARNING - 16:52:48:  [0.00012913]
 WARNING - 16:52:48:  [0.00012913]
 WARNING - 16:52:48:  [0.00012913]]
 WARNING - 16:52:48: Relative MSE: [[0.00051653]
 WARNING - 16:52:48:  [0.00051653]
 WARNING - 16:52:48:  [0.00051653]
 WARNING - 16:52:48:  [0.00051653]
 WARNING - 16:52:48:  [0.00051653]
 WARNING - 16:52:48:  [0.00051653]]
 WARNING - 16:52:48: Relative MSE: [[3.22830579e-05]
 WARNING - 16:52:48:  [3.22830579e-05]
 WARNING - 16:52:48:  [3.22830579e-05]
 WARNING - 16:52:48:  [3.22830579e-05]
 WARNING - 16:52:48:  [3.22830579e-05]
 WARNING - 16:52:48:  [3.22830579e-05]]
 WARNING - 16:52:48: Relative MSE: [[0.00020177]
 WARNING - 16:52:48:  [0.00020177]
 WARNING - 16:52:48:  [0.00020177]
 WARNING - 16:52:48:  [0.00020177]
 WARNING - 16:52:48:  [0.00020177]
 WARNING - 16:52:48:  [0.00020177]]
 WARNING - 16:52:49: Relative MSE: [[2.01769112e-06]
 WARNING - 16:52:49:  [2.01769112e-06]
 WARNING - 16:52:49:  [2.01769112e-06]
 WARNING - 16:52:49:  [2.01769112e-06]
 WARNING - 16:52:49:  [2.01769112e-06]
 WARNING - 16:52:49:  [2.01769112e-06]]
    INFO - 16:52:49:      1%|          | 6/1000 [00:00<00:55, 18.00 it/sec, obj=2.02e-6]
 WARNING - 16:52:49: Relative MSE: [[8.07076446e-06]
 WARNING - 16:52:49:  [8.07076446e-06]
 WARNING - 16:52:49:  [8.07076446e-06]
 WARNING - 16:52:49:  [8.07076446e-06]
 WARNING - 16:52:49:  [8.07076446e-06]
 WARNING - 16:52:49:  [8.07076446e-06]]
    INFO - 16:52:49:      1%|          | 7/1000 [00:00<00:56, 17.68 it/sec, obj=8.07e-6]
 WARNING - 16:52:49: Relative MSE: [[5.04422779e-07]
 WARNING - 16:52:49:  [5.04422779e-07]
 WARNING - 16:52:49:  [5.04422779e-07]
 WARNING - 16:52:49:  [5.04422779e-07]
 WARNING - 16:52:49:  [5.04422779e-07]
 WARNING - 16:52:49:  [5.04422779e-07]]
    INFO - 16:52:49:      1%|          | 8/1000 [00:00<00:56, 17.47 it/sec, obj=5.04e-7]
 WARNING - 16:52:49: Relative MSE: [[3.15264237e-06]
 WARNING - 16:52:49:  [3.15264237e-06]
 WARNING - 16:52:49:  [3.15264237e-06]
 WARNING - 16:52:49:  [3.15264237e-06]
 WARNING - 16:52:49:  [3.15264237e-06]
 WARNING - 16:52:49:  [3.15264237e-06]]
    INFO - 16:52:49:      1%|          | 9/1000 [00:00<00:57, 17.36 it/sec, obj=3.15e-6]
 WARNING - 16:52:49: Relative MSE: [[3.15264237e-08]
 WARNING - 16:52:49:  [3.15264237e-08]
 WARNING - 16:52:49:  [3.15264237e-08]
 WARNING - 16:52:49:  [3.15264237e-08]
 WARNING - 16:52:49:  [3.15264237e-08]
 WARNING - 16:52:49:  [3.15264237e-08]]
    INFO - 16:52:49:      1%|          | 10/1000 [00:00<00:57, 17.28 it/sec, obj=3.15e-8]
 WARNING - 16:52:49: Relative MSE: [[1.26105695e-07]
 WARNING - 16:52:49:  [1.26105695e-07]
 WARNING - 16:52:49:  [1.26105695e-07]
 WARNING - 16:52:49:  [1.26105695e-07]
 WARNING - 16:52:49:  [1.26105695e-07]
 WARNING - 16:52:49:  [1.26105695e-07]]
    INFO - 16:52:49:      1%|          | 11/1000 [00:00<00:57, 17.19 it/sec, obj=1.26e-7]
 WARNING - 16:52:49: Relative MSE: [[7.88160592e-09]
 WARNING - 16:52:49:  [7.88160592e-09]
 WARNING - 16:52:49:  [7.88160592e-09]
 WARNING - 16:52:49:  [7.88160592e-09]
 WARNING - 16:52:49:  [7.88160592e-09]
 WARNING - 16:52:49:  [7.88160592e-09]]
    INFO - 16:52:49:      1%|          | 12/1000 [00:00<00:57, 17.10 it/sec, obj=7.88e-9]
 WARNING - 16:52:49: Relative MSE: [[4.9260037e-08]
 WARNING - 16:52:49:  [4.9260037e-08]
 WARNING - 16:52:49:  [4.9260037e-08]
 WARNING - 16:52:49:  [4.9260037e-08]
 WARNING - 16:52:49:  [4.9260037e-08]
 WARNING - 16:52:49:  [4.9260037e-08]]
    INFO - 16:52:49:      1%|         | 13/1000 [00:00<00:58, 17.01 it/sec, obj=4.93e-8]
 WARNING - 16:52:49: Relative MSE: [[4.9260037e-10]
 WARNING - 16:52:49:  [4.9260037e-10]
 WARNING - 16:52:49:  [4.9260037e-10]
 WARNING - 16:52:49:  [4.9260037e-10]
 WARNING - 16:52:49:  [4.9260037e-10]
 WARNING - 16:52:49:  [4.9260037e-10]]
    INFO - 16:52:49:      1%|         | 14/1000 [00:00<00:58, 16.86 it/sec, obj=4.93e-10]
 WARNING - 16:52:49: Relative MSE: [[1.97040148e-09]
 WARNING - 16:52:49:  [1.97040148e-09]
 WARNING - 16:52:49:  [1.97040148e-09]
 WARNING - 16:52:49:  [1.97040148e-09]
 WARNING - 16:52:49:  [1.97040148e-09]
 WARNING - 16:52:49:  [1.97040148e-09]]
    INFO - 16:52:49:      2%|         | 15/1000 [00:00<01:00, 16.17 it/sec, obj=1.97e-9]
 WARNING - 16:52:49: Relative MSE: [[1.23150093e-10]
 WARNING - 16:52:49:  [1.23150093e-10]
 WARNING - 16:52:49:  [1.23150093e-10]
 WARNING - 16:52:49:  [1.23150093e-10]
 WARNING - 16:52:49:  [1.23150093e-10]
 WARNING - 16:52:49:  [1.23150093e-10]]
    INFO - 16:52:49:      2%|         | 16/1000 [00:00<01:01, 16.09 it/sec, obj=1.23e-10]
 WARNING - 16:52:49: Relative MSE: [[7.69688078e-10]
 WARNING - 16:52:49:  [7.69688078e-10]
 WARNING - 16:52:49:  [7.69688078e-10]
 WARNING - 16:52:49:  [7.69688078e-10]
 WARNING - 16:52:49:  [7.69688078e-10]
 WARNING - 16:52:49:  [7.69688078e-10]]
    INFO - 16:52:49:      2%|         | 17/1000 [00:01<01:01, 16.08 it/sec, obj=7.7e-10]
 WARNING - 16:52:49: Relative MSE: [[7.69688078e-12]
 WARNING - 16:52:49:  [7.69688078e-12]
 WARNING - 16:52:49:  [7.69688078e-12]
 WARNING - 16:52:49:  [7.69688078e-12]
 WARNING - 16:52:49:  [7.69688078e-12]
 WARNING - 16:52:49:  [7.69688078e-12]]
    INFO - 16:52:49:      2%|         | 18/1000 [00:01<01:01, 16.07 it/sec, obj=7.7e-12]
 WARNING - 16:52:49: Relative MSE: [[3.07875231e-11]
 WARNING - 16:52:49:  [3.07875231e-11]
 WARNING - 16:52:49:  [3.07875231e-11]
 WARNING - 16:52:49:  [3.07875231e-11]
 WARNING - 16:52:49:  [3.07875231e-11]
 WARNING - 16:52:49:  [3.07875231e-11]]
    INFO - 16:52:49:      2%|         | 19/1000 [00:01<01:00, 16.08 it/sec, obj=3.08e-11]
 WARNING - 16:52:49: Relative MSE: [[1.92422020e-12]
 WARNING - 16:52:49:  [1.92422020e-12]
 WARNING - 16:52:49:  [1.92422020e-12]
 WARNING - 16:52:49:  [1.92422020e-12]
 WARNING - 16:52:49:  [1.92422020e-12]
 WARNING - 16:52:49:  [1.92422019e-12]]
    INFO - 16:52:49:      2%|         | 20/1000 [00:01<01:01, 16.05 it/sec, obj=1.92e-12]
 WARNING - 16:52:50: Relative MSE: [[1.20263762e-11]
 WARNING - 16:52:50:  [1.20263762e-11]
 WARNING - 16:52:50:  [1.20263762e-11]
 WARNING - 16:52:50:  [1.20263762e-11]
 WARNING - 16:52:50:  [1.20263762e-11]
 WARNING - 16:52:50:  [1.20263762e-11]]
    INFO - 16:52:50:      2%|         | 21/1000 [00:01<01:01, 16.03 it/sec, obj=1.2e-11]
 WARNING - 16:52:50: Relative MSE: [[1.20263762e-13]
 WARNING - 16:52:50:  [1.20263762e-13]
 WARNING - 16:52:50:  [1.20263762e-13]
 WARNING - 16:52:50:  [1.20263762e-13]
 WARNING - 16:52:50:  [1.20263762e-13]
 WARNING - 16:52:50:  [1.20263762e-13]]
    INFO - 16:52:50:      2%|         | 22/1000 [00:01<01:01, 15.99 it/sec, obj=1.2e-13]
 WARNING - 16:52:50: Relative MSE: [[4.81055049e-13]
 WARNING - 16:52:50:  [4.81055049e-13]
 WARNING - 16:52:50:  [4.81055049e-13]
 WARNING - 16:52:50:  [4.81055049e-13]
 WARNING - 16:52:50:  [4.81055049e-13]
 WARNING - 16:52:50:  [4.81055049e-13]]
    INFO - 16:52:50:      2%|         | 23/1000 [00:01<01:01, 15.98 it/sec, obj=4.81e-13]
 WARNING - 16:52:50: Relative MSE: [[3.00659405e-14]
 WARNING - 16:52:50:  [3.00659406e-14]
 WARNING - 16:52:50:  [3.00659406e-14]
 WARNING - 16:52:50:  [3.00659406e-14]
 WARNING - 16:52:50:  [3.00659405e-14]
 WARNING - 16:52:50:  [3.00659406e-14]]
    INFO - 16:52:50:      2%|         | 24/1000 [00:01<01:01, 15.98 it/sec, obj=3.01e-14]
 WARNING - 16:52:50: Relative MSE: [[1.87912128e-13]
 WARNING - 16:52:50:  [1.87912129e-13]
 WARNING - 16:52:50:  [1.87912128e-13]
 WARNING - 16:52:50:  [1.87912128e-13]
 WARNING - 16:52:50:  [1.87912128e-13]
 WARNING - 16:52:50:  [1.87912129e-13]]
    INFO - 16:52:50:      2%|         | 25/1000 [00:01<01:00, 15.99 it/sec, obj=1.88e-13]
 WARNING - 16:52:50: Relative MSE: [[1.87912128e-15]
 WARNING - 16:52:50:  [1.87912130e-15]
 WARNING - 16:52:50:  [1.87912127e-15]
 WARNING - 16:52:50:  [1.87912129e-15]
 WARNING - 16:52:50:  [1.87912128e-15]
 WARNING - 16:52:50:  [1.87912128e-15]]
    INFO - 16:52:50:      3%|         | 26/1000 [00:01<01:00, 15.97 it/sec, obj=1.88e-15]
 WARNING - 16:52:50: Relative MSE: [[7.51648515e-15]
 WARNING - 16:52:50:  [7.51648510e-15]
 WARNING - 16:52:50:  [7.51648516e-15]
 WARNING - 16:52:50:  [7.51648518e-15]
 WARNING - 16:52:50:  [7.51648515e-15]
 WARNING - 16:52:50:  [7.51648514e-15]]
    INFO - 16:52:50:      3%|         | 27/1000 [00:01<01:00, 15.97 it/sec, obj=7.52e-15]
    INFO - 16:52:50: Optimization result:
    INFO - 16:52:50:    Optimizer info:
    INFO - 16:52:50:       Status: None
    INFO - 16:52:50:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 16:52:50:       Number of calls to the objective function by the optimizer: 31
    INFO - 16:52:50:    Solution:
    INFO - 16:52:50:       Objective: 1.8791212821671755e-15
    INFO - 16:52:50:       Design space:
    INFO - 16:52:50:          +---------------+-------------+-------------------+-------------+-------+
    INFO - 16:52:50:          | Name          | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:52:50:          +---------------+-------------+-------------------+-------------+-------+
    INFO - 16:52:50:          | young_modulus |    195000   | 219999.9904632568 |    225000   | float |
    INFO - 16:52:50:          +---------------+-------------+-------------------+-------------+-------+
 WARNING - 16:52:50: Relative MSE: [[1.87912128e-15]
 WARNING - 16:52:50:  [1.87912130e-15]
 WARNING - 16:52:50:  [1.87912127e-15]
 WARNING - 16:52:50:  [1.87912129e-15]
 WARNING - 16:52:50:  [1.87912128e-15]
 WARNING - 16:52:50:  [1.87912128e-15]]
    INFO - 16:52:50: *** End CalibrationScenario execution (time: 0:00:01.844590) ***
    INFO - 16:52:50: Parameters before calibration: {'young_modulus': array([210000.])}
    INFO - 16:52:50: Parameters after calibration: {'young_modulus': 219999.99046325684}
/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/matplotlib/_mathtext.py:2170: PyparsingDeprecationWarning:

'parseString' deprecated - use 'parse_string'

/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/pyparsing/util.py:466: PyparsingDeprecationWarning:

'parseAll' argument is deprecated, use 'parse_all'

/home/sebastien.bocquet/PycharmProjects/vimseo/.tox/doc/lib/python3.11/site-packages/matplotlib/_mathtext.py:2178: PyparsingDeprecationWarning:

'resetCache' deprecated - use 'reset_cache'

    INFO - 16:52:51: Saving result to /home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/08_calibration/scalars_specified_design_space/CalibrationStep_result.hdf5
    INFO - 16:52:51: PICKLE fallback: key='Cantilever', type=<class 'vimseo.problems.beam_analytic.bending_test_analytical.BendingTestAnalytical'>, value=Model BendingTestAnalytical:  An analytical model for the bending of a parallelepipedic beam
    INFO - 16:52:51: 
    INFO - 16:52:51: Load case:
    INFO - 16:52:51:    Load case Cantilever: A cantilever load case.
    INFO - 16:52:51:    
    INFO - 16:52:51:    Boundary condition variables:
    INFO - 16:52:51:    ['imposed_dplt', 'relative_dplt_location']
    INFO - 16:52:51:    
    INFO - 16:52:51:    Plot parameters:
    INFO - 16:52:51:    {
    INFO - 16:52:51:     "curves": []
    INFO - 16:52:51: }
    INFO - 16:52:51:    Load:
    INFO - 16:52:51:    Load(direction='', sign='', type='')
    INFO - 16:52:51: 
    INFO - 16:52:51: Default values:
    INFO - 16:52:51:    
    INFO - 16:52:51:    Default geometrical variables:
    INFO - 16:52:51:    {"height": [40.0], "length": [600.0], "width": [30.0]}
    INFO - 16:52:51:    
    INFO - 16:52:51:    Default numerical variables:
    INFO - 16:52:51:    {}
    INFO - 16:52:51:    
    INFO - 16:52:51:    Default boundary conditions variables:
    INFO - 16:52:51:    {"imposed_dplt": [-5.0], "relative_dplt_location": [1.0]}
    INFO - 16:52:51:    
    INFO - 16:52:51:    Default material variables:
    INFO - 16:52:51:    {"nu_p": [0.3], "young_modulus": [210000.0]}
    INFO - 16:52:51: model_inputs:
    INFO - 16:52:51:    [
    INFO - 16:52:51:     "length",
    INFO - 16:52:51:     "width",
    INFO - 16:52:51:     "height",
    INFO - 16:52:51:     "imposed_dplt",
    INFO - 16:52:51:     "relative_dplt_location",
    INFO - 16:52:51:     "young_modulus",
    INFO - 16:52:51:     "nu_p"
    INFO - 16:52:51: ]
    INFO - 16:52:51: model_outputs:
    INFO - 16:52:51:    [
    INFO - 16:52:51:     "reaction_forces",
    INFO - 16:52:51:     "maximum_dplt",
    INFO - 16:52:51:     "dplt_grid",
    INFO - 16:52:51:     "location_max_dplt",
    INFO - 16:52:51:     "dplt",
    INFO - 16:52:51:     "moment",
    INFO - 16:52:51:     "moment_grid",
    INFO - 16:52:51:     "dplt_at_force_location",
    INFO - 16:52:51:     "error_code",
    INFO - 16:52:51:     "model",
    INFO - 16:52:51:     "load_case",
    INFO - 16:52:51:     "description",
    INFO - 16:52:51:     "job_name",
    INFO - 16:52:51:     "persistent_result_files",
    INFO - 16:52:51:     "n_cpus",
    INFO - 16:52:51:     "date",
    INFO - 16:52:51:     "cpu_time",
    INFO - 16:52:51:     "user",
    INFO - 16:52:51:     "machine",
    INFO - 16:52:51:     "vims_git_version",
    INFO - 16:52:51:     "directory_archive_root",
    INFO - 16:52:51:     "directory_archive_job",
    INFO - 16:52:51:     "directory_scratch_root",
    INFO - 16:52:51:     "directory_scratch_job"
    INFO - 16:52:51: ]
    INFO - 16:52:51: PICKLE fallback: key='design_space', type=<class 'gemseo.algos.design_space.DesignSpace'>, value=Design space:
    INFO - 16:52:51: +---------------+-------------+-------------------+-------------+-------+
    INFO - 16:52:51: | Name          | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:52:51: +---------------+-------------+-------------------+-------------+-------+
    INFO - 16:52:51: | young_modulus |    195000   | 219999.9904632568 |    225000   | float |
    INFO - 16:52:51: +---------------+-------------+-------------------+-------------+-------+
    INFO - 16:52:51: PICKLE fallback: key='optimization_history_variables', type=<class 'matplotlib.figure.Figure'>, value=Figure(1100x600)
    INFO - 16:52:51: PICKLE fallback: key='optimization_history_objective', type=<class 'matplotlib.figure.Figure'>, value=Figure(1100x600)
    INFO - 16:52:51: PICKLE fallback: key='optimization_history_x_xstar', type=<class 'matplotlib.figure.Figure'>, value=Figure(1100x600)
    INFO - 16:52:51: PICKLE fallback: key='simulated_versus_reference_reaction_forces', type=<class 'matplotlib.figure.Figure'>, value=Figure(640x480)

{'young_modulus': 219999.99046325684}

Total running time of the script: ( 0 minutes 14.018 seconds)

Download Python source code: plot_01_calibration_on_scalars.py

Download Jupyter notebook: plot_01_calibration_on_scalars.ipynb

Gallery generated by mkdocs-gallery