This page was generated from
docs/documents/notebooks/analysis/simply_supported_beam_static_gravity.ipynb.
Interactive online version:
-
Download notebook -
Interactive online version:
Static Analysis of Simply Supported Beam¶
[1]:
import ada
[2]:
bm = ada.Beam('bm1', (0,0,0), (5,0,0), 'IPE300')
fem = bm.to_fem_obj(0.05, "solid")
fem.show()
[2]:
[3]:
a = ada.Assembly() / [ada.Part("MyPart", fem=fem) / bm]
# Create a Static Analysis Step with a Gravity load (multiplied with 800 to get deformation)
step = a.fem.add_step(ada.fem.StepImplicitStatic("gravity", nl_geom=True, init_incr=100.0, total_time=100.0))
step.add_load(ada.fem.LoadGravity("grav", -9.81 * 800))
nodes = bm.bbox().sides.get(["front", "back"], return_fem_nodes=True)
a.fem.add_bc(ada.fem.Bc("Fixed", ada.fem.FemSet("bc_nodes", nodes), [1, 2, 3]))
[3]:
Bc("Fixed", type="displacement", dofs=[1, 2, 3], fem_set="bc_nodes")
Note! Visualization of the static analysis steps are not yet supported.
[4]:
result = a.to_fem('my_ss_static_beam', 'code_aster', execute=True, overwrite=True)
result.show()
Created a Code_Aster input deck at "/home/runner/work/adapy/adapy/docs/documents/notebooks/analysis/temp/scratch/my_ss_static_beam"
--------------------------------------------------------------------------------
Starting CodeAster simulation "my_ss_static_beam" (on Linux) using 1 cpus
Finished CodeAster simulation "my_ss_static_beam"
--------------------------------------------------------------------------------
[4]:
[5]:
result
[5]:
FEAResult(name='my_ss_static_beam.rmed', software=<FEATypes.CODE_ASTER: 'code_aster'>, results=[NodalFieldData(name='DISP[0] - 0', step=0.0, components=['DX', 'DY', 'DZ'], values=array([[1.000e+00, 0.000e+00, 0.000e+00, 0.000e+00],
[2.000e+00, 0.000e+00, 0.000e+00, 0.000e+00],
[3.000e+00, 0.000e+00, 0.000e+00, 0.000e+00],
...,
[3.040e+03, 0.000e+00, 0.000e+00, 0.000e+00],
[3.041e+03, 0.000e+00, 0.000e+00, 0.000e+00],
[3.042e+03, 0.000e+00, 0.000e+00, 0.000e+00]]), eigen_freq=None, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='DISP[1] - 0.1', step=0.1, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, 0.00000000e+00, 1.61909106e-22,
0.00000000e+00],
[ 2.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[ 3.00000000e+00, 0.00000000e+00, 2.98227606e-22,
0.00000000e+00],
...,
[ 3.04000000e+03, -2.19252338e-04, -6.83343218e-06,
-1.68869073e-03],
[ 3.04100000e+03, 2.00264245e-05, -7.36992236e-06,
-3.47667071e-03],
[ 3.04200000e+03, 6.07464491e-05, -8.22978943e-06,
-3.43075407e-03]]), eigen_freq=None, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='DISP[2] - 0.2', step=0.2, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, 0.00000000e+00, -1.61909106e-22,
0.00000000e+00],
[ 2.00000000e+00, 0.00000000e+00, 3.07041172e-22,
0.00000000e+00],
[ 3.00000000e+00, 0.00000000e+00, -5.96455211e-22,
0.00000000e+00],
...,
[ 3.04000000e+03, -4.38504677e-04, -1.36668644e-05,
-3.37738145e-03],
[ 3.04100000e+03, 4.00528490e-05, -1.47398447e-05,
-6.95334142e-03],
[ 3.04200000e+03, 1.21492898e-04, -1.64595789e-05,
-6.86150814e-03]]), eigen_freq=None, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='DISP[3] - 0.3', step=0.30000000000000004, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, 0.00000000e+00, -1.61909106e-22,
0.00000000e+00],
[ 2.00000000e+00, 0.00000000e+00, 9.21123516e-22,
0.00000000e+00],
[ 3.00000000e+00, 0.00000000e+00, 5.96455211e-22,
0.00000000e+00],
...,
[ 3.04000000e+03, -6.57757015e-04, -2.05002965e-05,
-5.06607218e-03],
[ 3.04100000e+03, 6.00792735e-05, -2.21097671e-05,
-1.04300121e-02],
[ 3.04200000e+03, 1.82239347e-04, -2.46893683e-05,
-1.02922622e-02]]), eigen_freq=None, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='DISP[4] - 0.4', step=0.4, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[ 2.00000000e+00, 0.00000000e+00, 1.22816469e-21,
0.00000000e+00],
[ 3.00000000e+00, 0.00000000e+00, 5.96455211e-22,
0.00000000e+00],
...,
[ 3.04000000e+03, -8.77009353e-04, -2.73337287e-05,
-6.75476291e-03],
[ 3.04100000e+03, 8.01056981e-05, -2.94796895e-05,
-1.39066828e-02],
[ 3.04200000e+03, 2.42985796e-04, -3.29191578e-05,
-1.37230163e-02]]), eigen_freq=None, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='DISP[5] - 0.5', step=0.5, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[ 2.00000000e+00, 0.00000000e+00, 3.07041172e-22,
0.00000000e+00],
[ 3.00000000e+00, 0.00000000e+00, 8.94682817e-22,
0.00000000e+00],
...,
[ 3.04000000e+03, -1.09626169e-03, -3.41671609e-05,
-8.44345364e-03],
[ 3.04100000e+03, 1.00132123e-04, -3.68496119e-05,
-1.73833536e-02],
[ 3.04200000e+03, 3.03732245e-04, -4.11489473e-05,
-1.71537703e-02]]), eigen_freq=None, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='DISP[6] - 0.6', step=0.6, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, 0.00000000e+00, 3.23818212e-22,
0.00000000e+00],
[ 2.00000000e+00, 0.00000000e+00, 3.07041172e-22,
0.00000000e+00],
[ 3.00000000e+00, 0.00000000e+00, 2.98227606e-22,
0.00000000e+00],
...,
[ 3.04000000e+03, -1.31551403e-03, -4.10005931e-05,
-1.01321444e-02],
[ 3.04100000e+03, 1.20158547e-04, -4.42195343e-05,
-2.08600243e-02],
[ 3.04200000e+03, 3.64478695e-04, -4.93787367e-05,
-2.05845244e-02]]), eigen_freq=None, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='DISP[7] - 0.7', step=0.7, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, 0.00000000e+00, -1.61909106e-22,
0.00000000e+00],
[ 2.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[ 3.00000000e+00, 0.00000000e+00, 8.94682817e-22,
0.00000000e+00],
...,
[ 3.04000000e+03, -1.53476637e-03, -4.78340253e-05,
-1.18208351e-02],
[ 3.04100000e+03, 1.40184972e-04, -5.15894567e-05,
-2.43366950e-02],
[ 3.04200000e+03, 4.25225144e-04, -5.76085262e-05,
-2.40152785e-02]]), eigen_freq=None, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='DISP[8] - 0.8', step=0.7999999999999999, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, 0.00000000e+00, 1.61909106e-22,
0.00000000e+00],
[ 2.00000000e+00, 0.00000000e+00, 3.07041172e-22,
0.00000000e+00],
[ 3.00000000e+00, 0.00000000e+00, -5.96455211e-22,
0.00000000e+00],
...,
[ 3.04000000e+03, -1.75401871e-03, -5.46674575e-05,
-1.35095258e-02],
[ 3.04100000e+03, 1.60211396e-04, -5.89593791e-05,
-2.78133657e-02],
[ 3.04200000e+03, 4.85971593e-04, -6.58383156e-05,
-2.74460326e-02]]), eigen_freq=None, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='DISP[9] - 0.9', step=0.8999999999999999, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, 0.00000000e+00, -1.61909106e-22,
0.00000000e+00],
[ 2.00000000e+00, 0.00000000e+00, 3.07041172e-22,
0.00000000e+00],
[ 3.00000000e+00, 0.00000000e+00, -2.98227606e-22,
0.00000000e+00],
...,
[ 3.04000000e+03, -1.97327104e-03, -6.15008896e-05,
-1.51982165e-02],
[ 3.04100000e+03, 1.80237821e-04, -6.63293014e-05,
-3.12900364e-02],
[ 3.04200000e+03, 5.46718042e-04, -7.40681051e-05,
-3.08767866e-02]]), eigen_freq=None, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='DISP[10] - 1', step=0.9999999999999999, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, 0.00000000e+00, 2.35098870e-38,
0.00000000e+00],
[ 2.00000000e+00, 0.00000000e+00, -6.14082344e-22,
0.00000000e+00],
[ 3.00000000e+00, 0.00000000e+00, 5.96455211e-22,
0.00000000e+00],
...,
[ 3.04000000e+03, -2.19252338e-03, -6.83343218e-05,
-1.68869073e-02],
[ 3.04100000e+03, 2.00264245e-04, -7.36992238e-05,
-3.47667071e-02],
[ 3.04200000e+03, 6.07464491e-04, -8.22978945e-05,
-3.43075407e-02]]), eigen_freq=None, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>)], mesh=Mesh(elements=[ElementBlock(elem_info=ElementInfo(type=<SolidShapes.TETRA: 'TETRA'>, source_software=<FEATypes.CODE_ASTER: 'code_aster'>, source_type='TE4'), node_refs=array([[1853, 1759, 2582, 1910],
[1689, 2803, 2746, 2652],
[1904, 1741, 2591, 1872],
...,
[1677, 2854, 1960, 1961],
[2570, 2854, 1960, 2853],
[2570, 1960, 2854, 1961]]), identifiers=array([ 1, 2, 3, ..., 8677, 8678, 8679]))], nodes=FemNodes(coords=array([[ 0.00000000e+00, -7.50000000e-02, 1.39300000e-01],
[ 5.00000000e+00, -7.50000000e-02, 1.39300000e-01],
[ 0.00000000e+00, -7.50000000e-02, 1.50000000e-01],
...,
[ 3.93333333e+00, 0.00000000e+00, 1.22633333e-01],
[ 2.57497074e+00, -6.13584605e-03, -1.45194211e-01],
[ 2.72498223e+00, 7.19698640e-05, -1.44771141e-01]]), identifiers=array([ 1, 2, 3, ..., 3040, 3041, 3042])), sections=None, materials=None, vectors=None, elem_data=None, sets=None), results_file_path=PosixPath('/home/runner/work/adapy/adapy/docs/documents/notebooks/analysis/temp/scratch/my_ss_static_beam/my_ss_static_beam.rmed'), step_name_map=None, description=None)