Showing results for 
Search instead for 
Do you mean 
Solved! Go to solution

Air Sping simulation

NX motion simulation already have solid sping simulation type, but air sping is not yet. Relation between Force with displacement are difference.
- Solid sping: F = -k.x 

                           with F: Force

                                    x: Displacement



- Air sping: F = -p1.s = -p0.(H/(H-x)).s

                    with F: Force

                             p1: Pressure

                             p0: Initial pressure



So, What should I do to simulate Air Spring motion?

Accepted by topic author Killer_1991
‎01-03-2017 10:15 PM

Re: Air Sping simulation

[ Edited ]

As you have mentioned correctly, the most easy and common to define a spring, is to simply choose 2 attachment points (or slider joint) and define a constant spring stiffness coefficient. This is done by putting the stiffness type to 'expression'. In this way, NX will calculate the elongation of the spring and multiply it with the stiffness coefficient to get the spring force.


In case you would like to model a spring force, coming from an air spring with the provided formula, than there are 2 possible solutions to do this:


  1. Make use of a variable stiffness coefficient (spline curve)

In this case, you will need to define the non-linear air spring formulation modelled as a spline curve. This requires that you have a decent amount of (F,x) points readily available in i.e. excel. In that way, you can open up a spring force element, define the attachment points and set the type to spline. Then create a new ‘Table in AFU’ or select your predefined 'spring force vs. displacement curve'.


03-01-2017 07-20-13.jpg


    2.  Make use of a predefined (math) expression, which is then applied back onto the system by means of a scalar force element


If you don't have the spline curve points (F,x) readily available, we will need to calculate the air spring force ourselfs. In this second case, you will therefore first need to define a new expression. Open up the function manager and create a new math type Motion/Time function, where you define your spring force function. Here, the only unknown (namely the compression distance x), will need to be defined by means of the function DM(MARKER1, MARKER2) where the 2 markers are defined on the attachment points of the scalar force element. In that way, it should be fairly easy to calculate the force F = -p1.s = -p0.(H/(H-x)).s, where p0, H and s are constant coefficients and the variable x is measured with markers.

If the force function is created, we can now define the scalar force element. After defining the attachment points (where also the markers are located), we only need to set the magnitude type to ‘Function’ and select the predefined function. This should just do the job. Be aware though on what sign your formulation has, so the force is modelled to push the attachment points away when in compression and vice versa.


03-01-2017 08-39-14.jpg

Re: Air Sping simulation

[ Edited ]

Last weeken, I have solved my problem like your first solution. I created spline through Function Manager. Then, I listed coordinate on notepad and edit by excel. Finally, I imported entire coordinate in excel file to define spline. That spline look so smoothly Smiley Happy)

Re: Air Sping simulation

[ Edited ]

I have already understood the way that you resolve in your second solution. But, I meet some trouble when perform on software interface. I can't define scalar force over 2 markers. Can you show me more detail? Thanks bro!

Re: Air Sping simulation

This should be a step-by-step procedure:

  • First create 2 markers. There are multiple possibilities, but here is what I would do: the first marker must be attached to the fixed cylinder and the second one should be attached to the moving piston. Only the origin of the markers is important, the orientation doesn’t really matter here as we are going to measure the distance between the origins of the 2 markers, attached to the cylinder and the piston. Remark: a marker must always be connected to a link

Marker Positions.jpg

  • Secondly, open up the XY function manager and set the type to Math/Motion/Time and create a new function. In the formula box, you should insert (or manually type) the Motion-variable function “DM(,)”. Now, manually type in the name of the 2 markers which you just created. If they still have the default names, this should be: DM(A001,A002). Then complete the rest of your equation so the created distance formulation blends in correctly. In my case, DM(A001,A002) substitutes H-x:

                                   -p0 * ( H / (DM(A001,A002))) * S


  • Finally, create a new scalar force component. A good choice would be to create the attachment points for the action and base link at exactly the same locations as the markers. For both the action and base link you should be able to select the marker. In this way, the origin of the scalar force will be located at the origin of the marker. Lastly, for the magnitude type select function and select the function you just created (see screenshot in previous post).


I hope this helps to try out the second solution.

Re: Air Sping simulation

Is "DM" sign of "Displacement Magnitude" and ouput unit is milimeter? Sorry, cause I don't understand all of Function Definition in software. Have you documents that explain sign of Functions.

Re: Air Sping simulation

[ Edited ]



It will measure the distance in the interface units which are defined in your settings. You can check these by going to Menu/Preferences/Motion/ListUnits.


As you have guested correctly, DM stands for 'Magnitude of Displacement'.


I have added the function expressions definition for NX10 - Recurdyn solver. The syntax is for most solvers the same I believe.

Re: Air Sping simulation

Everything what you share is very informative. Big thanks for you.