# Non-linear support

Hi all,

I am looking into modelling compression only supports on a bridge project. I went through the guidance documents but I cannot get my head around the non-linear analysis for the springs.
- How do I create an envelope of loads calculated with a non-linear support? It seems like all loads should belong to the same type - which would create a nightmare when building combinations.
- How do I run a traffic on non-linear supports?
- ASE tells me that I can only run one load at a time. it there a way to create a loop so that I do not have to call out each load case individually.

Note that I mainly use Teddy as an input and I feel like there has to be a more efficient way of modelling a bearing that what I am doing now.

Thank you!
Ines

Either you model everything linear and then the compression only is verified by checking for tension in the load combinations.

Or you have to manually combine the loads to a combined load and run a non linear analysis.

There is no superposition with non linear analysis by definition.
If there’s tension due to traffic, you don’t necessarily get lift in a bearing due to compression from self weight being greater.
So each load “combination” has to be combined manually for a non linear analysis, since you’re checking for lift due to a sum of actions.

Here is a way that i have been shown to make a loop for ASE to run nonlinear LC.

``````
sto#ULS1_start 901 ! Number for first ULS dom. Temp LC
Let#LC_NO #ULS1_start

!*! ULS 6.10a STR-1
LC #LC_NO TYPE 'None' TITL 'ULS 6.10a - Dom. egenvægt' ! Type is None as MAXIMA needs loadcases to superposition
sto#LC_comb(#LC_no-#ULS1_start) #LC_no          ! Saves each LC numb. in LC_comb array to loop through in the ASE program
Let#LC_NO #LC_NO+1                              ! go to next LC

sto#no_ULS1 #LC_no-#ULS1_start                             ! Saves the total number of ULS dom. Temp LCs
``````

And in the ASE module:

``````+prog ASE urs:36.1
CTRL SOLV 4 !solver option
CTRL WARN 129
CTRL WARN 125
CTRL WARN 120

let#LC #LC_Comb(:)

#DEFINE Run
LC #LC(#i)
#ENDDEF

loop#i LC
#include Run
END
endloop

end
``````