# How Can I learn Finite Element Analysis? The Complete Guide

One of the most asked questions by beginners in mechanical engineering is how to learn **Finite Element Analysis**. This process is not easy, especially if you want to learn by yourself and not in university, but with motivation, anything can be learned.

Let’s start by explaining what FEA is. Finite Element Analysis is the process of analyzing any given problem of interest using the Finite Element Method (FEM). For a more detailed review to the question “What is Finite Element Analysis?” you are re-directed to the latest blog article on the topic.

This article aims to be a list of valuable resources such as books, papers, validation examples and more that can help you learn or improve your knowledge about FEA. It is important to note that most often, FEM is used more commonly in solid mechanics problems, in comparison to fluid mechanics problems. There are several generic resources and guidance available on the Internet but most of these are based on the one-size-fits-all theory. Firstly, it is important to understand the perspective of the learner: designer, hobbyist, engineer, mathematician or programmer perspectives.

To start with, SimScale provides an easy-to-use cloud-based platform that provides an interactive interface suitable for FEM simulations. A starting guide for SimScale can be found in the blog article “Learn SimScale in 30 days” and YouTube video “Getting started with SimScale“.

## Engineer, Designer & Hobbyist Perspective to Finite Element Analysis

For a professional engineer, designer or hobbyist, the most important aspect is to understand the right way to set up a problem. For someone using FEA from this perspective, an FEA tool is a black-box into which appropriate inputs are provided and corresponding outputs are analyzed to make design decisions. This corresponds to most of the industrial design departments where FEA is used in design and marketing decisions.

Hence, it is paramount to understand the pre- and post-processing aspects of the process in great detail. Any computer program runs on the philosophy of garbage in and garbage out. Thus, if the inputs are not well understood, one will end up dealing with results that do not make sense in a physical manner. In addition, the job description of most engineers or designers does not entail debugging the backend **FEA program** but only to use the results. Hence, it is even more significant to be sure of the correctness of the pre-processing.

### Creation of Geometry i.e. CAD model

One of the first steps is to create a reasonable geometry (or CAD model) that is as near to reality as possible. The geometry is generally simplified to creating a computationally feasible and efficient model. A convenient way to create CAD models could be to use tools like Onshape and Autodesk Fusion 360. Both these tools are cloud-based and allow free usage. While Onshape, currently, allows up to 10 models to be stored in private, Autodesk Fusion360 allows three years of free usage for students, designers, and hobbyists.

However, it is not always essential to start this from the drawing board. Alternatively, one can find CAD models from several public forums like GrabCAD. One important word of caution while using CAD models from forums such as GrabCAD is to consider the small engravings made by authors. Such engravings can significantly affect the mesh creation and need to be removed before usage. However, upon removal of engravings, please provide appropriate citations as required by GradCAD download licenses. Some tips on “**Preparation of geometry for FEM simulation**” can be found in the YouTube video.

### Pre-processing: Meshing and setting up the problem

Once the model is created, the model needs to be discretized into elements. In other words, the geometry is divided into smaller parts such that the resulting PDEs are satisfied locally in each of the resulting small elements. Some tips particularly related to meshing for structural problems can be found in the blog article “How to mesh your CAD model for structural analysis”. Similarly, the mesh generation can be found in this post: “Browser – based mesh generation”.

Once the model has been discretized, the model parameters need to be provided. The model parameters including defining relevant materials, constraints like contacts or rigid bodies and assignment of appropriate boundary conditions like displacement and / or force boundary conditions.

The material can be linear, elastic or hyperelastic when large deformations are involved. In addition, inelastic effects like plasticity or viscoelasticity could also be demonstrated by the material. These aspects need to be considered appropriately. Some tips on modeling hyperelastic materials can be found in these blog articles: “Choosing the right hyperelastic material model” and “Modeling elastomers using FEM”. Additional tips when inelastic effects are involved can be found in the article “Modeling inelasticity with SimScale”.

In addition to the issues above, the material could undergo damage or fracture. Many commercial software solutions provide limited features for these nonlinearities and hence appropriate manuals need to be referred to using such advanced features.

Finally, the boundary conditions need to be provided. Most often displacement boundary conditions are preferred in comparison to force boundary conditions, primarily due to stability issues. In addition, nonlinearity in boundary conditions could arise from aspects like contact. Thus, appropriate contact models need to be assigned to the bodies / surfaces in contact. The state-of-art is surface-to-surface contact using penalty, Lagrange or augmented Lagrange formulations. A more detailed assessment of contact models can be found in the blog article on “Contact mechanics and friction”.

