A macroelement represents, in a single finite element, a group of elements and properties to be used in its place in the model. Let’s introduce the NextFEM Designer brand-new support for macroelements.


As level of maturity of our software grows, new challenging features are added. Macroelements support lets the user draw a single Line, Line3 or Quad element, that will be replaced with a sub-model.

For instance, let’s consider a RC wall element. You cannot represent a RC wall with a single Quad element (i.e. a single shell), since it will be too much rigid and very low accurate in its response. Instead, you can automatically substitute the Quad element with a custom assembly, for example a single beam with rigid arms on both ends.

The range of possibilities is very large:

-          Line -> assembly of line and springs

-          Line -> the same assembly of line and springs, but with central “control node”

-          Quad -> RC wall with rigid arms

-          Quad -> wall made with diagonal studs

-          etc.

This is a simple but powerful feature that NextFEM Designer offers in the free version. In the following we’ll see how to build and use macroelements in our models.

Build up a macroelement

User can define a macroelement simply saving it into the subfolder “macro” located in the NextFEM Designer installation directory (typically, C:\Program Files\NextFEM\NextFEM Designer 64bit\).

Each macroelement must be saved in .XML format, and should be defined with some foresights:

-          The global axes in the macroelement will become the local axes once it will be translated into a model. For this reason, typically a macroelement is drawn in XY plane;

-          The first N nodes represent the nodes of the element to substitute (e.g. the Quad). Moreover, use always counter clockwise connectivity – see nodes 1 to 4 in the picture above. It is advisable that the first node “1” is on 0,0,0.

-          There’s no need to assign restraints – typically, a macroelement model cannot be solved by itself since restraints are given only in the parent model;

-          The elements with no material assigned will be associated to the material of the parent element to replace;

-          The elements with no section assigned will be associated to the section of the parent element to replace;

-          Don’t leave unconnected or free nodes, they’ll cause labilities in the final model;

-          Don’t assign masses – they’ll be taken from the parent element;

-          Sections will be handled as per the rules described in the following table.


Macroelement section - planar

Macroelement section - beam

Original section - planar

Thickness is updated with size of the original one.

The beam section is built from the wall width and thickness. Rotation angle may apply.

Original section - beam


Section is updated with dimensions of the original one, if they are of the same type (rectangular, circular, etc.)

-          All the other macroelement characteristics are merged in the parent model;

-          For output, renumber the elements in order to concatenate diagrams (if applicable).

As said, the parent model will be modified, expanding all the macroelements with the following operations:

1.      Macroelement units are converted to the units of the original model;

2.      A scaling is applied to the macroelement, as to fit the dimensions of the parent element in the original model;

3.      Rotation is applied to transform the global axes of the macroelement to local axes of the parent element;

4.      A final translation to the position of the parent element is applied.

In preparing the macroelement, it is advised to use preferably 1st-order elements.

By now, only regular-shaped parent elements are supported (i.e. the parent Quad should be a rectangle – trapezoidal of irregular shapes causes the element not being expanded).


Using the macroelement

Let’s draw a Quad element, taking care of its local axes. To rotate them, use the command Rotate local axes with the option Rotate nodal connectivity.


To work, macroelements require to be set under Options / Misc / Macroelements. Press Set active macroelements and choose which macro-model is associated to each type. By default, there’s one slot for Line and Line3, and two slots for Quad.



Now, assign the macroelement to the Quad by using the Element properties window. Choose the type of macroelement (we use the Quad1 type as it is assigned in options), select the Quad and press Apply.

Now the elements is ready to be treated as macroelement during analyses, and results like beam diagrams will be shown for each macroelement. Results support is limited to diagrams – for any other characteristic result of the element, use Extract data window.

Macroelement expansion is carried-out “on the fly”, and hence it requires that results are rearranged. In the picture above, a Quad element can show force diagrams as it would be a beam, since the macroelement response has been re-assigned to Quad in the parent model.

This feature is supported both in built-in solver and OpenSees.