Computational Solid Mechanics - Module 1

All You Need to Know


Most online classes on finite element methods focus either on theory or software implementation. It's quite frustrating for university students and young researchers to relate the theories with implemention. This online class will attempt to minimize the difference. This class will cover theories from engineering context and provide hands-on implementation of theoeries using computer programming and commercial finite element software. This first module from Computational Solid Mechanics class will cover 1-D finite element methods for linear elastic static problems. In future, we hope to add subsequent modules covering linear elasticity, multi-dimensional finite element modeling, nonlinear solid mechanics and finite element techniques.

The class is free to join for anyone. But any donation to resolve CoVID-19 crisis fund will be highly appreciated. We will send donation information to students who register for the classes. Live class can be hosted for a maximum of 300 people. But the class will be later available on YouTube.

Class time and location:

  • Tentative schedule for the class is 2nd-3rd week of July. Classes will be hosted on Zoom for total of 5 days in 2 weeks. Each session is approximated to be 3 hours. All class will be recorded and uploaded on YouTube for participants who can't join live.
  • Please use this sign-up form to register for the class. You will be notified about specific class schedules, resources, and Zoom meet link via email. Registration will be closed in 26th June or once we hit the maximum hosting capacity.



  • Theoretical topics include direct stiffness method for bar and truss, linear bar elements, interpolation function, strong and weak form of axially loaded bar, galerkin method, higher order bar elements, isoparametric formulation, Euler-Bernoulli beam theory, and finite elements for beams and frames.
  • Practical implementation includes developing MATLAB program for 1-D elastic bar and truss, and generalized finite element code using iso-parametric formulation and numerical integration, simulation of planar truss and frame problems using ABAQUS.


  • Logan, D.L. (2015). A first course in the finite element method (6th ed.). Cengage Learning.
  • Fish, J., Beltyschko, T. (2007). A First Course in Finite Elements. John Wiley & Sons, Ltd.

Notes: Logan's approch to finite element is comprehensive and emphasizes variational principle using minimum potential energy method. This book was written from self-study point of view. Unfortunately it contains a good number printing mistakes, so be careful in using it. On the other hand, Fish et al. used concise, but relatively rigorous mathematical approach which might be useful for advanced students. This MOOC will make the best use of both books. There are other great books available on finite elements.


  • Introduction to linear algebra and differential equation
  • Statics, Solid mechanics/ Strength of materials.
  • Computer programming (preferrably MATLAB) and numerical analysis (optional)


  • MATLAB: Will be used to develop 1-D finite element code. MATLAB student edition is generally available via school. Please contact your school to access MATLAB. Alternatively, you can purchase MATLAB student lincese or use online version of MATLAB by creating MathWorks account.

Getting Started:

  • Mathematics: Please brush-up your knowledge on linear algebra and differential equation (you don't need to review whole course contents), just reviewing basic information would be sufficient for this class.
  • Programming: It is expected that you like programming and have basic understanding of how to write codes (language doesn't matter). If you have done MATLAB before, please review the materials and practice writing codes. If you haven't taken MATLAB before, please use Coursera or edX to learn MATLAB before the class starts. This class won't cover introductory MATLAB programming; it is up to you to master the basics.

Class Resources (will be posted/ updated soon)


Lecture Notes:

Problem Sets:

MATLAB Code Templates: