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

One of the most asked questions by beginners in engineering simulation 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, it can be achieved.

Let’s start by explaining what FEA is. The Finite Element Analysis is the simulation of any given physical phenomenon using the numerical technique called Finite Element Method (FEM). Engineers use it to reduce the number of physical prototypes and experiments and optimize components in their design phase to develop better products, faster. To understand it in depth, this SimWiki article “What is FEA” is a relevant resource.

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 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, whether we’re talking about a designer, hobbyist, engineer, mathematician or programmer.

For its application, 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.

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, garbage out (GIGO). Thus, if the inputs are not well understood, one will end up dealing with results that don’t make sense physically. In addition, the job description of most engineers or designers does not entail debugging the backend FEA program but only to use the results. This is why it’s even more important to be sure of the correctness of the pre-processing.

### Creation of Geometry / 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.

It is not always essential to start from the drawing board, however. Alternatively, one can find CAD models from several public forums. 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 using. Upon removal of engravings, please provide appropriate citations as required by GradCAD download licenses. Some tips you can find in this YouTube video: “**Preparation of geometry for FEM simulation**“.

### 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 here: “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 classes depending on the platform used for computation. Some tips on choosing solvers for computing can be found in 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 “Post-processing 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, in this section, 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, 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 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 them presents the ideas of nonlinear mechanics in their own unique fashion. There is no best book here and one needs to adapt to 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 such as using FEA in contact, are dealt in detail in separate texts. The mathematical understanding of mixed methods, commonly used in areas like contact mechanics is by itself 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 the 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 range from beginner to advanced courses related to modeling problems in all areas
- iMechanica forums serve 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 **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!

**Want to read about an application of FEA? This case study shows a stress analysis of a wheel loader arm performed with the SimScale simulation platform.**