43. Section overview

Finite Element Analysis of Continuum Structures in Python

Buy nowLearn more

1. Welcome and Preliminaries

  • 1. Introduction and course overview1
  • 2. What you should cover before this course1
  • Support and Lecture Q&A (Please read!)

2. The Isoparametric Finite Element Method

  • 3. Section overview1
  • 4. Bar stiffness using generalised coordinates1
  • 5. Bar stiffness using shape functions3
  • 6. Quad elements and shape functions3
  • 7. The strain-displacement matrix, B1
  • 8. The Jacobian Matrix, J1
  • 9. Calculating the strain-displacement matrix1
  • 9.1 Jupyter Notebook - (lecture 9)2
  • 10. Accounting for plane-stress/strain3
  • 11. The equivalent surface force vector3
  • 12. The equivalent body force vector1
  • 12.1 Jupyter Notebook - (lectures 11-12)

3. Gauss-Legendre Numerical Integration

  • 13. Section overview1
  • 14. Gauss numerical integration scheme6
  • 15. Numerical integration in 2D1
  • 15.1 Jupyter Notebook - (lecture 15)
  • 16. Calculating the element stiffness matrix1
  • 17. Stiffness matrix convergence1
  • 17.1 Jupyter Notebook - (lectures 16-17)

4. Generating Structure and Mesh Data

  • 18. Section overview1
  • 19. Generating a simple quad mesh in Blender2
  • 20. Exporting mesh data from Blender1
  • 21. Exporting support and point load data5
  • 21.1 Blender File (lectures 19-21)
  • 22. Importing support, loading and mesh data2
  • 22.1 Jupyter Notebook - (lecture 22)

5. Implementing the Isoparametric Finite Element Method

  • 23. Section overview1
  • 24. Analysis parameters and plotting the structure1
  • 25. Building the global force vector1
  • 26. Defining the element stiffness matrix3
  • 27. Assigning element stiffness coefficients1
  • 28. Building the structure stiffness matrix3
  • 29. Solving the structure1
  • 30. Visualising the deformed structure1
  • 31. Generating detailed text output1
  • 32. Euler-Bernoulli deflection validation3
  • 32.1 Jupyter Notebook - (lectures 24-32)2
  • Mid-course check-in2

6. Visualising the Strain and Stress Fields

  • 33. Section overview1
  • 34. Generating the stress calculation grid1
  • 35. Visualising the stress calculation grid1
  • 36. Calculating the strain and stress fields1
  • 37. Visualising the normal stress distribution3
  • 38. Building normal strain/stress contour plots1
  • 39. Building shear stress/strain contour plots3
  • 40. Building a stress/strain interpolation query function1
  • 41. Visualising stress distributions at a vertical section1
  • 42. Euler-Bernoulli stress comparison1
  • 42.2 Jupyter Notebook - (lectures 34-42)

7. Implementing Area and Volume Forces

  • 43. Section overview1
  • 44. Implementing self-weight in our analysis2
  • 45. Correcting reactions for self-weight1
  • 46. Distributed loading - Interpolation limits1
  • 47. Distributed loading - Data export from Blender1
  • 48. Importing distributed loading data1
  • 49. Surface force vector - Setup1
  • 50. Surface force vector - Integration1
  • 51. Updating the global force vector and validating1
  • 52. Orthogonal surface forces1
  • 52.1 Jupyter Notebook - (lectures 44-52)

8. Principal Stresses and von Mises stress

  • 53. Section overview1
  • 54. A recap of principal stresses1
  • 55. Calculating principal angles and stresses1
  • 56. Sorting principal stresses1
  • 57. Identifying max ten/comp principal stresses1
  • 58. Visualising the principal stress magnitude field1
  • 59. Visualising the principal stress vector field1
  • 60. Combining the magnitude and vector fields1
  • 60.1 Jupyter Notebook - (lectures 55-60)
  • 61. The von Mises failure theory5
  • 62. Visualising the von Mises stress field1
  • 62.1 Jupyter Notebook - (lecture 62)
  • 63. Perimeter stresses and updating plot edges - Planning1
  • 64. Perimeter stresses and updating plot edges - Coding1
  • 64.1 Jupyter Notebook - (lecture 64)

9. Generating and Analysing Complex Meshes

  • 65. Section overview1
  • 66. Generating 2D geometry in Blender1
  • 67. Meshing complex geometries1
  • 68. Exporting an irregular mesh1
  • 68.1 Blender File (lectures 66-68)
  • 69. Generalising our solver1
  • 70. Stress distribution masks1
  • 70.1 Jupyter Notebook - (lecture 69-70)
  • 71. Course wrap up and Certificate of Completion1
  • 72. [BONUS] Cantilever model and analysis walkthrough1
  • 72.1 Blender File (lecture 72)
  • 72.2 Jupyter Notebook - (lecture 72)

Appendix 1: Fundamentals of 2D Stress Analysis and Mohr's Circle

  • A1. The 2D stress element
  • A2. The stress transformation equations
  • A3. Visualising the transformation equations
  • A4. Principal stresses and principal planes
  • A5. Maximum shear stress
  • A6. Stress analysis worked example
  • A7. Stress analysis worked example - coded solution
  • A8. Mohr's circle of stress
  • A9. Mohr's circle example solution
  • Jupyter Notebook - 2D stress analysis and Mohr's circle