How do I implement combin40 for springs in WB?


I've been trying to change the spring element used by workbench. WB uses the element combin39 by default and I'd like to change that to combin40. All I know is, that I can do that by inserting a command right below the definition of the spring. But what does this command look like?

This is, what I tried so far:

!   Commands inserted into this file will be executed just after the spring definition.
!   The material, type, and real number for this spring is equal to the parameter "_sid".
!   Active UNIT system in Workbench when this object was created:  Metric (mm, kg, N, s, mV, mA)
!   NOTE:  Any data that requires units (such as mass) is assumed to be in the consistent solver unit system.
!                See Solving Units in the help system for more information.


Ansys then uses the element combin40, but the solver output says, that the nodes I and J of that element are not coincident. I tried scoping the spring to a face, to an edge and even to a single node, but the warning message didn't change. Do you have an idea what the problem might be?


  • peteroznewmanpeteroznewman Member
    edited March 2018

    Hello .HaN.NaH.

    I built a Static Structural model in Workbench 18.2 with a spring and WB used a combin14 for the spring element. The two spring nodes are not coincident. I used K=7700 N/mm for the stiffness value. A translational joint supports a rigid body that the spring is attached to. A joint load displaces the joint by -1 mm.  A joint probe shows a value of -7700 N.

    I duplicated that system and put your code above into a command snippet with one edit; I made the gap 5 instead of 15. This is a two step analysis, step 1 moves to 5 mm and step 2 moves 1 mm more to 6 mm of joint displacement. The joint probe shows zero force at step 1 and -7700 N at step 2 so it seems the combin40 is working with the gap setting.


  • .HaN.NaH..HaN.NaH. Member
    edited March 2018

    Thanks for your reply. I have tried a similiar approach. So I built a simple model with two bodies and a connecting spring which is parallel to the joint between the two elements. This is what it's gonna be like in the modell I'm using for my analysis later. One body is supported by a fixed support and for the other body I used a translational joint support. The joint load displaces the body, so that the two bodies shift along each other. In the picture you can see the boundary conditions and the correct displacement for better understanding. I first used COMBIN 39 and the model worked perfectly. I than added the command as before with GAP=0 (I actually wanted to use GAP=0, that was a mistake on my part). The model still computes and the deformation looks fine, but the spring doesn't receive any load. I'm a little clueless...

  • peteroznewmanpeteroznewman Member
    edited March 2018

    In my model, I know the spring sees load because I put a Joint Probe on the Joint Load.

    Please use File, Archive... in Workbench to save a .wbpz file of your simple model and attach it to a reply so I can see your model in more detail.

  • peteroznewmanpeteroznewman Member
    edited April 2018

    I have been examining this model in detail and still have an issue with it. I hope to post a resolution in another couple of days.

  • peteroznewmanpeteroznewman Member
    edited April 2018

    Hello .HaN.NaH.

    I got interested in this COMBIN40 element because of the GAP capability. I built a really simple model. A short beam, fixed on the right, and a long beam with a remote displacement that moved toward the first beam a distance of 3.3 mm.

    The distance between the ends of the beams was 5 mm.  I put a COMBIN40 spring between the beam ends with a GAP=3 statement, and set FSLIDE=0 so it should act just like a gap. I was expecting to see zero force until 3 mm then a big increase in force for the next 0.3 mm, but I saw zero force.

    Here is what the online help said, 

    The element is defined such that a positive displacement of node J relative to node I tends to open the gap. If, for a given set of conditions, nodes I and J are interchanged, the gap element acts as a hook element, i.e., the gap closes as the nodes separate.

    I reversed the Reference point and Mobile point then the gap worked the way I expected. This is not obvious, but the choice for node I (Ref Pt) and node J (Mobile Pt) are important in defining the orientation.

    What this means is that when the nodes are reversed, the gap acts like a hook, and will prevent parts moving away from each other, but will offer zero force as parts move toward each other.

    I need to see what happens when I flip the spring in your model.

    Don't forget that command snippets have no units, so when I changed from mm to m, the displacement BC changed from 3 to 0.003, but the GAP statement remained at 3 so there was now a 3 m gap while the part moved 3 mm, and I saw zero force again!

    Attached is an ANSYS 19.0 archive with the spring in twice, but reversed. The suppressed spring is not working the way I want, while the other spring is working the way I want.

  • .HaN.NaH..HaN.NaH. Member
    edited April 2018

    Hello Peter,

    thanks for your effort to help me with this issue! Unfortunately I'm working with Workbench 18.2 so that I can't open the attached file.

    I had a quick look at my model and switched the ref pt and the mobil pt, but it didn't solve the problem...I'll have a closer look later

  • peteroznewmanpeteroznewman Member
    edited April 2018

    Hello .HaN.NaH.

    I have some comments on your model, but I got totally focused on the non-zero GAP capability that didn't seem to be working, so I requested some help and wanted to make sure that it worked the same in 19.0 as in 18.2.

    I also had some very strange behavior when I suppressed the Code object and used your Tabular non-linear spring. My simple model used your displacements, which had the last step ending at 0 displacement, and the solver could not converge there!  This was also very strange and is still unresolved. 

    My next post will focus on a GAP=0 use of the COMBIN40 element and I will try to show an 18.2 example that is like your model, and will detail some of the problems I see in your model.

  • peteroznewmanpeteroznewman Member
    edited April 2018

    Hello Hannah, is that your name? While I enjoy the style of your username, it's just too hard to type!

    I had a few comments on your original model that I put in the attached PowerPoint file inside the zip file.

    I reproduced your issue with the GAP=0 combin40 element. It just doesn't seem to work. The model is attached in an 18.2 archive. You can try out a nonzero gap if you want.

    You wanted to use this element with GAP=0 to create a force profile that included the Sliding Force feature of the model.

    That can be reproduced with a Tabular data nonlinear spring, so you don't need that element for the parameters you typed.

  • .HaN.NaH..HaN.NaH. Member
    edited April 2018

    Hello peteroznewman,

    you're right, it's Hannah. I'm glad I don't have to type the username as my internet explorer saved it

    Thanks a lot for your comments. They helped me for a better understanding. Some of them only relate to this test model that I used for examining the spring's behaviour. I guess I exaggerated the constraints because my model for the final investigation is supported only by springs and frictionless contact, so that I had many convergation issues.

    I already studied the model with a nonlinear elastic COMBIN39 element as far as possible. But in the end I would have liked to examine what happens after releasing the model. That is where I need the sliding effect of COMBIN40 because the real connection deforms plastic. The non-conservative COMBIN39 spring element is acceptable to a certain extend as it dissipates energy, but the spring force returns to zero when the spring's strain is zero which is not realistic. I'll probably have to give up on this issue for my thesis which is alright with my supervisor.

  • peteroznewmanpeteroznewman Member
    edited July 2018

    Hello Hannah,

    Remember this from the COMBIN40 element?

    I had some help with the COMBIN40 element Force output when the Gap was set to zero. It required some APDL code in the output.

    Note that the Command under the spring needs a few new lines to use this output.

    An ANSYS 18.2 archive with this code is attached.

  • htozamhtozam Member
    edited June 7
    I used this commands to make a connection using COMBIN40 element, they were very useful, however, I believe the order of real Constants should be as follow: r,_sid,k1,c,m,gap,fslide,k2 as per help docs. Just an idea if someone wanted to use these commands in the future like I used. Please correct me if I am wrong.
Sign In or Register to comment.