Combination Tracing in SOFiSTiK FEA

This time we will explore a recently published feature of version 2020 – The Combination Tracing Command.

SOFiSTiK comes with automated load combinations to allocate the maximum and minimum for every single element of the structures. The definition of load combinations is straightforward and can be done in the graphical user interface. Or, alternatively, in the text interface.

Learn more about the graphical definition in the Define Combination Task post.

It is a bit more effort to get define combinations in the text interface, but in my opinion, it is with it—especially when dealing with lots of combinations, as in bridge design.

Independent of the above input options, there is a way to check the considered single load cases in combinations for single elements. As it is limited to the immediate affecting loads of a combination, you miss out on any preliminary combinations and their included single load cases.
And that’s the point where the Combination Tracing Command comes in.

But why is it important to know all contributing load cases of the combination?

It is the engineer’s responsibility to run a plausibility check of the results analysed by the used software. Transparency and a detailed, rich output are only two essential things for this part of the job description.


SOFiSTiK is very reliable in combining loads and actions. However, if there is a mistake or oversight in the input, you have the wrong results for your design. So, verifying results is the first and essential reason.

The second reason is not that obvious when performing linear analysis’s only. But when running a non-linear analysis, it gets essential to know the governing load position for a specific element or result. By running the linear combination, the program generates precisely that information. And rather than investigating the contributing single load cases manual, having done that tedious work by the software is quite handy.

There is no good news, and there is good news.

The not good news is; The Combination Tracing Command is only available in the text interface.
The good news is; The input is simple and straightforward and requires no in-depth knowledge about the text input, Teddy or CADiNP.

Although the Combination Tracing is only available as a text command, you can still trace combination rules defined by the graphical tasks.

The load tracing functionality works for combinations done with the program module MAXiMA. If you are familiar with the text input of SOFiSTiK, there is no need to explain it any further.
However, if you are using the graphical interfaces, let me show you the graphical tasks which use the program module MAXiMA.

Graphical Tasks and MAXiMA

There are three main tasks inside SOFiSTiK Structural Desktop, which use the program module MAXiMA and allow tracing the input.

Those tasks are:

  • Define Combination Task
Define Combination Task

You use this task to define the combination rules. Learn more about the Define Combination Task.

  • Superpositioning Task
Superposition Task

To process the contributing load cases of the defined combination rules – and to generate results – the Superpositioning task is required.

  • CSM Bridge Design – Superpositioning Task
CSM Bridge Design - Superpositioning Task

This task represents the construction stage manager combinations. It performs the superposition of variable loads without permanent actions. Those actions are G, P and C. Furthermore, the final superposition of variable actions with permanent actions are performed.

The Combination Tracing Command – TRAC

Now, as we understand what we need in our project to run the Combination Tracing command successfully, let’s get into the actual definition.

There is nothing to worry about if you have not used the text input yet. The command is straightforward and only takes a few minutes to explain.

The first thing to do; insert a new “Text Editor” Task and place it below the last combination task in the “Project Navigation”. This can be one of the graphical tasks mentioned above or any text input task with a MAXIMA program module.

SOFiSTiK_ Insert New Task

Open the “Text Editor” task, open the user manual by hitting the F1 key, and enter the following lines. Don’t question the shown numbers of this snippet. We will look into any of the inputs further down. BTW, you won’t find the input line numbers in your text input. I added them to the graphic for explanation reasons only.

Combination Tracing Command Input

Input line 1: Here, you indicate the program module to be used. To use the Combination Tracing command, we need the program module MAXiMA.

Input line 2: Every program module needs a headline. You can replace “Load Case Tracing” with anything else. However, it will show up in the report later.

Input line 3: Just an empty line.

Input line 4: Now it gets interesting; let me introduce you to the Combination Tracing command TRAC and its few items. (Items are those texts in light blue). You can have several of those TRAC input lines within the MAXIMA program module to trace several element numbers or load cases in one go. And you might have guessed it; the input is for tracing a quad element result.

Input line 5: Again, just an empty line.

Input Line 6: Every input block of a program module has to be closed with END

And that’s all you need to trace a combination. Of course, you need to amend the load case number and element number. But other than that, you are good to go to test it in your project.

But there are a few more things worth mentioning. So keep reading a bit longer.

