This page was generated from docs/documents/notebooks/analysis/simply_supported_beam_static_gravity.ipynb.
Interactive online version: Binder badge - Download notebook -

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, -3.23818212e-22,
         0.00000000e+00],
       [ 2.00000000e+00,  0.00000000e+00,  6.14082344e-22,
         0.00000000e+00],
       [ 3.00000000e+00,  0.00000000e+00,  1.19291042e-21,
         0.00000000e+00],
       ...,
       [ 3.04000000e+03, -2.19202818e-04, -7.84486183e-06,
        -1.68850495e-03],
       [ 3.04100000e+03,  2.00281595e-05, -1.02502800e-05,
        -3.47604897e-03],
       [ 3.04200000e+03,  6.07336926e-05, -1.09602033e-05,
        -3.43017253e-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, -3.23818212e-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, -4.38405637e-04, -1.56897237e-05,
        -3.37700990e-03],
       [ 3.04100000e+03,  4.00563191e-05, -2.05005602e-05,
        -6.95209794e-03],
       [ 3.04200000e+03,  1.21467385e-04, -2.19204068e-05,
        -6.86034506e-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, -4.85727319e-22,
         0.00000000e+00],
       [ 2.00000000e+00,  0.00000000e+00,  3.07041172e-22,
         0.00000000e+00],
       [ 3.00000000e+00,  0.00000000e+00,  1.19291042e-21,
         0.00000000e+00],
       ...,
       [ 3.04000000e+03, -6.57608455e-04, -2.35345856e-05,
        -5.06551485e-03],
       [ 3.04100000e+03,  6.00844786e-05, -3.07508403e-05,
        -1.04281469e-02],
       [ 3.04200000e+03,  1.82201078e-04, -3.28806102e-05,
        -1.02905176e-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, -4.85727319e-22,
         0.00000000e+00],
       [ 2.00000000e+00,  0.00000000e+00, -3.07041172e-22,
         0.00000000e+00],
       [ 3.00000000e+00,  0.00000000e+00,  0.00000000e+00,
         0.00000000e+00],
       ...,
       [ 3.04000000e+03, -8.76811273e-04, -3.13794474e-05,
        -6.75401979e-03],
       [ 3.04100000e+03,  8.01126381e-05, -4.10011204e-05,
        -1.39041959e-02],
       [ 3.04200000e+03,  2.42934770e-04, -4.38408136e-05,
        -1.37206901e-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, -4.85727319e-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.09601409e-03, -3.92243093e-05,
        -8.44252474e-03],
       [ 3.04100000e+03,  1.00140798e-04, -5.12514005e-05,
        -1.73802448e-02],
       [ 3.04200000e+03,  3.03668463e-04, -5.48010170e-05,
        -1.71508626e-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,  1.19291042e-21,
         0.00000000e+00],
       ...,
       [ 3.04000000e+03, -1.31521691e-03, -4.70691712e-05,
        -1.01310297e-02],
       [ 3.04100000e+03,  1.20168957e-04, -6.15016806e-05,
        -2.08562938e-02],
       [ 3.04200000e+03,  3.64402155e-04, -6.57612204e-05,
        -2.05810352e-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,  0.00000000e+00,
         0.00000000e+00],
       [ 2.00000000e+00,  0.00000000e+00, -6.14082344e-22,
         0.00000000e+00],
       [ 3.00000000e+00,  0.00000000e+00,  1.19291042e-21,
         0.00000000e+00],
       ...,
       [ 3.04000000e+03, -1.53441973e-03, -5.49140331e-05,
        -1.18195346e-02],
       [ 3.04100000e+03,  1.40197117e-04, -7.17519607e-05,
        -2.43323428e-02],
       [ 3.04200000e+03,  4.25135848e-04, -7.67214239e-05,
        -2.40112077e-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, -4.85727319e-22,
         0.00000000e+00],
       [ 2.00000000e+00,  0.00000000e+00,  6.14082344e-22,
         0.00000000e+00],
       [ 3.00000000e+00,  0.00000000e+00,  0.00000000e+00,
         0.00000000e+00],
       ...,
       [ 3.04000000e+03, -1.75362255e-03, -6.27588949e-05,
        -1.35080396e-02],
       [ 3.04100000e+03,  1.60225276e-04, -8.20022409e-05,
        -2.78083918e-02],
       [ 3.04200000e+03,  4.85869541e-04, -8.76816273e-05,
        -2.74413802e-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.08759324e-21,
         0.00000000e+00],
       ...,
       [ 3.04000000e+03, -1.97282537e-03, -7.06037568e-05,
        -1.51965445e-02],
       [ 3.04100000e+03,  1.80253436e-04, -9.22525210e-05,
        -3.12844407e-02],
       [ 3.04200000e+03,  5.46603233e-04, -9.86418307e-05,
        -3.08715528e-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, -4.85727319e-22,
         0.00000000e+00],
       [ 2.00000000e+00,  0.00000000e+00, -3.07041172e-22,
         0.00000000e+00],
       [ 3.00000000e+00,  0.00000000e+00,  0.00000000e+00,
         0.00000000e+00],
       ...,
       [ 3.04000000e+03, -2.19202818e-03, -7.84486187e-05,
        -1.68850495e-02],
       [ 3.04100000e+03,  2.00281595e-04, -1.02502801e-04,
        -3.47604897e-02],
       [ 3.04200000e+03,  6.07336926e-04, -1.09602034e-04,
        -3.43017253e-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([[1689, 2803, 2746, 2652],
       [1853, 1759, 2582, 1910],
       [1904, 1741, 2591, 1872],
       ...,
       [1672, 1985, 2848, 1955],
       [2565, 1985, 2848, 2878],
       [2565, 2848, 1985, 1955]]), identifiers=array([   1,    2,    3, ..., 8678, 8679, 8680]))], 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, -9.32034493e-20,  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={'bc_nodes': FemSet(bc_nodes, type: "nset", members: "60")}), 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, software_version='17.3.16')