Note
Click here to download the full example code
Overview of the BendingTestAnalytical for load case Cantilever¶
An analytical model for the bending of a parallelepipedic beam
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 = "BendingTestAnalytical"
load_case = "Cantilever"
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 BendingTestAnalytical: An analytical model for the bending of a parallelepipedic beam
Load case:
Load case Cantilever: A cantilever load case.
Boundary condition variables:
['imposed_dplt', 'relative_dplt_location']
Plot parameters:
{
"curves": []
}
Load:
Load(direction='', sign='', type='')
Default values:
Default geometrical variables:
{"height": [40.0], "length": [600.0], "width": [30.0]}
Default numerical variables:
{}
Default boundary conditions variables:
{"imposed_dplt": [-5.0], "relative_dplt_location": [1.0]}
Default material variables:
{"nu_p": [0.3], "young_modulus": [210000.0]}
model_inputs:
[
"length",
"width",
"height",
"imposed_dplt",
"relative_dplt_location",
"young_modulus",
"nu_p"
]
model_outputs:
[
"reaction_forces",
"moment",
"moment_grid",
"dplt",
"dplt_grid",
"maximum_dplt",
"location_max_dplt",
"dplt_at_force_location",
"model",
"load_case",
"error_code",
"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:
{'young_modulus': array([210000.]), 'nu_p': array([0.3]), 'length': array([600.]), 'width': array([30.]), 'height': array([40.]), 'imposed_dplt': array([-5.]), 'relative_dplt_location': array([1.]), 'cpu_time': array([0.02092195]), 'date': array(['2025-11-05 22:19:53.657047'], dtype='<U26'), 'description': array([''], dtype='<U1'), 'directory_archive_job': array(['..\\model_runs\\archive\\model_gallery\\BendingTestAnalytical\\Cantilever\\1'],
dtype='<U70'), 'directory_archive_root': array(['C:\\Users\\sebastien.bocquet\\PycharmProjects\\vims\\docs\\runnable_examples\\model_runs\\archive\\model_gallery'],
dtype='<U103'), 'directory_scratch_job': array([''], dtype='<U1'), 'directory_scratch_root': array(['C:\\Users\\sebastien.bocquet\\PycharmProjects\\vims\\docs\\runnable_examples\\model_runs\\scratch\\model_gallery'],
dtype='<U103'), 'dplt': array([ 0.00000000e+00, -7.62651513e-04, -3.04029995e-03, -6.81748616e-03,
-1.20787510e-02, -1.88086353e-02, -2.69916799e-02, -3.66124257e-02,
-4.76554134e-02, -6.01051841e-02, -7.39462784e-02, -8.91632373e-02,
-1.05740602e-01, -1.23662912e-01, -1.42914710e-01, -1.63480535e-01,
-1.85344930e-01, -2.08492434e-01, -2.32907588e-01, -2.58574934e-01,
-2.85479012e-01, -3.13604363e-01, -3.42935528e-01, -3.73457048e-01,
-4.05153463e-01, -4.38009315e-01, -4.72009144e-01, -5.07137491e-01,
-5.43378897e-01, -5.80717902e-01, -6.19139049e-01, -6.58626877e-01,
-6.99165927e-01, -7.40740741e-01, -7.83335858e-01, -8.26935821e-01,
-8.71525169e-01, -9.17088444e-01, -9.63610186e-01, -1.01107494e+00,
-1.05946724e+00, -1.10877163e+00, -1.15897265e+00, -1.21005484e+00,
-1.26200274e+00, -1.31480090e+00, -1.36843385e+00, -1.42288614e+00,
-1.47814230e+00, -1.53418688e+00, -1.59100442e+00, -1.64857946e+00,
-1.70689653e+00, -1.76594019e+00, -1.82569497e+00, -1.88614540e+00,
-1.94727605e+00, -2.00907143e+00, -2.07151610e+00, -2.13459459e+00,
-2.19829145e+00, -2.26259122e+00, -2.32747844e+00, -2.39293764e+00,
-2.45895337e+00, -2.52551018e+00, -2.59259259e+00, -2.66018516e+00,
-2.72827242e+00, -2.79683891e+00, -2.86586918e+00, -2.93534776e+00,
-3.00525920e+00, -3.07558804e+00, -3.14631882e+00, -3.21743607e+00,
-3.28892434e+00, -3.36076818e+00, -3.43295211e+00, -3.50546069e+00,
-3.57827845e+00, -3.65138993e+00, -3.72477968e+00, -3.79843224e+00,
-3.87233214e+00, -3.94646393e+00, -4.02081214e+00, -4.09536133e+00,
-4.17009602e+00, -4.24500077e+00, -4.32006011e+00, -4.39525857e+00,
-4.47058072e+00, -4.54601107e+00, -4.62153419e+00, -4.69713459e+00,
-4.77279684e+00, -4.84850546e+00, -4.92424500e+00, -5.00000000e+00]), 'dplt_at_force_location': array([-5.]), 'dplt_grid': array([ 0. , 6.06060606, 12.12121212, 18.18181818,
24.24242424, 30.3030303 , 36.36363636, 42.42424242,
48.48484848, 54.54545455, 60.60606061, 66.66666667,
72.72727273, 78.78787879, 84.84848485, 90.90909091,
96.96969697, 103.03030303, 109.09090909, 115.15151515,
121.21212121, 127.27272727, 133.33333333, 139.39393939,
145.45454545, 151.51515152, 157.57575758, 163.63636364,
169.6969697 , 175.75757576, 181.81818182, 187.87878788,
193.93939394, 200. , 206.06060606, 212.12121212,
218.18181818, 224.24242424, 230.3030303 , 236.36363636,
242.42424242, 248.48484848, 254.54545455, 260.60606061,
266.66666667, 272.72727273, 278.78787879, 284.84848485,
290.90909091, 296.96969697, 303.03030303, 309.09090909,
315.15151515, 321.21212121, 327.27272727, 333.33333333,
339.39393939, 345.45454545, 351.51515152, 357.57575758,
363.63636364, 369.6969697 , 375.75757576, 381.81818182,
387.87878788, 393.93939394, 400. , 406.06060606,
412.12121212, 418.18181818, 424.24242424, 430.3030303 ,
436.36363636, 442.42424242, 448.48484848, 454.54545455,
460.60606061, 466.66666667, 472.72727273, 478.78787879,
484.84848485, 490.90909091, 496.96969697, 503.03030303,
509.09090909, 515.15151515, 521.21212121, 527.27272727,
533.33333333, 539.39393939, 545.45454545, 551.51515152,
557.57575758, 563.63636364, 569.6969697 , 575.75757576,
581.81818182, 587.87878788, 593.93939394, 600. ]), 'error_code': array([0]), 'job_name': array([''], dtype='<U1'), 'load_case': array(['Cantilever'], dtype='<U10'), 'location_max_dplt': array([600.]), 'machine': array(['B20191729'], dtype='<U9'), 'maximum_dplt': array([-5.]), 'model': array(['BendingTestAnalytical'], dtype='<U21'), 'moment': array([1400000., 0.]), 'moment_grid': array([ 0., 600.]), 'n_cpus': array([1]), 'persistent_result_files': array([''], dtype='<U1'), 'reaction_forces': array([-2333.33333333]), 'user': array(['sebastien.bocquet'], dtype='<U17'), 'vims_git_version': array(['95990fa211debd91a91ffe1d89b2b0b4b855f387'], dtype='<U40')}
And the results are visualised with the pre-defined plots:
figures = model.plot_results(show=True)
Out:
{'text/html': '<div> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG"></script><script type="text/javascript">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: "STIX-Web"}});}</script> <script type="text/javascript">window.PlotlyConfig = {MathJaxConfig: \'local\'};</script>\n <script charset="utf-8" src="https://cdn.plot.ly/plotly-2.35.0.min.js"></script> <div id="4c812f3c-725d-4b8e-8911-c8e911abbb0f" class="plotly-graph-div" style="height:525px; width:100%;"></div> <script type="text/javascript"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("4c812f3c-725d-4b8e-8911-c8e911abbb0f")) { Plotly.newPlot( "4c812f3c-725d-4b8e-8911-c8e911abbb0f", [{"line":{"color":"blue","dash":"solid","width":2},"mode":"lines","name":"dplt","showlegend":true,"x":[0.0,6.0606060606060606,12.121212121212121,18.18181818181818,24.242424242424242,30.303030303030305,36.36363636363636,42.42424242424242,48.484848484848484,54.54545454545455,60.60606060606061,66.66666666666667,72.72727272727272,78.78787878787878,84.84848484848484,90.9090909090909,96.96969696969697,103.03030303030303,109.0909090909091,115.15151515151516,121.21212121212122,127.27272727272727,133.33333333333334,139.3939393939394,145.45454545454544,151.5151515151515,157.57575757575756,163.63636363636363,169.6969696969697,175.75757575757575,181.8181818181818,187.87878787878788,193.93939393939394,200.0,206.06060606060606,212.12121212121212,218.1818181818182,224.24242424242425,230.3030303030303,236.36363636363637,242.42424242424244,248.48484848484847,254.54545454545453,260.6060606060606,266.6666666666667,272.72727272727275,278.7878787878788,284.8484848484849,290.9090909090909,296.96969696969694,303.030303030303,309.09090909090907,315.1515151515151,321.2121212121212,327.27272727272725,333.3333333333333,339.3939393939394,345.45454545454544,351.5151515151515,357.57575757575756,363.6363636363636,369.6969696969697,375.75757575757575,381.8181818181818,387.8787878787879,393.93939393939394,400.0,406.06060606060606,412.1212121212121,418.1818181818182,424.24242424242425,430.3030303030303,436.3636363636364,442.42424242424244,448.4848484848485,454.54545454545456,460.6060606060606,466.6666666666667,472.72727272727275,478.7878787878788,484.8484848484849,490.9090909090909,496.96969696969694,503.030303030303,509.09090909090907,515.1515151515151,521.2121212121212,527.2727272727273,533.3333333333334,539.3939393939394,545.4545454545455,551.5151515151515,557.5757575757576,563.6363636363636,569.6969696969697,575.7575757575758,581.8181818181818,587.8787878787879,593.9393939393939,600.0],"y":[0.0,-0.0007626515125749902,-0.003040299948778674,-0.006817486156329135,-0.01207875098294445,-0.01880863527634269,-0.026991679884241906,-0.03661242565436021,-0.047655413434415636,-0.060105184072126276,-0.0739462784152102,-0.08916323731138551,-0.10574060160837022,-0.12366291215388246,-0.1429147097956403,-0.16348053538136179,-0.18534492975876504,-0.20849243377556811,-0.23290758827948913,-0.2585749341182458,-0.28547901213955673,-0.31360436319113977,-0.3429355281207131,-0.37345704777599464,-0.40515346300470234,-0.43800931465455467,-0.47200914357326945,-0.5071374906085647,-0.5433788966081587,-0.5807179024197694,-0.6191390488911149,-0.6586268768699133,-0.6991659272038825,-0.7407407407407407,-0.7833358583282061,-0.8269358208139966,-0.8715251690458303,-0.9170884438714254,-0.9636101861384999,-1.0110749366947718,-1.059467236387959,-1.10877162606578,-1.1589726465759527,-1.2100548387661951,-1.2620027434842254,-1.3148009015777615,-1.3684338538945218,-1.4228861412822236,-1.4781423045885853,-1.5341868846613258,-1.5910044223481628,-1.6485794584968139,-1.706896533954997,-1.7659401895704312,-1.825694966190834,-1.8861454046639228,-1.9472760458374168,-2.009071430559034,-2.0715160996764914,-2.1345945940375075,-2.198291454489801,-2.2625912218810895,-2.327478437059092,-2.392937640871524,-2.4589533741661076,-2.525510177790556,-2.592592592592592,-2.6601851594199304,-2.7282724191202914,-2.7968389125413906,-2.865869180530949,-2.935347763936682,-3.00525920360631,-3.0755880403875495,-3.146318815128119,-3.217436068675736,-3.2889243418781207,-3.3607681755829875,-3.4329521106380594,-3.50546068789105,-3.57827844818968,-3.651389932381665,-3.7247796813147245,-3.798432235836579,-3.8723321367949435,-3.9464639250375373,-4.020812141412077,-4.09536132676628,-4.17009602194787,-4.245000767804559,-4.3200601051840675,-4.395258574934114,-4.470580717902416,-4.54601107493669,-4.621534186884657,-4.697134594594031,-4.7727968389125355,-4.848505460687886,-4.924245000767797,-4.999999999999994],"type":"scatter"}], {"template":{"data":{"candlestick":[{"decreasing":{"line":{"color":"#000033"}},"increasing":{"line":{"color":"#000032"}},"type":"candlestick"}],"contourcarpet":[{"colorscale":[[0.0,"#000011"],[0.1111111111111111,"#000012"],[0.2222222222222222,"#000013"],[0.3333333333333333,"#000014"],[0.4444444444444444,"#000015"],[0.5555555555555556,"#000016"],[0.6666666666666666,"#000017"],[0.7777777777777778,"#000018"],[0.8888888888888888,"#000019"],[1.0,"#000020"]],"type":"contourcarpet"}],"contour":[{"colorscale":[[0.0,"#000011"],[0.1111111111111111,"#000012"],[0.2222222222222222,"#000013"],[0.3333333333333333,"#000014"],[0.4444444444444444,"#000015"],[0.5555555555555556,"#000016"],[0.6666666666666666,"#000017"],[0.7777777777777778,"#000018"],[0.8888888888888888,"#000019"],[1.0,"#000020"]],"type":"contour"}],"heatmap":[{"colorscale":[[0.0,"#000011"],[0.1111111111111111,"#000012"],[0.2222222222222222,"#000013"],[0.3333333333333333,"#000014"],[0.4444444444444444,"#000015"],[0.5555555555555556,"#000016"],[0.6666666666666666,"#000017"],[0.7777777777777778,"#000018"],[0.8888888888888888,"#000019"],[1.0,"#000020"]],"type":"heatmap"}],"histogram2d":[{"colorscale":[[0.0,"#000011"],[0.1111111111111111,"#000012"],[0.2222222222222222,"#000013"],[0.3333333333333333,"#000014"],[0.4444444444444444,"#000015"],[0.5555555555555556,"#000016"],[0.6666666666666666,"#000017"],[0.7777777777777778,"#000018"],[0.8888888888888888,"#000019"],[1.0,"#000020"]],"type":"histogram2d"}],"icicle":[{"textfont":{"color":"white"},"type":"icicle"}],"sankey":[{"textfont":{"color":"#000036"},"type":"sankey"}],"scatter":[{"marker":{"line":{"width":0}},"type":"scatter"}],"table":[{"cells":{"fill":{"color":"#000038"},"font":{"color":"#000037"},"line":{"color":"#000039"}},"header":{"fill":{"color":"#000040"},"font":{"color":"#000036"},"line":{"color":"#000039"}},"type":"table"}],"waterfall":[{"connector":{"line":{"color":"#000036","width":2}},"decreasing":{"marker":{"color":"#000033"}},"increasing":{"marker":{"color":"#000032"}},"totals":{"marker":{"color":"#000034"}},"type":"waterfall"}]},"layout":{"coloraxis":{"colorscale":[[0.0,"#000011"],[0.1111111111111111,"#000012"],[0.2222222222222222,"#000013"],[0.3333333333333333,"#000014"],[0.4444444444444444,"#000015"],[0.5555555555555556,"#000016"],[0.6666666666666666,"#000017"],[0.7777777777777778,"#000018"],[0.8888888888888888,"#000019"],[1.0,"#000020"]]},"colorscale":{"diverging":[[0.0,"#000021"],[0.1,"#000022"],[0.2,"#000023"],[0.3,"#000024"],[0.4,"#000025"],[0.5,"#000026"],[0.6,"#000027"],[0.7,"#000028"],[0.8,"#000029"],[0.9,"#000030"],[1.0,"#000031"]],"sequential":[[0.0,"#000011"],[0.1111111111111111,"#000012"],[0.2222222222222222,"#000013"],[0.3333333333333333,"#000014"],[0.4444444444444444,"#000015"],[0.5555555555555556,"#000016"],[0.6666666666666666,"#000017"],[0.7777777777777778,"#000018"],[0.8888888888888888,"#000019"],[1.0,"#000020"]],"sequentialminus":[[0.0,"#000011"],[0.1111111111111111,"#000012"],[0.2222222222222222,"#000013"],[0.3333333333333333,"#000014"],[0.4444444444444444,"#000015"],[0.5555555555555556,"#000016"],[0.6666666666666666,"#000017"],[0.7777777777777778,"#000018"],[0.8888888888888888,"#000019"],[1.0,"#000020"]]},"colorway":["#000001","#000002","#000003","#000004","#000005","#000006","#000007","#000008","#000009","#000010"]}},"title":{"text":""},"xaxis":{"title":{"text":"dplt_grid"},"showgrid":true},"yaxis":{"title":{"text":""},"showgrid":true}}, {"responsive": true} ) }; </script> </div>'}
{'text/html': '<div> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG"></script><script type="text/javascript">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: "STIX-Web"}});}</script> <script type="text/javascript">window.PlotlyConfig = {MathJaxConfig: \'local\'};</script>\n <script charset="utf-8" src="https://cdn.plot.ly/plotly-2.35.0.min.js"></script> <div id="47ca7751-32ff-41b6-8df7-39c490932a77" class="plotly-graph-div" style="height:525px; width:100%;"></div> <script type="text/javascript"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("47ca7751-32ff-41b6-8df7-39c490932a77")) { Plotly.newPlot( "47ca7751-32ff-41b6-8df7-39c490932a77", [{"line":{"color":"blue","dash":"solid","width":2},"mode":"lines","name":"moment","showlegend":true,"x":[0.0,600.0],"y":[1400000.0,0.0],"type":"scatter"}], {"template":{"data":{"candlestick":[{"decreasing":{"line":{"color":"#000033"}},"increasing":{"line":{"color":"#000032"}},"type":"candlestick"}],"contourcarpet":[{"colorscale":[[0.0,"#000011"],[0.1111111111111111,"#000012"],[0.2222222222222222,"#000013"],[0.3333333333333333,"#000014"],[0.4444444444444444,"#000015"],[0.5555555555555556,"#000016"],[0.6666666666666666,"#000017"],[0.7777777777777778,"#000018"],[0.8888888888888888,"#000019"],[1.0,"#000020"]],"type":"contourcarpet"}],"contour":[{"colorscale":[[0.0,"#000011"],[0.1111111111111111,"#000012"],[0.2222222222222222,"#000013"],[0.3333333333333333,"#000014"],[0.4444444444444444,"#000015"],[0.5555555555555556,"#000016"],[0.6666666666666666,"#000017"],[0.7777777777777778,"#000018"],[0.8888888888888888,"#000019"],[1.0,"#000020"]],"type":"contour"}],"heatmap":[{"colorscale":[[0.0,"#000011"],[0.1111111111111111,"#000012"],[0.2222222222222222,"#000013"],[0.3333333333333333,"#000014"],[0.4444444444444444,"#000015"],[0.5555555555555556,"#000016"],[0.6666666666666666,"#000017"],[0.7777777777777778,"#000018"],[0.8888888888888888,"#000019"],[1.0,"#000020"]],"type":"heatmap"}],"histogram2d":[{"colorscale":[[0.0,"#000011"],[0.1111111111111111,"#000012"],[0.2222222222222222,"#000013"],[0.3333333333333333,"#000014"],[0.4444444444444444,"#000015"],[0.5555555555555556,"#000016"],[0.6666666666666666,"#000017"],[0.7777777777777778,"#000018"],[0.8888888888888888,"#000019"],[1.0,"#000020"]],"type":"histogram2d"}],"icicle":[{"textfont":{"color":"white"},"type":"icicle"}],"sankey":[{"textfont":{"color":"#000036"},"type":"sankey"}],"scatter":[{"marker":{"line":{"width":0}},"type":"scatter"}],"table":[{"cells":{"fill":{"color":"#000038"},"font":{"color":"#000037"},"line":{"color":"#000039"}},"header":{"fill":{"color":"#000040"},"font":{"color":"#000036"},"line":{"color":"#000039"}},"type":"table"}],"waterfall":[{"connector":{"line":{"color":"#000036","width":2}},"decreasing":{"marker":{"color":"#000033"}},"increasing":{"marker":{"color":"#000032"}},"totals":{"marker":{"color":"#000034"}},"type":"waterfall"}]},"layout":{"coloraxis":{"colorscale":[[0.0,"#000011"],[0.1111111111111111,"#000012"],[0.2222222222222222,"#000013"],[0.3333333333333333,"#000014"],[0.4444444444444444,"#000015"],[0.5555555555555556,"#000016"],[0.6666666666666666,"#000017"],[0.7777777777777778,"#000018"],[0.8888888888888888,"#000019"],[1.0,"#000020"]]},"colorscale":{"diverging":[[0.0,"#000021"],[0.1,"#000022"],[0.2,"#000023"],[0.3,"#000024"],[0.4,"#000025"],[0.5,"#000026"],[0.6,"#000027"],[0.7,"#000028"],[0.8,"#000029"],[0.9,"#000030"],[1.0,"#000031"]],"sequential":[[0.0,"#000011"],[0.1111111111111111,"#000012"],[0.2222222222222222,"#000013"],[0.3333333333333333,"#000014"],[0.4444444444444444,"#000015"],[0.5555555555555556,"#000016"],[0.6666666666666666,"#000017"],[0.7777777777777778,"#000018"],[0.8888888888888888,"#000019"],[1.0,"#000020"]],"sequentialminus":[[0.0,"#000011"],[0.1111111111111111,"#000012"],[0.2222222222222222,"#000013"],[0.3333333333333333,"#000014"],[0.4444444444444444,"#000015"],[0.5555555555555556,"#000016"],[0.6666666666666666,"#000017"],[0.7777777777777778,"#000018"],[0.8888888888888888,"#000019"],[1.0,"#000020"]]},"colorway":["#000001","#000002","#000003","#000004","#000005","#000006","#000007","#000008","#000009","#000010"]}},"title":{"text":""},"xaxis":{"title":{"text":"moment_grid"},"showgrid":true},"yaxis":{"title":{"text":""},"showgrid":true}}, {"responsive": true} ) }; </script> </div>'}
Plot of dplt_vs_dplt_grid
figures["dplt_vs_dplt_grid"]
Plot of moment_vs_moment_grid
figures["moment_vs_moment_grid"]
Total running time of the script: ( 0 minutes 0.244 seconds)
Download Python source code: plot_BendingTestAnalytical_Cantilever.py
Download Jupyter notebook: plot_BendingTestAnalytical_Cantilever.ipynb