!function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '366319058984917'); fbq('track', 'PageView');
9 minutes read
17 July 2016

Process of nonlinear design on example of polygonal shell column

9 minutes read

I have recently calculated a polygonal column for a book my friend writes. I have decided to use this real-life example to show how the process of numerical design looks like in practice.


Energy Pole 1

The task was defined by the full-scale test of such column done before I have started (actually a few years ago I think). Because of this when I have started I have already know where the weakest point of the structure was… this was actually important, since to model the entire column exactly would lead to a huge model and very long computing times. Since the test showed that the lowest part is the weakest link I could focus on that part and simplify the rest of the model, so calculation times were much shorter. Finally, the model was created with solid, shell, and beam elements. Originally I intended to use shell and beam elements only, but the thickness of the endplate was so big (in comparison to other element thickness) that I have decided to use solid elements in that plate to better take into account the work of the model. In my calculations, I used loads from the real-life tests (instead of estimating them from the code) – this way a comparison between the real-life test and numerical outcomes was possible. This is also something that interested me, as I wanted to see if I will get the “correct” answer with my design (unfortunately I’m not at liberty to show the outcomes of the tests here – they will be published in the book, however).

Approach to the problem

I had an exact geometry of the column (the tested one), so creating of the model was a simple task. I have decided that I will use shell elements only to a certain height of the model (2m over the base plate), and then connect the edges at that height to the middle of the cross-section – from that node I used beam elements in higher parts (it can be easily seen at the schematic above). Also, I have implemented the loads that were the base loads in the test (and were proportionally increased during testing). Those loads were described in the test as 100%, I referred to them as of loads with load multiplier r = 1.0. If you are unfamiliar with the load multiplier concept, you can read about it here.

At that stage, I had all the input data, but I decided not to ask what the test outcome was exactly (apart from the fact that I was informed that the bottom part was critical in the test), simply so I can verify how well I can analyze such problems…

LBA – Linear Bifurcation Analysis

Of course, whatever happens, I always start with LBA… simply to check if the model is working correctly and nothing acts in a stupid way. Everything was fine, and I obtained several eigenvalues, of which 3 are shown below.

*Please note that all the below images come from the book – I’m the author of the chapter with this analysis (and those images), and at the end of this post, I will give the full bibliographic reference for this book.

Rys. 2 - LBA

LBA buckling shapes always look so unrealistic, we will get the real shapes in a second, note also that the minimal eigenvalue is 4.659, which means that the linear buckling predicts that the capacity will be around 4.65 times higher than the applied load. This is also a nice example of the differences between linear and nonlinear buckling, as you will see in a second.

GNA – Geometrically nonlinear analysis

Out of habit I usually try to assess the stability of the model first. You can just as easily start with plastic capacity, but for whatever reason I always do stability. Geometric nonlinearity connected with the Modified Riks algorithm leads to an estimation of “nonlinear buckling” capacity. Stages of the deformation in higher and higher loads.

Rys. 3b - GNA

Please note that in this case linear buckling predicts almost identical capacity as the nonlinear buckling (only 5% difference), but the shape of the deformation is completely different (the one obtained in GNA is much closer to the truth for elastic stability failure). Of course, a stability path was created so the real capacity can be determined. I won’t post each stability path to save space, but this one is below. If you are not familiar with the concept you can read about it here. Please note that the drawing above shows deformation at failure (on the left) and after failure (middle and right). The load multiplier is decreasing because the capacity curve is declining after failure.

Energy Pole GNA path

GNIA – Geometrically nonlinear analysis with imperfections

Unfortunately, I did not have an access to measurements of the exact geometry of the analyzed model. I was just informed that it was very precise (about which there is no doubt). Since code EN 1993-1-6 do not provide us with the guidelines for imperfections in polygonal cross-sections I simply used guidelines for shells with the understanding that this is a conservative approach (polygonal shapes have usually a much higher radius to thickness ratio than typical silos or tank, and as such are less prone to geometric imperfections). Outcomes showed the reduction of the capacity of about 25% in comparison to GNA (failure at r = 3.297 shown in the middle picture below).

Rys. 4b - GNIA

Several imperfections shapes should be checked obviously in search for the “worst” one, however, before that stage, I usually check the plastic capacity first to avoid unnecessary work.

MNA – Materially nonlinear analysis

Plastic collapse is a second phenomenon I always check. In this case, it will turn out to be decisive. It is worth mentioning that since model failure in MNA occurred with a much smaller load multiplier there is really no point in searching for the worst imperfections in GNIA… chances that those will reduce capacity 3 times are very small… it is far more beneficial to actually search for imperfections that will interact with the plastic mechanism of failure rather than elastic one.

Rys. 5b - MNA

GMNA – Geometrically and materially nonlinear analysis

Of course, plastic collapse interacts with geometrical nonlinearity. Since plastic collapse is dominant in the model it is clear that we are searching “how the geometrical nonlinearity influence plastic collapse” rather than “how material nonlinearity influence stability failure”. For me that is important information: of course, the actions I do are basically the same, but since I have checked all the previous outcomes at this stage I start to understand how the model works and what to expect.

Rys. 6b - GMNA

At the schematics above, it can be clearly seen that the plastic mechanism dominates failure. Model stresses in a failure state (r = 1.468) are shown in the middle of the picture above.

GMNIA – Geometrically and materially nonlinear analysis with imperfections

The final analysis… or the final “set” of analysis, because you almost never do only one. Here it is when understanding the model gets important. Since we already know, that plastic failure dominates the capacity, we will be searching for imperfections that work well with that failure mode. In this case that will lead to deformations outward, which introduce additional bending in the region where yielding occurs. If stability would be dominant, then imperfections in such column would be inward to make the buckling “easier”.

