Skip to content

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

Notifications You must be signed in to change notification settings

KaitaiD/FEM-beam-model-dynamic-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages