2D/3D Finite Element (FEM) beam model using Newmark Method for dynamic analysis
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.
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
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.
The script is able to plot the following things:
- 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.
- The animation of the movement of the beam.
- The end displacement of the beam as a function of time
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.
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.