As discussed earlier, FEA is not the most popular among fluid mechanicians. Fluid mechanics involves the advective / convective terms or these are the first-order terms in the Navier-Stokes equations. The presence of these terms reduces the stability of the solution, primarily at high wave numbers. Hence, Finite Difference Method (FDM) is preferred in fluid mechanics solutions. However, as discussed in our article on “What is FEA?” novel techniques have been developed as a modus operandi to overcome this problem and continue using FEM. Nevertheless, two aspects to consider in setting up a problem related to fluid mechanics are if the flow can be considered laminar or if turbulence is important. Some tips and discussions on the issue can be found in the forum topic on “Laminar or Turbulence”. If the flow needs to be considered as turbulent, it is necessary to choose the right turbulence models and here again, we can redirect to the discussion on various turbulence models.

Once the problem parameters have been set up, it is important to choose the appropriate solvers. Parallel computing has increasingly become important in solving large problems of practical importance. In general, there are two main options: Direct and Iterative solvers. While direct solvers work well for smaller problems up to a Million Degrees of Freedom, iterative solvers are more efficient beyond this. There are several sub-options possible among both the classes depending on the platform used for computation. Some tips on choosing solvers for computing can be found the blog article “How to choose solvers for FEM problems: Direct or iterative“.

### Post-Processing

The final and most important step to help you learn Finite Element Analysis is to post-process the results. There are several tools available for post-processing but we can recommend the open-source tool ParaView. ParaView is also embedded into SimScale to assist online post-processing. Some tutorials on using ParaView for visualization can be found in the following YouTube tutorials:

In addition, we can also refer you to the blog article “Postprocessing with SimScale and ParaView” for tips on using ParaView online with SimScale.

Most often people are happy to obtain a nice image of the simulation. But what separates a nice picture from a realistic simulation result? Some tips on assessing the results of structural simulations can be found in the article on “When is it just a pretty picture?” and this webinar recording: “Tips for a Better Structural Analysis”. It becomes important to assess if the simulation results and numbers make sense. For example: If the failure threshold for a material is 100 GPa and the stress on the material is 200 GPa and the picture looks pretty, then there is something wrong with the simulation. In reality, the material should have failed but it is still carrying loads.

This is where the domain knowledge comes in handy. A concise list of basic books to get a general domain knowledge include:

- In solid mechanics,
- Strength of Materials by S Timoshenko
- Theory of Elasticity by S Timoshenko
- Non-Linear Elastic Deformations by R W Ogden
- Plasticity Theory by J Lubliner
- Applied Mechanics of Solids by A Bower (Online form)
- Notes on Viscoelasticity by D Roylance

- In fluid mechanics and thermodynamics,
- Incompressible Flow by R L Panton
- An Introduction to Fluid Dynamics by G K Batchelor
- Modern Compressible Flow by J Anderson
- Elements of Gas Dynamics by A L Roshko and H Liepmann

For the more initiated engineers and designers who would like to get an engineering perspective on the working of finite element analysis, some good reads include:

- Volume 01: The Finite Element Method: Its Basis and Fundamentals by O C Zienkiewicz and R L Taylor
- A First Course in Finite Elements by J Fish and T Belytschko
- The Finite Element Method: Linear Static and Dynamic Finite Element Analysis by T J R Hughes
- Textbook of Finite Element Analysis by P Seshu

All the above books discuss linear FEM primarily. There is never one perfect book, one needs to find a reference that best suits their language and interest. Since **nonlinear FEM** does require a deeper insight into the topic, it shall be discussed in the upcoming section.

To read more about Finite Element Analysis and the theories supporting it, check out the SimWiki. There, you can also find more articles related to Computer-aided Engineering

## Programmer – Developer – Mathematician Perspective to Finite Element Analysis

This part of the article addresses the interests of programmers, developers, and mathematicians who want to learn Finite Element Analysis (FEA / FEM). The main interest for those falling in this category would be to develop Finite Element Method including the development of new methods, elements, material models etc. Thus, it is mandatory to completely understand how FEM works. This section will address resources related to the black-box.

### Mathematical and Domain-Related Preliminaries

In the last section, the emphasis was on the pre- and post-processing regimes. In contrast to it, here the focus will remain on providing resources related to the background working of FEA. Learning FEM requires sufficient understanding of the related mathematics including linear and tensor algebra, differential and integral calculus, complex numbers etc. In addition, continuum mechanics forms the basis of all mechanical engineering related problems. A thorough understanding of continuum mechanics is a mandatory pre-requisite to understanding FEM. The two-volume and freely available treatise by Prof. Rohan Abeyarathne on the topics serves as an excellent starting point for this venture.

- Volume 1: A brief review of some mathematical preliminaries
- Volume 2: Continuum mechanics

Another particularly good reference connecting continuum mechanics to finite element analysis includes the book Nonlinear Continuum Mechanics for Finite Element Analysis by J Bonet and R Wood.