Rys. 7b - GMNIA

Again in the middle model at failure. In this case, maximal load multiplier r = 1.252.


Performing all the analyses described here is quite time-consuming. There is always the temptation to go straight to GMNIA (with one or two sets of imperfections) and be done with it. Such an approach saves a lot of computing time (modeling wise this is almost the same, but you wait for the outcomes from only 2 runs), however, I would argue this is not the best approach. Actually, from time to time you will even get the correct result (nothing easier, all I had to do is to implement the correct imperfections in the model at the start and calculate… the outcome would be identical). However, if you perform all the analysis described here, you get a certain knowledge about the model, how it works, where the critical elements are, etc. This, in turn, helps you out greatly to make conscious design choices when it comes to the assessment of capacity or decisions about the strengthening of the structure.

I think that the best way to defend such an approach is the fact, that after all that design I was able to check what actually happened during the test – analysis I have performed perfectly predicted failure mechanisms, and deformations after failure (in the geometric sense, they weren’t measured during the testing). Also, the capacity of the model was predicted with very good accuracy, with the remark that the final capacity I have obtained was a bit lower (on the safe side), because of conservative imperfection amplitudes that were used (there are no code guidelines for polygonal shapes).

If you like the post, consider taking my free essential FEA course. You can get it by subscribing below.

The book

This example is described in much more detail in the book I have mentioned. If you are interested in the design of similar structures it is definitely a good read, done mostly by my friend Sławek who has vast engineering experience. For now, the book is in printing and should be available in The Polish language at the beginning of the fall this year (I will edit this post when I will know the exact date).

Working title: Sławomir Labocha, Jarosław Paluszyński: Stalowe, pełnościenne słupy powłokowe. Wydawnictwo Naukowe PWN 2016.

Graphics shown in this post come from that book.

Have a nice day!


Author: Łukasz Skotny Ph.D.

I have over 10 years of practical FEA experience (I'm running my own Engineering Consultancy), and I've been an academic teacher for a decade. Here, I gladly share my engineering knowledge through courses, and on the blog!

Read more

Join the discussion

Comments (11)

Michele - 2020-05-27 14:44:22

Thank you, I understand what you mean. My software let you consider "p-delta effects" or "p-delta effects with large displacement", wich I suppose are both non linear. Thank you again!

Łukasz Skotny Ph.D. - 2020-05-28 06:53:21

I think that P-Delta effects (alone) would mean the "2nd order" analysis. It's not "fully" nonlinear geometry to be honest. Try some simple beam (a weak one) with a lot of load on it and with blocked horizontal movement at both ends and run both analyses. I suspect that the P-Delta will show you much bigger stresses and much higher deformations than the one with "large deformations"... you knowing how stuff is "named" in various software I cannot be sure of course :)

Michele - 2020-05-28 18:05:16

Yes, it's exactly the result that the software (Sap2000) gives me! In my future experiments I'll use large displacement in the analysis, thank you very much!

Łukasz Skotny Ph.D. - 2020-05-29 06:55:16


I'm so glad that it worked, and that I could help you a bit! It looks like you are on a great trajectory to learn some cool things! Good luck with that Michele, and come back with questions if you will ever have anY!

All the best!

Michele - 2020-05-16 13:12:14

Hi! Thank you for this amazing article.
I'd like to know if you used small or large displacement in the GNA (and in the other kind of geometric non linear analysis).
Thank you in advance!

Łukasz Skotny Ph.D. - 2020-05-17 09:55:51


Thanks Michele! I'm super glad that you like the post :)

I used large displacements of course :)

All the best

Michele - 2020-05-17 19:13:37

Thank you again for the answer! Another thing, if I can ask: how would change the response curve in the MNA using small displacement?

Michele - 2020-05-20 10:22:56

Sorry, I meant GNA, not MNA

Łukasz Skotny Ph.D. - 2020-05-24 09:57:54

Ok, let's unwrap this :)

MNA uses small displacements already, and I assume you simply made a typo and hence you added GMN not MNA comment below :)

If you would do a small deformations GNA analysis... that would be a simple linear analysis... so there outcomes would change a lot. First of all, stresses would proportionally increase with load, and the stability path would be a straight line. What's more... there would be no failure at all! You would simply not see the buckling... the stress will simply get proportionally higher, and nothing else would change in the mode.

Just like in the "normal" linear analysis :)

Hope this clears things a bit!

All the best!

Michele - 2020-05-25 18:45:07

Thank you very much! This is the exact output that I have in my model, and I was wondering if I had done some mistakes.
Another thing, the GNA with small displacement always give a linear load-displacement path as output or only in some types of models? I can't understand why the path is linear if we use geometric nonlinearity. Sorry if I make too many questions, but I'm so curious!

Łukasz Skotny Ph.D. - 2020-05-27 07:12:30


If you use "nonlinear geometry" but with "small displacements" you are in fact using linear geometry, regardless of how it is called in your software. While starting a nonlinear geometry large displacements should be on by default... if you turn them off, then it's simply a linear geometry, so stability path will be... linear (hence the name!).

All the best!


Sign up for my FEA Newsletter!

Each Tuesday you will get awesome FEA Content directly yo your email!

    Your personal data administrator is Enterfea Łukasz Skotny, Skrzydlata 1/7, 54-129 Wrocław/POLAND, Email. By subscribing to the newsletter that includes marketing messages you consent to your personal data processing in accordance with this privacy policy