Nonlinear buckling is a really interesting analysis. It gives you enormous possibilities, at only a few minutes worth of work. At the start, it might be frustrating to set it up (there is a learning curve involved), but in the end, it is a default engineering tool for me right now! Possibilities are limitless!
Nonlinear buckling is a very powerful tool. It’s not as simple as linear buckling I wrote about lately. The nonlinear approach requires some additional settings in the solver. The results you get are well worth the hassle. To start off I will go with the simplest of cases: elastic buckling of a perfect model.
Nonlinear buckling (GNA: Geometrically Nonlinear Analysis)
I will start with the sweet stuff, so you will know what is here to gain. The outcomes from nonlinear buckling analysis are far more robust than those from linear buckling. What you get is:
Nonlinear buckling outcomes:
- Failure animation : this is not the best part of course, but it is definitely fun! It also helps a lot as you can see how things are failing and in what sequence.
- Stability path : is an incredible tool. It basically contains all the information about structure behavior of your model!
- Critical load multiplier : if you would multiply the loads you applied with this value, you would get a load causing failure. In case of GNA that would be failure due to buckling.
- Post-critical outcomes : this is also very neat. You do not only get the outcomes until failure… you can actually calculate how the model will look like way after failure. A helpful thing if you wonder what will happen, is there any strengthening later on etc.
- Actual deformations: while linear buckling only provides “shape” without real displacement values, nonlinear buckling does more! You can see the actual deformations of the model before and after failure!
The typical animated outcome from GNA looks like this:
What nonlinear buckling actually do?
This is a very good question! In essence, GNA will divide the load you have applied in your model in a way that you requested in solver settings (below). There are several possibilities here. For now, let us assume that you have asked the solver to divide the load into 100 equal parts (often called increments).
During calculations, the solver will apply each part of the load one after another. In the first increment, the load will be 1% of the load you applied. In the second increment, the load is increased by additional 1% for a total of 2% and so on). Such approach in linear static makes no sense (since all the outcomes are proportional). In nonlinear solution things are different. Deformation of the model from the previous increment influence the outcome for the next increment. This is why the division of the applied load into smaller pieces is important!
At the end of the analysis, you get something I call a “slideshow”. In our example that would be 100 different outcome sets, one for each increment. Usually in your software that will look just as if you had just made 100 linear analysis sets with gradually increasing load (but of course the outcome is different, especially at higher loads).
From this “slideshow” you can create the failure animation I mentioned above. Most post-processors simply have a button “animate” or “multi-step animate” for this purpose. You can also create stability path from this “slideshow” (more on this here). Sample outcomes may look like this:
How to set up nonlinear buckling analysis (GNA)
The setting of nonlinear buckling analysis is surprisingly “code independent”. Sure, depending on the software you are using, menus will look different, but the things you will be setting up are very similar.
Required steps to set up nonlinear buckling:
- Activate geometrical nonlinearity : most per-processors assume this as default when you set up nonlinear analysis. But i.e. in Abaqus, you have to check the “Nlgeom” box.
- Use linear material : for now, we are keeping this simple. There are of course other possibilities I will describe in future posts.
- Pick Riks / Crisfield / Modified Riks algorithm : those algorithms are commonly referred to as arc-length methods. They allow you to trace a snap-threw problem. The standard solver will have huge convergence problem where buckling occurs. If this interests you read more about it here.
- Define initial increment : You have to explain to the solver what amount of load should it take for the first increment. Each solver has its own idea about how this should be done. In Abaqus, you simply give a multiplier of the applied load (like 0.01 which stands for “start with 1% of the load I applied). In NX Nastran you provide the number that the applied load should be divided by (so NINC = 100 is the Abaqus setting of 0.01). Additional increments are calculated automatically in arc-length methods.
- Choose what outcomes you want : it is so easy to forget that! I even once launched an analysis that computed for 10h, and forgot to mark what outcomes I want to get! Most software fills it for you, but usually, somewhere you have to mark that you want to have “intermediate” results. After 100 steps it would be nice to have 100 outcomes sets, not only the last one showing you the model in a deep post-failure state!
- Calculate : you will notice that the nonlinear problems take significantly more time to compute. Sometimes this is 5 minutes, sometimes for several hours. The quality of outcomes is easily worth the wait I think. Especially since you can run the large model in the evening to have outcomes in the morning 🙂
This is the general outline of what you need to do. At the start setting this up might be frustrating (it was for me for sure!) but after you get some experience all the setting takes around 3 minutes!
Nonlinear buckling pros and cons
Nonlinear buckling positives:
- The outcome you get is incredibly robust. Starting with the stability path and post-critical outcomes and finishing with actual model deformations and animations of failure.
- This analysis can take material nonlinearity into account. We haven’t discussed it here, but the fact that solver can use material nonlinearity is huge! In many cases taking both nonlinearities into account is a must!
- Can deal with contact. Another big one. Contact between objects can really impact stability outcomes. Being able to take that into account is great!
Of course, nothing is great without the drawbacks. Nonlinear buckling has several, mostly concerning the fact… that it is actually more difficult to use than linear buckling:
Nonlinear buckling negatives:
- More difficult to set up : linear buckling is easier to do.
- Convergence problems : even if you set up everything all right, from time to time you will get convergence issues. Nothing too serious if you know how to restart the previous analysis!
- Require experience : there is a learning curve here. The more you use it, the faster you get the needed intuition. Not everything is obvious (like the amount of required increments etc.).
- Longer computing : the only drawback that is not directly connected with the skill level of the user. Calculation time is higher for sure. You can shorten it with proper memory management for solver and better gear. You can write scripts that will solve several problems one after the other during the night… but in the end, it will always compute longer than linear analysis.
My thoughts on nonlinear buckling
As you could feel while reading this post I really like the nonlinear analysis. Most drawbacks go away with time and with the experience you gain. The only “real” drawback is the time required to do the calculations. It used to bother me much more, but I have learned to organize my work such, that the longest calculations are made when I sleep. Also, bear in mind that in a case of small analysis this “long computing time” can easily be 3 minutes. The average computing time for my problems is around 15min… You will always have time to make another tea!
I honestly believe that you should learn how to do nonlinear design even if you won’t use it often. In the case of most popular solvers the software, you use already have the needed tools. This can be a great stepping stone for your career (as it was for mine).
Knowing how to do such analysis brings your skills (and value as a professional) to a completely new level! I really think it is well worth to learn it. I admit it will take time, and sometimes you won’t be able to convince your boss/customer that it makes sense. But when you understand this… it really changed the way I look at entire engineering!
Thank you for reading all of this. If you enjoyed it, consider sharing the news about my blog via your social networks!
Also, I have prepared a free nonlinear FEA course for you! Get it below!