Now let’s look closer to the TRAC command and its input options. The below graphic shows the command table, which is available in the MAXiMA user manual. You remember you can open the user manual by hitting the F1 key while having the text editor task open.

TRAC Command User Manual

The Combination Tracing command comes with six items to specify. The four main Items are:

  1. LC … The result load case number (Combination result case)
  2. ETYP … The element type
  3. ELEM … The element number
  4. OPT … Tracing options

1 Load case number

To trace the combinations, it is essential to understand the result load cases of your project. Primarily because of the generated maximum and minimum combination result load cases.

Let me briefly explain the principle of automatic numbering. If you stick with the predefined numbering, then the result load cases will be generated by the following two components.

  • The offset number; which defines the thousands and hundreds of places (xx01).
  • The predefined load case number; which is defined by the ones and tens of places (10xx)

You can find more information about how the internal load case numbering works in the post MAXiMA – Load Case Numbering.

2 Element Type

The Combination Tracing Command requires the element type as a reference to narrow down the existing elements.

There are a couple of element types you can choose from. The most common ones are:

  • Nodes (NODE)
  • Beams (BEAM)
  • Plane elements of quads (QUAD)
  • Design Elements (DSLN)
  • Springs (SPRI)

Less common ones but also available are:

  • Nodal accelerations and nodal velocities (SPAC)
  • External Beam section (BSCT)
  • Trusses (TRUS)
  • Cables (CABL)
  • Kinematic constraints (CFM)
  • Nodes of plane elements (QNOD)
  • Bedding of plane elements (QBED)
  • Volume elements (BRIC)
  • Nodes of volume elements (BNOD)
  • Storey levels (SLVL)

3 Element Number

Besides the element type, it is essential to enter the element number. Otherwise, the program module MAXiMA wouldn’t have any clue where to look.

For BEAM elements, the X position must be specified too. To investigate the results of the beam element start point, enter 0[-]; for the endpoint, use 1[-].

For Design Elements or SIR Cuts, you can use the suffix [m] to specify the exact location.

In the event, a load case refers to cross-section stresses (SIG / TAU), a stress point must be entered at the input parameter SELE.

4 Tracing Options

By default, the most reasonable options are activated; there are two available:

  • I … Which allows you to trace intermediate superpositions. Basically, it means it will trace through the intermediate combinations up to the original single load case. If you don’t use this option, the Combination Tracing Command simply stops at the first intermediate combination.
  • F … This is a filter option which removes all load cases which don’t contribute anything to the combination result. If you don’t use that option, you will end up with a long list of load cases with a factor of 0.00.

And this is what is there to know about the input of the Combination Tracing command.

Generated Output in SOFiSTiK Report

As we have discussed the input, it is time to figure out the output of the Combination Tracing command.

Basically, you will receive a table in SOFiSTiK Report. It contains all load cases contributing to the entered combination. Furthermore, you will also get the accumulated factor of the single load case.

Combination Tracing Command Output

Things good to know

There are a few things you should know when using the Combination Tracing command.

Combination numbers must be unique. Same combinations numbers should not be assigned twice in the project, which is something that can quickly happen when using the text input. Ensure that there was no double assignment to get the Combination Tracing Command work correctly.

Tracing must be performed in an individual MAXiMA program module, as it cannot co-exist with the standard superposition functionality. So, always add a new task, as explained further up.

What cannot be traced

The Combination Tracing Command has been released a couple of months ago and doesn’t cover every element and aspect yet.

Currently, it’s not possible to trace superpositions associated with

  • Result sets,
  • Boundary elements,
  • Tendon stresses for quad elements.

Also, superpositions of user-defined combinations (COMB EXTR EXPL) are not included.

Furthermore, it is impossible to extract the single traffic load position of traffic envelopes generated with the Traffic Loader task (ELLA). There is another way to get the governing traffic load model position out of the influence line calculation.

The Combination Tracing Command in Action

If you like what you have read so far, what the video and see the Combination Tracing command in action.

Download Combination Tracing command example (Version 2020-SP6)

Wrap up

I like the Combination Tracing command a lot. As it makes checking combination results so much faster. But also, you can create a new load case based on the contributing single load cases of a combination, which can be used for non-linear analysis. Although the command comes as text input only, it is not difficult to implement for any project. So give it a try and let me know if you have any further questions.