Finite Element Analysis in a Nut Shell
If you ever wondered “What is finite element analysis?”, hopefully you can learn more about it in this post. Finite element analysis is widely used in the aerospace industry (and many others) to primarily create loads models. In some cases, it is also used to create detailed stress models. But let us not jump the gun on loads models and stress models just yet.
Click this link to download the pdf versions of the latest blog posts…
If you ever wondered “What is finite element analysis?”, hopefully you can learn more about it in this post. Finite element analysis is widely used in the aerospace industry (and many others) to primarily create loads models. In some cases, it is also used to create detailed stress models. But let us not jump the gun on loads models and stress models just yet.
First question to ask is, what is finite element analysis? Here is a good link: http://en.wikipedia.org/wiki/Finite_element_method
Too much to read? No worries. Simply put, finite element analysis can be summarized in a nut shell as follows:
F = KX
Where ‘F’ is the applied force, ‘K’ is the stiffness of the entire structure, and ‘X’ is the displacement (unknown). ‘K’ in finite element analysis is also called the “global stiffness matrix”. Meaning, the stiffness of the global or entire combined discretized structure. It is assembled from many little pieces of small discretized (elements) stiffnesses, and then assembled into one big stiffness matrix. And yes, it can be a really big matrix depending on the model. The numerical simulation of the complex stiffness of a complex structure, made up of many different parts, is only possible (in most cases) with finite element modeling.
The known quantities in the static FEM world are the applied loading (F), and the stiffness of the structure (K) which inherently includes the constraints for static equilibrium. So the only thing that is unknown is the displacement and its derivative quantities. This is where the magic of the ‘finite element solver’ happens (for example NASTRAN). In simple terms, the solver’s job is the following:
Click to Get Two Free FEA Course Lessons
- Compile all the numerical data in the model
- Assemble the global stiffness matrix
- Make sure the model is numerically defined correctly, and is balanced with loads and constraints
- Invert this large stiffness matrix and generate all the equilibrium equations (is this how it is really done in commercial FEA codes? No, keep reading to find out how they do it)
- Then solve all these equations to find the unknown displacements
- Once the displacements are solved for, then the solver calculates all the derivative quantities such as strains, stresses etc.
Pretty neat right? Its amazing what FEM can do for us. But it is very important that the analyst checks the analysis results to make sure they make sense. Always look at the deformed plot and make sure the deformations make sense. Make sure the model behaves as expected. Look at the max displacement value and make sure it makes sense as well. Do some rough hand calculations using standard beam theory to make sure the reactions make sense, and so on.
It is very easy to be impressed with the pretty colors of FEM results, but it can be dangerous in the hands of someone who relies blindly on FEM, the FEM model is only as good as the input it receives. So preparation and checking the results is very important. But I have to tell you, even though FEM is fairly complex, it is an invaluable tool in today’s analysis.
Having said that, here is my shameless plugin to my Bronze level “Finite Element Analysis” course. If you would like to get two free lesson videos, then click the link below and subscribe on the course page to join the email list.
Want to get instant updates on the latest posts like this one and a free Ebook?
In today's FEA world, various advances in numerical methods and computing have been adopted in solving for the unknown displacements.
The following are excerpts from an interesting discussion I had on linkedin on this very topic (it goes a bit more in depth on the solution sequence than finite element analysis in a nut shell):
Click Here if you want to read that discussion. You may need a linkedin account and be a member of that linkedin group.
The following summary is available to you, thanks to Kirk Fraser:
For anyone performing FEA, it is always a good idea to have a reasonable understanding of what the linear solver has to do to solve F=KX.
I would say that, there are no commercial FE solvers that actually invert the stiffness matrix; It is simply too much work.
Most linear solvers are incredibly efficient because they take advantage of the sparsity of the stiffness matrix (do not need to perform calculation for the zero terms). A sparse matrix is one that contains more zero entries than not. Moreover, in FEM, the non zero terms in the stiffness matrix are mainly within a band along and near the diagonal of the matrix. Typically, only the non zero entries in the stiffness matrix need to be stored. A little note: The inverse of a sparse matrix is more often than not dense. So performing a fair amount of work is involved in multiplying the inverse of the stiffness matrix by the force vector.
Most solvers will use an iterative solution process to solve F=KX. Usually, the set of linear equations can be solved using an optimization algorithm. There are many approaches that can be used, for FEA, a common high performance and efficient one is the conjugate gradient method. The idea of this approach is to iteratively obtain a better approximation for the deformation vector, X. The goal of these methods is to minimize the error (or residual, r) obtained from evaluating r=KX-F.
The algorithm starts by choosing a starting value for u (an initial "guess" that can be any value). The initial residual can be very large, but quickly diminishes as more iterations are performed. Eventually, the deformation vector will be found within a reasonable level of allowable error, or displacement convergence parameter. There are a number of advantages of using an iterative solver:
Finite Element Analysis Online Course
* Takes advantage of the sparsity of the stiffness matrix
* Is very fast and converges quickly
* Is often more precise than inverting the stiffness matrix
* Is easy to perform the iterative solution in parallel (matrix inversion is notoriously complex to run in parallel)
Perhaps the nicest aspect of the conjugate gradient method is that it is ideally suited for sparse symmetric systems. The FEM almost always leads to symmetric stiffness matrices. And will always be positive definite (the inverse exists since the determinant is non zero) as long as adequate constraints are provided (there are no zero of negative eigenvalues).
This article provides an excellent introduction to a few iterative solution methods:
http://www.cs.cmu.edu/~quake-papers/painless-conjugate-gradient.pdf
At the end of the article are ready to be coded "canned algorithms". A huge wealth of information on iterative methods is available through wikepedia. Just Google conjugate gradient (CG), steepest descent, bi-conjugate gradient (BiCGstab) or general minimum residual (GMRES).
I have always felt that a reasonable understanding of the solution process makes for better FE analysts. Knowing that a system with zero of negative eigenvalues (think rigid body motion) leads to a system of equations that do not have a unique solution is a valuable understanding. With this knowledge, an astute FE analyst will perform an eigenvalue (normal modes) analysis when faced with a difficult model with many different connections and parts. This is a common trick to find the areas of the model that are under-constrained and is an excellent model debugging trick.
The PCGLSS is the conjugate gradient method with a preconditioner. The preconditioner is an approximation of the inverse of K that helps to push the solver towards convergence. It is a "branded" linear system solver by CA&SI and is leased by many FEA companies such as NEi, Ansys, Marc, etc.
More information is available here:
http://www.casicorp.com/techprod.html and http://www.aertia.com/docs/noran/NESolvers_V90.pdf
Acronyms make a lot of people squeamish until they know what the letters stand for...
Hope you enjoyed this post, make sure you comment below and let me know...