A Survey on Non-Linear Analysis in NextFEM Designer

Part 1 – Non-linear features

NextFEM Designer includes all the most common non-linear (NL) analysis types. All the NL methods can be used freely, without the need for a license.

In this guide, we will focus on the built-in and OpenSees solvers. In our development vision, both software permit the same kind of analysis. In this way, the professional structural designer can perform a comparison on results obtained with the same model by simply changing solver under program options.

Let’s start with static non-linear analysis. The source of non-linearities can be:

-          Mechanical if we use a NL material or a NL element, i.e. a spring;

-          Geometrical, if we want second-order or P-Delta effects in our model.

We can of course use both in a single run.

The NL materials implemented in Designer are limited to Plastic VonMises and Plastic DruckerPrager, because the program is mainly oriented to treat civil models, not mechanical ones.
The NL behaviour of material can be set in Materials form, in the Material behaviour property.

The main mechanical non-linearity source in modelling of buildings are plastic hinges and non-linear springs.

NextFEM Designer implements two types of hinges for beam elements:

-          Simple, acting on one degree of freedom (e.g. Mz)

-          With axial force interaction, that is able to work with a phenomenological domain in N-My-Mz space and also in N-Vy-Vz. For them, NonLinear module must be active.

All hinges are rigid-plastic, since the elastic behaviour is demanded to the associated beam element. A single plastic branch is used, and also non-linear dynamic analyses can be made with the hysteresis cycle showed in the following picture.


Force-displacement (or moment-rotation) hysteresis law for plastic hinges (left) and mask for select DoFs interaction in hinge of type “Auto” (right)

For hinges of type “Auto”, having or not the interaction with axial force N, all the parameters of the backbone and hysteresis cycle are automatically defined from a set of checking, i.e. EC3 Steel or EC2 Concrete. In this way, the user doesn’t have to worry about slope of elastic branch or ductility limits.

In the case of axial force interaction, the hinge automatically adapts the force at yielding limit (Fy) on the base of domain obtained for the element at the initial or end section. The views in the following picture are accessible from the command Assign / Hinges, pressing the button “Show domain” when the option “Show assigned (hinges)” is selected.

Typical 3D interaction domains for N-My-Mz (left) and N-Vy-Vz (right) for a RC section

Both moment and shear domains are automatically computed on the base of beam material (steel or concrete) and, eventually, of reinforcements in case of RC member. Interaction is particularly important for columns, in which different levels of axial force N could lead to significant variations of elastic force limits for shear and flexural responses during a NL analysis.

While hinges are the most easy way to add mechanical non-linear behaviour to framed structures, two node springs are used for special purposes, such as modelling of:

-          Gap and hook behaviour (i.e. a special joint)

-          Bilinear and trilinear behaviour (bilinear is available also in the non-symmetric version)

-          Masonry structures in rocking and shear-sliding/shear-diagonal cracking behaviour

-          Pivot-like behaviour

-          Slip-type behaviour (i.e. for shear and axial DoFs of hold-downs and angle-brackets in CLT structures)

-          Dashpot for non-linear dynamic analyses (below, the linear response of the element)


For all the springs, NonLinear module must be active. If not, springs will act linearly.
In addition to such elements, there are special-purpose composite springs, acting in more than one DoF:

-          S-shaped spring element for masonry, in which the selected rotational DoF has hysteretic behaviour and the other rotation and axial DoF are linear. Axial DoF can be set as compression-only.
In this spring, the strength Fy is calculated automatically on the base of actual axial force. The strength evaluation is conducted on the base of the following relationship:

where b is the panel width, t the thickness, h the height, fcm the masonry compressive strength and  the stress block coefficient taken as =0.85.

-          Shear spring element for masonry, in which the selected shear/translational DoF has hysteretic behaviour and the other shear DoF is linear. Axial DoF can be set as linear or as compression-only.
In this spring, the strength Fy is calculated automatically on the base of actual axial force. The strength evaluation is conducted on the base of the following relationships:

where fvm0 is the shear strength under zero compressive stress,
m is a frictional coefficient taken as m =0.4 and sv the mean compressive stress (e.g. sv=N/bt);  is a coefficient related to the panel shape factor and ftm is the masonry diagonal tensile strength.
This and the previous spring adapt the strength by keeping constant the current displacement, as in the following figure.

-          Composite axial-shear DoFs slip-type spring, suitable for representing the coupled non-linear response of CLT connections such as angle-brackets and hold-downs.

For such springs, NonLinear module must be active. If not, springs will act linearly.

All these elements are available for both OOFEM and OpenSees. There are differences in handling of non-linear analyses between the two solvers – users can obtain both results by simply changing the used solver under Tools/Options.

The main difference for the model is in imposed displacements: the built-in solver requires that the DoF in which the imposed displacement is applied has to be restrained, while OpenSees can run without this restraint (sp command).

In the next article, all the analysis types will be shown.


Part 2 – Non-linear analysis

Each time we’re facing a non-linearity in a model (either mechanical or geometric) we need a non-linear analysis. Mainly, they can be categorized in static and dynamic analyses:

