Skip to content

Note

Click here to download the full example code

Overview of the BendingTestAnalytical for load case ThreePoints

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 = "ThreePoints"
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 ThreePoints: A three-points load case.

   Boundary condition variables:
   ['imposed_dplt', 'relative_support_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_support_location": [0.5]}

   Default material variables:
   {"nu_p": [0.3], "young_modulus": [210000.0]}
model_inputs:
   [
    "length",
    "width",
    "height",
    "imposed_dplt",
    "relative_support_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()

plot BendingTestAnalytical ThreePoints

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_support_location': array([0.5]), 'cpu_time': array([0.04526949]), 'date': array(['2025-11-05 22:19:54.654723'], dtype='<U26'), 'description': array([''], dtype='<U1'), 'directory_archive_job': array(['..\\model_runs\\archive\\model_gallery\\BendingTestAnalytical\\ThreePoints\\1'],
      dtype='<U71'), '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, -1.51499692e-01, -3.02875712e-01, -4.54004384e-01,
       -6.04762037e-01, -7.55024997e-01, -9.04669592e-01, -1.05357215e+00,
       -1.20160899e+00, -1.34865645e+00, -1.49459084e+00, -1.63928851e+00,
       -1.78262577e+00, -1.92447895e+00, -2.06472438e+00, -2.20323838e+00,
       -2.33989729e+00, -2.47457742e+00, -2.60715511e+00, -2.73750669e+00,
       -2.86550847e+00, -2.99103678e+00, -3.11396796e+00, -3.23417833e+00,
       -3.35154421e+00, -3.46594194e+00, -3.57724784e+00, -3.68533823e+00,
       -3.79008945e+00, -3.89137781e+00, -3.98907965e+00, -4.08307130e+00,
       -4.17322908e+00, -4.25942931e+00, -4.34154833e+00, -4.41946245e+00,
       -4.49304802e+00, -4.56218135e+00, -4.62673877e+00, -4.68659661e+00,
       -4.74163119e+00, -4.79171884e+00, -4.83673589e+00, -4.87655867e+00,
       -4.91106350e+00, -4.94012670e+00, -4.96362461e+00, -4.98143356e+00,
       -4.99342986e+00, -4.99948985e+00, -4.99948985e+00, -4.99342986e+00,
       -4.98143356e+00, -4.96362461e+00, -4.94012670e+00, -4.91106350e+00,
       -4.87655867e+00, -4.83673589e+00, -4.79171884e+00, -4.74163119e+00,
       -4.68659661e+00, -4.62673877e+00, -4.56218135e+00, -4.49304802e+00,
       -4.41946245e+00, -4.34154833e+00, -4.25942931e+00, -4.17322908e+00,
       -4.08307130e+00, -3.98907965e+00, -3.89137781e+00, -3.79008945e+00,
       -3.68533823e+00, -3.57724784e+00, -3.46594194e+00, -3.35154421e+00,
       -3.23417833e+00, -3.11396796e+00, -2.99103678e+00, -2.86550847e+00,
       -2.73750669e+00, -2.60715511e+00, -2.47457742e+00, -2.33989729e+00,
       -2.20323838e+00, -2.06472438e+00, -1.92447895e+00, -1.78262577e+00,
       -1.63928851e+00, -1.49459084e+00, -1.34865645e+00, -1.20160899e+00,
       -1.05357215e+00, -9.04669592e-01, -7.55024997e-01, -6.04762037e-01,
       -4.54004384e-01, -3.02875712e-01, -1.51499692e-01, -1.55752418e-17]), 'dplt_at_force_location': array([-4.99948985]), '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(['ThreePoints'], dtype='<U11'), 'location_max_dplt': array([296.96969697]), 'machine': array(['B20191729'], dtype='<U9'), 'maximum_dplt': array([-4.99948985]), 'model': array(['BendingTestAnalytical'], dtype='<U21'), 'moment': array([       0., -5600000.,        0.]), 'moment_grid': array([  0., 300., 600.]), 'n_cpus': array([1]), 'persistent_result_files': array([''], dtype='<U1'), 'reaction_forces': array([-37333.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="96ab9ee3-304a-441a-8296-e43419a324a1" class="plotly-graph-div" style="height:525px; width:100%;"></div>            <script type="text/javascript">                                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById("96ab9ee3-304a-441a-8296-e43419a324a1")) {                    Plotly.newPlot(                        "96ab9ee3-304a-441a-8296-e43419a324a1",                        [{"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.15149969236286967,-0.30287571150748394,-0.4540043842155874,-0.6047620372689246,-0.7550249974492403,-0.9046695915382788,-1.053572146317785,-1.2016089885695034,-1.3486564450751786,-1.4945908426165553,-1.6392885079753778,-1.7826257679333906,-1.9244789492723386,-2.0647243787739664,-2.203238383220018,-2.339897289392239,-2.4745774240723737,-2.607155114042166,-2.7375066860833615,-2.8655084669777042,-2.9910367835069387,-3.1139679624528105,-3.2341783305970626,-3.35154421472144,-3.465941941607688,-3.577247838037551,-3.6853382307927736,-3.7900894466551,-3.8913778124062754,-3.9890796548280445,-4.0830713007021515,-4.17322907681034,-4.259429309934356,-4.3415483268559445,-4.419462454356849,-4.493048019218815,-4.562181348223586,-4.626738768152906,-4.686596605788521,-4.741631187912176,-4.791718841305615,-4.836735892750582,-4.876558669028823,-4.911063496922081,-4.940126703212101,-4.963624614680628,-4.981433558109407,-4.993429860280181,-4.999489847974696,-4.999489847974696,-4.993429860280181,-4.981433558109407,-4.963624614680628,-4.940126703212101,-4.911063496922081,-4.876558669028823,-4.836735892750583,-4.791718841305616,-4.741631187912176,-4.686596605788521,-4.626738768152906,-4.562181348223586,-4.493048019218815,-4.419462454356849,-4.3415483268559445,-4.259429309934356,-4.17322907681034,-4.0830713007021515,-3.9890796548280445,-3.8913778124062754,-3.7900894466551,-3.6853382307927736,-3.577247838037551,-3.465941941607688,-3.35154421472144,-3.2341783305970617,-3.1139679624528096,-2.9910367835069387,-2.8655084669777042,-2.7375066860833615,-2.6071551140421674,-2.474577424072375,-2.3398972893922405,-2.2032383832200195,-2.0647243787739678,-1.9244789492723386,-1.782625767933392,-1.6392885079753776,-1.4945908426165564,-1.3486564450751783,-1.2016089885695045,-1.0535721463177845,-0.9046695915382795,-0.7550249974492393,-0.604762037268925,-0.454004384215589,-0.302875711507484,-0.15149969236287109,-1.5575241834112075e-17],"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="1dc88b2a-822d-4bf1-ba60-c709eede82b0" class="plotly-graph-div" style="height:525px; width:100%;"></div>            <script type="text/javascript">                                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById("1dc88b2a-822d-4bf1-ba60-c709eede82b0")) {                    Plotly.newPlot(                        "1dc88b2a-822d-4bf1-ba60-c709eede82b0",                        [{"line":{"color":"blue","dash":"solid","width":2},"mode":"lines","name":"moment","showlegend":true,"x":[0.0,300.0,600.0],"y":[0.0,-5600000.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.255 seconds)

Download Python source code: plot_BendingTestAnalytical_ThreePoints.py

Download Jupyter notebook: plot_BendingTestAnalytical_ThreePoints.ipynb

Gallery generated by mkdocs-gallery