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

Eigenvalue 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 an Eigenvalue Analysis Step with 10 eigenmodes
step = a.fem.add_step(ada.fem.StepEigen("Eigen", num_eigen_modes=10))

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")
[4]:
result = a.to_fem('my_ss_eigen_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_eigen_beam"
--------------------------------------------------------------------------------
Starting CodeAster simulation "my_ss_eigen_beam" (on Linux) using 1 cpus
Finished CodeAster simulation "my_ss_eigen_beam"
--------------------------------------------------------------------------------
[4]:
[5]:
result
[5]:
FEAResult(name='my_ss_eigen_beam.rmed', software=<FEATypes.CODE_ASTER: 'code_aster'>, results=[NodalFieldData(name='modes___DEPL[0] - 31.841', step=1, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, -0.00000000e+00, -0.00000000e+00,
        -0.00000000e+00],
       [ 2.00000000e+00, -0.00000000e+00,  0.00000000e+00,
         0.00000000e+00],
       [ 3.00000000e+00, -0.00000000e+00,  0.00000000e+00,
         0.00000000e+00],
       ...,
       [ 3.04000000e+03,  8.36667951e-06,  4.30116786e-01,
         1.43347571e-04],
       [ 3.04100000e+03, -4.26299915e-04,  9.98209205e-01,
         4.27255676e-04],
       [ 3.04200000e+03, -1.75351133e-04,  9.83820676e-01,
         2.02113316e-04]]), eigen_freq=31.841032970978553, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='modes___DEPL[1] - 85.7841', step=2, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, -0.00000000e+00,  0.00000000e+00,
        -0.00000000e+00],
       [ 2.00000000e+00, -0.00000000e+00,  0.00000000e+00,
        -0.00000000e+00],
       [ 3.00000000e+00,  0.00000000e+00, -0.00000000e+00,
        -0.00000000e+00],
       ...,
       [ 3.04000000e+03,  6.33527810e-02,  4.11193759e-03,
         4.55133119e-01],
       [ 3.04100000e+03, -6.14669838e-03, -1.35973463e-03,
         9.96217284e-01],
       [ 3.04200000e+03, -1.87256386e-02, -1.25805937e-04,
         9.81812774e-01]]), eigen_freq=85.7841240456578, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='modes___DEPL[2] - 86.758', step=3, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, -0.00000000e+00, -0.00000000e+00,
         0.00000000e+00],
       [ 2.00000000e+00, -0.00000000e+00, -0.00000000e+00,
        -0.00000000e+00],
       [ 3.00000000e+00, -0.00000000e+00, -0.00000000e+00,
         0.00000000e+00],
       ...,
       [ 3.04000000e+03,  2.65011874e-04, -8.44970092e-01,
         1.85545935e-03],
       [ 3.04100000e+03, -9.10307704e-03, -1.16291687e-01,
         3.58518972e-03],
       [ 3.04200000e+03,  9.71184093e-05, -3.35121593e-01,
         3.53007414e-03]]), eigen_freq=86.75801072134429, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='modes___DEPL[3] - 168.678', step=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,  0.00000000e+00,
        -0.00000000e+00],
       [ 3.00000000e+00, -0.00000000e+00,  0.00000000e+00,
        -0.00000000e+00],
       ...,
       [ 3.04000000e+03, -2.82346842e-04,  9.85087156e-01,
        -3.17126228e-03],
       [ 3.04100000e+03,  2.51344952e-03, -8.81011702e-01,
        -3.72062408e-03],
       [ 3.04200000e+03,  8.11420285e-04, -7.87291625e-01,
        -1.57567350e-03]]), eigen_freq=168.67768492692142, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='modes___DEPL[4] - 178.417', step=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, -0.00000000e+00,
         0.00000000e+00],
       [ 3.00000000e+00,  0.00000000e+00, -0.00000000e+00,
         0.00000000e+00],
       ...,
       [ 3.04000000e+03, -2.12654318e-04, -4.96164357e-01,
        -2.87040054e-03],
       [ 3.04100000e+03, -9.85301373e-04,  9.67340179e-01,
        -3.97928500e-02],
       [ 3.04200000e+03, -7.30477495e-04,  9.53713949e-01,
        -9.75119802e-04]]), eigen_freq=178.41694474484137, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='modes___DEPL[5] - 214.855', step=6, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, -0.00000000e+00,  0.00000000e+00,
         0.00000000e+00],
       [ 2.00000000e+00,  0.00000000e+00,  0.00000000e+00,
         0.00000000e+00],
       [ 3.00000000e+00,  0.00000000e+00, -0.00000000e+00,
        -0.00000000e+00],
       ...,
       [ 3.04000000e+03, -5.02283340e-02,  1.41031368e-03,
        -8.87722193e-01],
       [ 3.04100000e+03, -1.73611539e-01, -6.61388109e-04,
        -1.09208940e-01],
       [ 3.04200000e+03, -1.64695137e-01, -1.00675164e-04,
        -3.20222251e-01]]), eigen_freq=214.85513408721187, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='modes___DEPL[6] - 273.885', step=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, -0.00000000e+00,
         0.00000000e+00],
       [ 3.00000000e+00, -0.00000000e+00,  0.00000000e+00,
        -0.00000000e+00],
       ...,
       [ 3.04000000e+03,  9.42978897e-05, -7.41159075e-01,
         5.22483974e-03],
       [ 3.04100000e+03,  1.45178221e-02,  1.83796193e-01,
        -8.89998657e-04],
       [ 3.04200000e+03, -6.43285247e-04,  5.29558142e-01,
        -1.21168957e-03]]), eigen_freq=273.88453191533995, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='modes___DEPL[7] - 353.4', step=8, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00,  0.00000000e+00,  0.00000000e+00,
         0.00000000e+00],
       [ 2.00000000e+00, -0.00000000e+00,  0.00000000e+00,
         0.00000000e+00],
       [ 3.00000000e+00, -0.00000000e+00,  0.00000000e+00,
         0.00000000e+00],
       ...,
       [ 3.04000000e+03,  1.17262550e-04,  7.73177487e-01,
         6.39434694e-03],
       [ 3.04100000e+03, -7.89039298e-03, -8.85651079e-02,
         2.42100200e-04],
       [ 3.04200000e+03,  1.67932262e-03, -2.82084219e-01,
        -3.85543595e-03]]), eigen_freq=353.3998968158597, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='modes___DEPL[8] - 381.03', step=9, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, -0.00000000e+00,  0.00000000e+00,
        -0.00000000e+00],
       [ 2.00000000e+00, -0.00000000e+00, -0.00000000e+00,
         0.00000000e+00],
       [ 3.00000000e+00, -0.00000000e+00, -0.00000000e+00,
        -0.00000000e+00],
       ...,
       [ 3.04000000e+03, -4.42844016e-02,  2.23042920e-04,
         9.77405786e-01],
       [ 3.04100000e+03,  3.03229265e-02,  1.49067139e-02,
        -8.80657160e-01],
       [ 3.04200000e+03,  9.01418036e-02,  1.00671461e-02,
        -7.91848212e-01]]), eigen_freq=381.0299555402707, eigen_value=None, field_type=<NodalFieldType.DISP: 'displacement'>), NodalFieldData(name='modes___DEPL[9] - 404.203', step=10, components=['DX', 'DY', 'DZ'], values=array([[ 1.00000000e+00, -0.00000000e+00,  0.00000000e+00,
        -0.00000000e+00],
       [ 2.00000000e+00, -0.00000000e+00,  0.00000000e+00,
         0.00000000e+00],
       [ 3.00000000e+00, -0.00000000e+00,  0.00000000e+00,
         0.00000000e+00],
       ...,
       [ 3.04000000e+03,  1.02072142e-03,  2.08154761e-01,
        -1.21340336e-02],
       [ 3.04100000e+03, -6.54157815e-03,  8.65471348e-01,
         1.69707337e-02],
       [ 3.04200000e+03, -2.96919433e-03,  6.43274406e-01,
         1.19152444e-02]]), eigen_freq=404.20348870598457, 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_eigen_beam/my_ss_eigen_beam.rmed'), step_name_map=None, description=None)