Skip to content

Latest commit

 

History

History
73 lines (40 loc) · 3.49 KB

README.md

File metadata and controls

73 lines (40 loc) · 3.49 KB

FEM-beam-model-dynamic-analysis

2D/3D Finite Element (FEM) beam model using Newmark Method for dynamic analysis

Aim

This code provides an example of 2D and 3D dynamic linear elastic FEM code using Newmark Method. It contains a beam mesh with force exerted at the designated point and reveals the dynamic responses on the beam. It shows how to solve the global system equations in the FEM models.

Input file

In order to run the model, it is necessary to have the following variables as input:

nprops: No. material parameters

materialprops(i): List of material parameters

ncoord: No. spatial coords (2 for 2D, 3 for 3D)

ndof: No. degrees of freedom per node (2 for 2D, 3 for 3D) (here ndof=ncoord, but the program allows them to be different to allow extension to plate & beam elements with C^1 continuity)

nnode: No. nodes

coords(i, j): i th coord of j th node, for i =1..ncoord; j =1..nnode

nelem: No. elements

maxnodes: Max no. nodes on any one element (used for array dimensioning)

nelnodes(i): No. nodes on the i th element

elident(i): An integer identifier for the i th element. Not used in this code but could be used to switch on reduced integration, etc.

connect(i, j): List of nodes on the j th element

nfix: Total no. prescribed displacements

fixnodes(i, j): List of prescribed displacements at nodes

          fixnodes(1,j) Node number
                        
          fixnodes(2,j) Displacement component number (1, 2 or 3)
                        
          fixnodes(3,j) Value of the displacement

ndload: Total no. element faces subjected to tractions

dloads(i, j): List of element tractions

          dloads(1,j) Element number
                        
          dloads(2,j) face number
                        
          dloads(3,j), dloads(4,j), dloads(5,j) Components of traction

Run the program

In order to run the program, it is necessary to have an input profile as explained in the last section. Then change the fopen command below to point to the file. Also change the fopen command in the post-processing step (near the bottom of the program) to point to a suitable output file. In the end go to FEM_2Dor3D_linelast_dynamic_newmark.m as it is the main script that simulates the response. The main script has all been set up and the size of the model and the exerted force shall all be defined in the input profile.

Output

The script is able to plot the following things:

  1. The initial mesh of the model before going through deformed process. It can be used as a check of the mesh of the FE model.

alt text

  1. The animation of the movement of the beam.

alt text

  1. The end displacement of the beam as a function of time

alt text

In conclusion, the model is able to demonstrate the dynamic analysis of FE mesh given a certain force. Users feel free to change the size of the mesh and the position of the force and observe the change in the result.

Future tweaks

This model is flexible in terms of the shape of the beams and the load point. The beam can be adjusted according to the needs of users, as well as the loading position.