Course Description


EN2340 is a graduate level course on the theory and implementation of the finite element method for solving boundary value problems in solid mechanics. It is intended primarily to provide the background necessary to develop finite element code to model advanced materials (for which constitutive models are not available in commercial finite element software) and to implement special types of finite element, which might be needed to solve multi-physics problems.

A strong background in solid mechanics is necessary. Before taking this course you should have completed at least an advanced solid mechanics course equivalent to EN1750, so you have some experience with nonlinear mechanics of continua, and have some prior exposure to finite element analysis. In addition, you need to be comfortable with programming and debugging at least MATLAB code. Most FEA coding is still done in FORTRAN.

The course will cover use of ABAQUS; and the practical implementation of finite element procedures, using MATLAB coding exercises to illustrate basic concepts, as well as more advanced coding either through ABAQUS user elements or by adding subroutines to a basic standalone FEA code.

You will also learn to use a modern Integrated Development Environment (IDE) and how to manage your coding with version control software (we will use Eclipse and GitHub for this).


Work Expectation:

    1. Lectures: 40 hours
    2. Software installation, tutorials 20 hrs
    3. Homework assignments: 10 at 10 hours each
    4. Final Project: at 20 hours

    TOTAL: 180 hours.

Course outcomes: After completing EN2340, you should be:

  • Familiar with the theoretical basis for FEA in solid mechanics
  • Able to set up and solve solid mechanics problems using ABAQUS (or matlab/mathematica for simple problems)
  • Able to develop user elements and user materials for ABAQUS (or implement elements/materials in open source codes
  • Able to use an IDE/Git for writing and debugging code, version control, and collaboration


Course Outline


1. Overview of the finite element method in solid mechanics

    1. Features of a finite element code
    2. Introduction to ABAQUS/CAE and ABAQUS

2. The Finite Element Method for Static Linear Elasticity

    1. Derivation and implementation of a basic 2D FE code with triangular constant strain elements
    2. Generalization of finite element procedures for linear elasticity: interpolation and numerical integration in 1D, 2D and 3D
    3. Deriving finite element equations - constructing variational forms; mixed methods.
    4. Accuracy and convergence; the Patch test

3. Advanced Element Formulations

    1. Shear locking and incompatible mode elements
    2. Volumetric locking: reduced integration and Bbar methods
    3. Mixed (hybrid) elements

4. Finite element method for nonlinear and history dependent problems

    1. Small strain hypoelastic materials
    2. Small strain viscoplasticity
    3. Large strain elasticity
    4. Large strain visco-plasticity

5. The finite element method for time dependent and dynamic problems

    1. First-order systems - the diffusion equation
    2. Explicit time integration – the Newmark method
    3. Implicit time integration
    4. Modal analysis and modal time integration

6. Structural Elements

    1. Continuum Beams
    2. Shells

7. Interfaces and contact

    1. Cohesive Zones
    2. Enforcing constraints using penalty methods and Lagrange Multipliers
    3. Contact elements (in two dimensions)

Lecture Notes from Class

  1. L1: Intro slides,
    Overview of FEA - Nodes and Elements
  2. L2: Overview of FEA: BCs, constraints, contact, solution methods
  3. L3: Units and scaling in FEA; FEA for linear elastostatics part 1 - basic plane elasticity with constant strain triangles
  4. L4: Linear elastic FEA with constant strain triangles. MATLAB code Simple 2 el input file Hole-in-a-plate input file
  5. L5: Generalizing linear elastic FEA
  6. L6: General linear elastic FEA: Isoparametric interpolation; matrix form for k,r, Gaussian Quadrature
  7. L7: Implementing 3D elasticity as a UEL; Perspectives on FEA for solid mechanics (Galerkin methods)
  8. L8: Perspectives on FEA for linear elasticity, shear locking Matlab code input file 1, input file 2, input file 3
  9. L9: Incompatible mode elements; volumetric locking
  10. L10 Hourglass control, selective reduced integration, B-bar elements.
  11. L11 Hybrid elements and Augmented Lagrangian elements
  12. L12 FEA for nonlinear materials: hypoelasticity
  13. L13 FEA for large deformations: hyperelasticity (with neo-hookean material model)
  14. L14 FEA implementation for hyperelasticity; FEA for time dependent problems - viscoplasticity
  15. L15 Viscoplasticity
  16. L16: Time integration for first-order systems - the Cahn Hilliard Equation
  17. L17: Newmark time integration for linear momentum balance in solid mechanics
  18. L18: Numerical tests on Newmark; ABAQUS VUMAT for viscoplasticity
  19. L19 Stability of Newmark time-stepping; modal analysis
  20. L20 Modal analysis examples; writing UMAT and VUMAT for finite deformations
  21. L21 ABAQUS UMAT/VUMAT for finite deformations; structural elements
  22. L22 Continuum beam elements
  23. L23 Cohesive Zones
  24. L24 Implementing Cohesive Zones; Constraints (penalty methods and Lagrange Multipliers)
  25. L25 Contact
  26. L26 Contact