-          In static analysis, the system of equations to be solved is  , where K is the stiffness matrix, u the vector collecting the nodal displacements and rotations and F the applied force vector. In this kind of analysis, the time variable is used only to order results (t=0.1 precedes t=0.15, etc.), hence velocities and accelerations are always zero.

-          In dynamic analysis, the system of equation to be solved is , which involves the mass matrix , the stiffness matrix and the damping matrix . is the displacement vector we want to find as solution of the system,  is the dragging vector, which specifies for which spatial directions the external ground acceleration  is applied.

It’s time to introduce the concept of second-order effects. The simplest second-order effect to be considered on beam is the so-called P-Delta effect. Let’s take a simple cantilever column with a lateral and a compression load. Once the lateral load is applied, the vertical loading on top cause an additional second-order moment if the equilibrium is computed on deformed shape.


A geometric stiffness matrix Kg is computed every time the user asks for second-order effects – such matrix is a function of the applied loading condition. Hence, a PDelta analysis search iteratively the equilibrium considering both K and Kg. The same occurs if user selects “2nd order” option in a non-linear analysis, with the main difference that the second-order effects in this case are fully considered for all the supported elements in the model.

The most common NL analyses are static and dynamic, with or without second-order effects. The most used static NL analysis is the so-called pushover, in which a building model is pushed in a chosen direction by a set of forces for each storey. The shape of the force vectors is called distribution, typically plotted over height. We can distinguish two main distributions, that represent the upper and lower limit of the pushover curves:

-          Modal or inverse-triangular distribution, in which lateral forces increase with building height. This distribution typically minimize the total base shear and maximize ductility of the structure;

-          Uniform distribution, proportional to masses if all storey are equally loaded. This distribution typically maximize the total base shear and minimize ductility of the structure.


RC building as case study (left) and storey forces distributions (right)

To obtain the storey forces for pushover, there are special built-in functions in NextFEM Designer. In Edit / Functions… window, you can find these commands to generate new series:

-          EC8 Seismic Forces, that generates an inverse-triangular distribution for the building. You have to refer to a previously added seismic spectrum function, and model must have rigid diaphragms. Lateral forces are automatically assigned to the selected loadcases;

-          EC8 Masses as Lateral Forces, which generated a uniform-like lateral forces distribution. Again, rigid diaphragms are required in order to proceed.

For pushover analyses, it is a good practice to proceed in displacement control by activating the proper option in Assign / Analysis settings: this means that our analysis will be guided by the displacement of a chosen node, usually taken on the barycentre of the roof. Such setting permits to the NL analysis to go through the strength losses that can occur during pushover, for example when a hinge reaches failure. We call this “control node”.

In addition, it is of fundamental importance to set the following properties of non-linear static analysis:

-          Adequate number of steps: the load will be applied incrementally, and each increment is equal to final load / number of steps;

-          The start time is automatically adapted if Run after is not empty. A pushover analysis must be conducted after the vertical loads are applied;

-          Displacement control option is enabled. The barycentric node of roof is automatically suggested. Users have to specify the push-over direction;

-          Time increment has to be set as a small amount. Total load and final load can be different, since the analysis terminated when all required steps have been performed, hence final load = steps * time increment. In static analysis, time is assumed as proportional with load. In case of a sequence of analysis, the proportionality starts at the end of preceding analysis (vertical loading goes from t=0 to t=1, subsequent pushover starts from t=1).

Some post processing tools are available in Extract data window, including the global pushover curve check conducted with the N2 method. This feature is freely accessible without any license, as well as fiber models.

Pushover curves of a fiber model of RC frame with uniform and modal distributions

Dynamic non-linear analysis requires masses in the model. In NextFEM Designer, masses are assigned automatically from load cases (load to mass, including self-weight) or can be set manually for each node. In any case, only nodal masses are handled.

Dynamic analysis has been implemented to work with applied ground motions, applied uniformly to all the restrained nodes (typically the base nodes). A ground motion is represented by an acceleration time-history: in the default solver, this is automatically converted to a displacement time history and applied to the bounded nodes; in OpenSees, an acceleration timeSeries is applied. All model functions can be set in Assign / Functions. If loaded from file, a 2 column time vs. acceleration format is required. Use dot as decimal separator.

Units in gal (cm/s^2)

The non-linear dynamic analysis can be set as follows. It is important to select:

-          The proper Time-History (TH) in the TH load or spectrum box and its factors: Factor is a global factor, while parameters X,Y,Z,RX,RY,RZ determine the direction of ground motion;

-          When TH is selected, the number of steps is automatically updated with total duration. Increase the number of steps and set a proper time increment, as to maintain the same total time;

-          Using built-in solver with a sequence of analyses, a dynamic analysis must be preceded by an analysis of the same type. Typically, user can set a dynamic analysis with a large damping. OpenSees solver accepts a static analysis preceding the dynamic, as in the following picture;

-          The proper damping, which can be set as per the Rayleigh proportional damping model. The damping matrix is set through a mass proportional term  and a stiffness proportional :

In which  is the critical damping ratio and T is the period of interest, usually the fundamental one if its mass participation is enough to be representative.


Please note that results from the built-in solver can be stored even from an unfinished non-linear analysis (Tools / Options / Write temporary results must be unchecked), while from OpenSees solver this would not happen.