Summary
In this lecture, we'll cover:
- Testing our truss analysis code on a simple, statically determinate truss with unsymmetrical loading
- Defining global axes, numbering nodes and identifying degrees of freedom
- Specifying restrained degrees of freedom for pin and roller supports
- Entering material, geometric, connectivity, restraint and loading data in the Jupyter Notebook
- Running the analysis and interpreting reactions, member forces and nodal displacements
- Enhancing post-processing by plotting tension/compression forces and the deflected shape
In this lecture, we test our truss analysis notebook on a relatively straightforward, statically determinate truss. We begin by carefully defining the global coordinate system, numbering the nodes and identifying the degrees of freedom, including the restrained degrees of freedom associated with a pin and a roller support. We then move into the Jupyter Notebook and focus exclusively on editing the structured data entry block, where we input material properties, cross-sectional area, nodal coordinates (in ascending order), member connectivity (with node i always less than node j), support restraints and applied loads. Particular attention is paid to correctly indexing the applied forces and ensuring the data is entered consistently.
Once the data is defined, we run the notebook without modifying the core solver, demonstrating the advantage of a well-structured analysis code. We introduce a useful verification step by plotting the undeformed structure immediately after data entry to check for input errors. We also enhance the post-processing by producing separate plots: one identifying members in tension (blue), compression (red) or effectively zero force (grey dashed, using a numerical tolerance), and another showing the deflected shape. Finally, we review the computed reactions, member forces and nodal displacements, confirming that the structure has been fully analysed and setting the stage for a more complex indeterminate truss in the next lecture.
Next up:
In the next lecture, we tackle a larger truss example, demonstrating the solver's ability to handle more complex structures with minimal additional effort.
Tags
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.