ACCESS THE COMPLETE LIBRARY OF COURSES & TUTORIALS ➡️
42. Displacements and reactions
Optimising for Larger Structures in Python
📂 Please log in or enroll to access resources

Summary

In this lecture, we'll cover:

  • How to solve for nodal displacements using the reduced structure stiffness matrix
  • How to modify the global force vector to account for restrained degrees of freedom
  • How to avoid common implementation errors when manipulating vectors in code
  • How to reconstruct the full global displacement vector including zero support displacements
  • How to compute support reactions using the primary stiffness matrix

In this lecture, we focus on solving for nodal displacements and support reactions using the stiffness method implementation developed earlier. We begin by ensuring realistic material and section properties are restored, and then turn our attention to solving for displacements. To do this, we reduce the global force vector by deleting the entries corresponding to restrained degrees of freedom, mirroring the process used previously to obtain the reduced structure stiffness matrix. We then solve for the unknown displacements by multiplying the inverse of the structure stiffness matrix by the reduced force vector. Along the way, we address a common coding issue related to repeatedly deleting entries from an already modified vector, and resolve it by redefining the force vector each time the cell is executed.

Once the reduced displacement vector is obtained, we reconstruct the full global displacement vector by reintroducing zeros at the restrained degrees of freedom. Although this reconstruction is carried out manually here, it sets up a more streamlined approach later. With the complete displacement vector assembled, we compute the global force vector by multiplying it by the primary stiffness matrix, allowing us to extract the support reactions. By the end of the lecture, we have successfully determined both displacements and reactions, reinforcing that the procedure follows directly from earlier examples with trusses and axial members, with no fundamentally new theory introduced.

Next up:

In the next lecture, we calculate the axial force in each member using the previously developed function, completing the numerical solution for the 8-bar truss.

Tags

Nodal DisplacementsSupport ReactionsGlobal Stiffness Matrix

Please log in or enroll to continue

If you've already enrolled, please log in to continue.

The Direct Stiffness Method for Truss Analysis with Python

Build your own finite element truss analysis software using Python and tackle large scale structures.

After completing this course...

  • You’ll understand how to use the Direct Stiffness Method to build complete structural models that can be solved using Python.
  • You’ll have your own analysis programme to identify displacements, reactions and internal member forces for any truss.
  • You’ll understand how common models of elastic behaviour such as plane stress and plane strain apply to real-world structures.
Next Lesson
43. Calculating member forces