# The Direct Stiffness Method for Truss Analysis with Python

Build your own finite element truss analysis software using Python and tackle large scale structures
Introduction
1. Introduction and course overview
7 mins
2. Our approach to Python in this course
3 mins
3. Getting started with Jupyter Notebooks and Python
13 mins
Modelling Elastic Behaviour
4. Section overview
2 mins
5. Stress and strain in 2D
15 mins
6. Strain and displacement in 2D
13 mins
7. 3-dimensions and matrix notation
20 mins
8. Plane Stress condition
17 mins
9. Plane Strain condition
7 mins
10. Material matrix summary
9 mins
Finite Element Equations & Stiffness Matrices
11. Section overview
2 mins
12. Finite Element equations and the Direct Stiffness Method
22 mins
13. The Principle of Minimum Potential Energy
16 mins
14. The Finite Element equations
14 mins
15. Stiffness matrix for bar element
14 mins
16. Finite Element equation review
15 mins
17. Transformation from local to global coordinates
17 mins
Direct Stiffness Method: Step-by-Step
18. Section overview
2 mins
Section 4 - Direct Stiffness Method Step by Step - Slides
7.63 MB
19. Analysis procedure overview
7 mins
20. Calculating element stiffness matrices
5 mins
21. Building the primary stiffness matrix
7 mins
22. Reducing to the structure stiffness matrix
5 mins
23. Solving for unknown displacements
2 mins
24. Solving for unknown reactions
3 mins
25. Finding element forces
6 mins
Direct Stiffness Method in Python
26. Section overview
2 mins
Jupyter notebooks.zip
130 KB
27. Element stiffness matrices
15 mins
28. Whole structure stiffness matrix
12 mins
29. Reactions, element forces and nodal displacements
13 mins
30. Visualising our output
13 mins
31. Refactor - Tidying up with functions
18 mins
Direct Stiffness Method on Larger Structures
32. Section overview
1 min
Question Jupyter notebook
80.7 KB
Section 6 - Direct Stiffness Method on Larger Structures - Slides
7.34 MB
33. Calculating element stiffness matrices
5 mins
34. Building the primary stiffness matrix
4 mins
35. Reducing to structure stiffness matrix
2 mins
36. Solving for unknown displacements
2 mins
37. Solving for unknown reactions
2 mins
38. Finding element forces
4 mins
Optimising for Larger Structures in Python
39. Section overview
2 mins
Jupyter notebook
139 KB
40. Building the primary stiffness matrix
20 mins
41. Extracting the structure stiffness matrix
3 mins
42. Displacements and reactions
10 mins
43. Calculating member forces
5 mins
44. Visualising our output
11 mins
Building a Generalised Truss Solver in Python
45. Section overview
2 mins
Jupyter notebook
160 KB
46. Establishing input data
8 mins
47. Calculating member orientation and length
28 mins
48. Primary and Structure Stiffness matrices
11 mins
49. Displacements, reactions and member forces
17 mins
50. Automating the output visualisation
11 mins
51. Automating the text summary
11 mins
Taking your Solver for a Test Drive
52. Section overview
1 min
Jupyter notebooks
443 KB
53. Test Question #1
10 mins
54. Test Question #2
7 mins
55. Test Question #3
5 mins
56. Course wrap up and Certificate of Completion
2 mins