In addition, to that at least a basic understanding of functional analysis, variational methods, and tensor calculus is mandatory for most programmers and developers. Of course, this forms the bread and butter for a mathematician involved in learning FEA. An excellent book for engineers who want to understand the terminology used in the finite element literature and how error analysis can be found in Introductory Functional Analysis: With applications to boundary value problems and finite elements by B D Reddy. Some other useful resources with regard to these mathematical preliminaries include:

- Ordinary Differential Equations by G F Carrier and C Pearson (provides a rigorous treatment of ordinary differential equations and solution methodologies)
- Elementary Vector and Tensor Analysis for Engineers by R C Brennon (an online free text)

Further on, good repositories of knowledge on linear finite elements and detailed treatment of involved mathematics can be found in:

- Finite Element Procedures by K J Bathe (serves as a general reference)
- An Introduction to the Finite Element Method by J N Reddy (provides further citations to many other texts and literature)
- The Finite Element Method: Volume 2 Solid Mechanics by O C Zienkiewicz and R L Taylor (a detailed treatise that could be of interest to civil and mechanical engineers)

### References in Advanced Topics of FEM

Once through the basic pre-requisites, three outstanding books and references in the area of nonlinear mechanics include:

- Nonlinear Finite Element Methods by P Wriggers
- An Introduction to Nonlinear Finite Element Analysis by J N Reddy
- Nonlinear Finite Elements for Continua and Structures by T Belytschko, W K Liu, and B Moran

Each of the three books above presents the ideas of nonlinear mechanics in their own unique fashion. There is no best book here and one needs to adapt one that provides familiar notational and mathematical reading.

In addition, in the area of inelastic problems related to plasticity, viscoelasticity, creep etc, the book Computational Inelasticity by J C Simo and T J R Hughes has remained an authority for over two decades. The pioneering work of Simo and co-workers remain state-of-the-art in the area of simulation of the inelastic phenomenon.

In addition, specialized topics like using FEA in contact, fluid mechanics are all dealt in detail in separate texts. The mathematical understanding of mixed methods, commonly used in areas like contact mechanics are by themselves a topic of detailed study. A good beginner book for computational contact mechanics is the text titled Introduction to Computational Contact Mechanics by A Konyukhov and R Izi. Two other texts on computational contact mechanics for advanced readers include:

- Computational Contact Mechanics by P Wriggers
- Computational Contact and Impact Mechanics by T Laursen

Both the above texts are mathematically intensive and require a thorough understanding of tensor calculus and curvilinear coordinates. Further on, references related to application of FEM in the areas of fluid mechanics and heat transfer include:

- The Finite Element Method: Volume 3 Fluid Dynamics by O C Zienkiewicz and R L Taylor
- The Finite Element Method in Heat Transfer and Fluid Dynamics by J N Reddy and D K Gartling

Finally, some books of interest to mathematicians include:

- Finite Elements: Theory, Fast Solvers, and Applications in Solid Mechanics by D Braess
- Mixed and Hybrid Finite Element Methods by F Brezzi and M Fortin
- Mixed Finite Element Methods and Applications by D Boffi, F Brezzi, and M Fortin

Finally, if one intends to write their own FEM code to understand the intricacies, two excellent hands on references include:

- Programming the Finite Element Method by I M Smith, D V Griffiths, and L Margetts
- MATLAB Guide to Finite Elements: An Interactive Approach by P Kattan

## Online Resources and Validation Examples to learn Finite Element Analysis

More detailed courses to learn Finite Element Analysis can be found in several forums including:

- SimScale tutorials, workshops, and webinars
- NAFEMS Courses – Courses range from beginner to advanced courses related to using for modeling problems in all areas
- iMechanica Forums serves the solid mechanics community largely

As discussed earlier, it is important that the developed methodologies and programs are validated with standard problems. This is what differentiates a pretty picture from an accurate simulation. Some good sources for validation examples include:

- SimScale validation cases
- NAFEMS publications

In addition, top computational mechanics journal provide an excellent source of information on the current state-of-the-art in research. In addition, they also provide validation examples and sources for comparison for problems involving finite element analysis. Some of the top journals, in the area of Finite Element Analysis, include:

- Computational Mechanics
- Computational Material Science
- International Journal of Numerical Methods in Engineering
- Computer Methods in Applied Mathematics and Mechanics
- Journal of Fluid Mechanics
- Journal of the Mechanics and Physics of Solids
- Extreme Mechanics

The purpose of this article was to provide you with all the resources you’d need **to** **learn Finite Element Analysis** – FEA – even as a beginner. The more experience you have with the FEM, however, it is important to filter them and find the ones that help improve your own skills. Good luck! It’s a journey worth having!

**This case study shows a stress analysis of a wheel loader arm performed with the SimScale simulation platform.**