Boundary conditions of a deformable strip contact


Hi guys, so as you can see, I’m trying to simulate a deformable strip contact. In this, I have kept the lower strip as rigid, and fixed, as well as I have applied a tie contact between the two strips. Additionally I am applying a concentrated force on the upper strip so that it deforms and basically sticks to the lower strip as long as the strip is in contact, however I am not been able simulate it without getting errors like

*ERROR in cascade: the DOF corresponding to
node 2924 in direction 1 is detected on the
dependent side of a MPC and a SPC

in usermpc: mpc of type
is unknown

Edit 1: I have also kept the boundary of the upper strip at the left corner ( the vertical one as fixed) and given a displacement - rotation constraint on the upper strip such that it can move in x y plane, but not rotate

Hence, I needed your help in understanding the problem behind this, what am I missing?
Strip_Contact.zip (6.5 MB)

You have overconstraint in model (several nodes belong to the fix, the tie and to contact. Try the boundary condition and contact to split.

Does that mean no rigid body? since I dont want the lower strip to be deformed that much at all

  1. You can keep the rigid body constraint but boundary conditions should be applied to its reference node, not to the nodes of the rigid part.
  2. Don’t use concentrated force this way: Don't apply concentrated force load to surfaces
  3. You don’t have contact in this model, only surface interaction (that could be used for contact pair definition) and tie constraint.
  4. If you want to use both tie and contact, make a partition on that edge so one segment will have tie constraint and the other will have contact (to avoid overconstraint).
  5. You can’t model sticky contact in CalculiX, there’s no cohesive behavior. So once the contact is established, it will be able to separate. Just saying.
2 Likes

Wow thanks a lot this helps so much!

So, I followed your advice, ditched contact, applied the correct constraints, but somehow a problem we talked about earlier rears its head:


Any way, I can make it that the upper strip instead of going through the lower strip kind of ‘squishes’ on top of the lower strip?

I used two different kinds of surface interactions in two cases:

Case 1: Hard

Case 2: I set type to linear and
K= 50 times of adjacent material (according to calculix handbook)
Stick slope of friction = 1000N/mm^3

However I got the same result both times. I watched the spur gear and snap fit tutorial for reference.

Can you share the modified file ?

1 Like

Here you go. This file contains the second case surface contact details
Strip_Contact.pmx (2.3 MB)

Now it looks better but there’s still no contact so the beams won’t see each other and there will be this penetration. As I said, surface interaction itself is not enough. You have to create a contact pair between those 2 surfaces and assign that surface interaction to it.

1 Like

Done, will work on it, thanks a lot, I know I have been a bit troublesome these past few days but I appreciate your patience and guidance, means a lot

only looking from the sketch of problem, maybe it can be tried with both penalty and tied contact type not a contraint.

1 Like

Thank you, it worked wonderfully. I had a small question: Let’s say I gave an amplitude to the entire system, such that the switch goes up and down. Whenever I try to do so by using Direct stepping, the system does move, but the simulation fails the moment it comes into contact ( bear in mind that the system does have contacts enabled). However, when I use automatic stepping, the system not only disregards the movements, but also the contacts. Am I missing something? I couldn’t find anything in the documentation that could help me with this.



This is in automatic stepping, → Error: too many cutbacks

This is in direct stepping → Error : Divergence
I have changed nothing but the stepping method here

Direct incrementation is not recommended in most cases, unless used with a very low increment size to account for potential convergence issues usually caused by contact. Automatic incrementation should be sufficient but to properly account for the amplitude, you may have to use low initial and maximum increment size (at least on the level of the amplitude’s resolution, possibly lower).

1 Like

I see, will work on this as well, thank you! Also anything that you can tell me about the contacts being disregarded by calculix? I went through the discourse history and tried some things that I found were relatable but to no avail, just a mesh thing then ? maybe because the sim is dynamic instead of just static? Idk because the contacts seemed to work fine in static idk why they won’t in dynamic