In every analysis, there is this simple “linear zone” at the beginning that does not require a lot of our attention, but then the nonlinear effects start to take place and problems get more complicated. Of course, we want to have as small load increment as reasonable in the “nonlinear zone” while it would be ideal to go through “linear zone” without many increments… as they give no real value and take away precious computing time. Usage of subcases is a great solution just for that problem!

I remember that when I first started my Ph.D. I had to simulate numerically the elastic buckling of a shell. Such a problem is very sensitive to load increment (basically it require very small increments near the load where buckling takes place). All the automatic algorithms I knew of worked like this:


Step was almost linear (great!) increase load increment

This step is also linear: increase load increment even more!

We are doing so fine: let’s increase the load increment!

Ups… load increment is too high to converge near the buckling load!

So instead of helping, those automatic algorithms actually made it impossible to do the calculations I wanted to do! The only solution I knew back then was to set a very small, constant load increment and wait for the analysis to finish… it took ages, as the solver went through a very long linear part of the model at a very small pace. The stability plot from such analysis would look like this:


Look at all of the steps that were made on the linear part of the chart… basically wasting computing time!

There is a solution to this problem, however: Subcases! Using subcases takes some predictions at the beginning, but it’s easier and easier with practice. Let’s go with the previous example: I have two “zones” in my model “linear zone” and “nonlinear zone”. I assume where the linear zone will end and define a subcase with a load of that value (well a bit less to be precise), then I make a second subcase with the final load (you may have many subcases and I often use more than 2 but everything stays the same). Since each subcase have its own case-control I can “order” solver to use big load increments in the first subcase, and then small load increments in the second subcase… in other words I get what I wanted, which looks like this (and saves around 40% of computing time for the same result!):


Subcases are a very useful tool when computing time is an issue. I must admit that defining subcases in Femap is a bit counter-intuitive, so I have made a video tutorial showing how to define them, and how they work.

If you have any questions regarding this topic (or any other FEA – related), don’t hesitate to contact me 🙂

Have a good one!