Note
Click here to download the full example code
Overview of the MockModel for load case LC2¶
A toy model implementing an unphysical analytical law; used for testing purpose
from __future__ import annotations
from vimseo import EXAMPLE_RUNS_DIR
from vimseo.api import create_model
from vimseo.core.model_settings import IntegratedModelSettings
First, let's instantiate the model for a given load case:
model_name = "MockModel"
load_case = "LC2"
model = create_model(
model_name,
load_case,
check_subprocess=True,
model_options=IntegratedModelSettings(
directory_archive_root=EXAMPLE_RUNS_DIR / "archive/model_gallery",
directory_scratch_root=EXAMPLE_RUNS_DIR / "scratch/model_gallery",
cache_file_path=EXAMPLE_RUNS_DIR
/ f"caches/model_gallery/{model_name}_{load_case}_cache.hdf",
),
)
The model description can be accessed like this:
print(model.description)
Out:
Model MockModel: A toy model implementing an unphysical analytical law; used for testing purpose
Load case:
Load case LC2: A second mock load case.
Boundary condition variables:
[]
Plot parameters:
{
"curves": [
[
"y1",
"y1_2"
]
]
}
Load:
Load(direction='', sign='', type='')
Default values:
Default geometrical variables:
{"x1": [0.1], "x1_2": [0.0]}
Default numerical variables:
{}
Default boundary conditions variables:
{}
Default material variables:
{}
model_inputs:
[
"x1",
"x1_2"
]
model_outputs:
[
"y1",
"y1_2",
"error_code",
"model",
"load_case",
"description",
"job_name",
"persistent_result_files",
"n_cpus",
"date",
"cpu_time",
"user",
"machine",
"vims_git_version",
"directory_archive_root",
"directory_archive_job",
"directory_scratch_root",
"directory_scratch_job"
]
An illustration of the load case:
model.show_image()
The model is executed with its default input values:
model.execute()
Out:
{'x1': array([0.1]), 'x1_2': array([0.]), 'cpu_time': array([0.00725412]), 'date': array(['2026-03-26 14:43:29.756261'], dtype='<U26'), 'description': array([''], dtype='<U1'), 'directory_archive_job': array(['/home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/model_runs/archive/model_gallery/MockModel/LC2/2'],
dtype='<U118'), 'directory_archive_root': array(['/home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/model_runs/archive/model_gallery'],
dtype='<U102'), 'directory_scratch_job': array([''], dtype='<U1'), 'directory_scratch_root': array(['/home/sebastien.bocquet/PycharmProjects/vimseo/docs/runnable_examples/model_runs/scratch/model_gallery'],
dtype='<U102'), 'error_code': array([0]), 'job_name': array([''], dtype='<U1'), 'load_case': array(['LC2'], dtype='<U3'), 'machine': array(['IPF7101'], dtype='<U7'), 'model': array(['MockModel'], dtype='<U9'), 'n_cpus': array([1]), 'persistent_result_files': array([''], dtype='<U1'), 'user': array(['sebastien.bocquet'], dtype='<U17'), 'vims_git_version': array(['d0050d8de498c8354552cdde540fb3e524454871'], dtype='<U40'), 'y1': array([5.2]), 'y1_2': array([6.2])}
And the results are visualised with the pre-defined plots:
figures = model.plot_results(show=True)
Plot of y1_2_vs_y1
figures["y1_2_vs_y1"]
Total running time of the script: ( 0 minutes 5.666 seconds)
Download Python source code: plot_MockModel_LC2.py