SimScale CAE Forum

Pin - the problem with contacts

The problem with the model - contacts
This is such a simple model that count in various programs to check and learn contacts.
I have problems that I can not count - or the problem is in contact or boundary conditions.
The force acts on the middle parts in the direction of the axis Z - this element can move can only Z-direction
The lower parts are fixed over the bottom surface.
The problem is that the pin can rotate and move - it can be a problem.
Please help - I have no idea.

Hi @gkondracki,
I think there are two things you can do to get your model to work correctly:

  1. use the symmetry of your model and create a new CAD of only half the model, even better only a quarter. This will remove the need of additional constraints for the pin to not slide out or rotate.
  2. if this is not enough, use an elastic support constraint to stabilize the part that is only hold in place by a contact and a force. Make sure that the spring stiffness is small enough to not influence the results. I used a similar approach here in a sheet metal stamping project.


Hi Richard,
You are right with the symmetry, I know that, and so I will do. I know that I get better results.
The problem with this that I have to test without the use of symmetry. In larger models may have more such calls and I have to figure out a way how good it is modeled. Otherwise I will not be a performance.
Thanks for the help.

I did a model of symmetry. Next is the problem. Now can not count. Gets different messages and the last I do not know what error.

The first error
The solution matrix is not factorable. This might be caused by an unconstrained rigid body motion or by overconstrained degrees of freedom due to multiple linear relations at at least one node.
I changed the boundary conditions according to the instructions.
The second error
Memory allocation error. In order to prevent this behavior please choose a bigger machine with less computing cores.

Request for help

Hi Greg (@gkondracki),

The memory allocation error means that the simulation requires more memory than is available. You can specify a larger machine with more memory. The link below lists how much memory is available with each machine size.

In your case you have used a 2-core machine which has 7.5 Gb of RAM. You can get more memory by switching to a machine with more cores.

I took a quick look at your simulation set up. In general it all looks good. I have just one pointer for you. When using physical contacts the slave surface cannot share any nodes with a symmetry constraint. To get around this you can use your CAD tool to split any faces with shared edges to created a small gap between the two boundary conditions. The split face I created is shown in red in the image below.

Here is a link to a copy of your project. It has a working simulation. It can be seen that the peak stress is almost four times the applied load (50 MPa)

Here are some screen shots of the results.

Regards, Ben


Nice work @BenLewis!

Regarding the symmetry boundary condition, I would like to add two comments:

  • generally I would try to replace a symmetry constraint with an equivalent fixed value constraint whenever possible. The reason is that a symmetry constraint always creates a linear relation between the DOFs of the nodes involved:
    \vec n \cdot \vec u = 0, where \vec n is the element normal and \vec u the displacement vector. If now any DOF that is not exactly (and in numerical analysis usually nothing is exact) normal to the symmetry plane is constrained by another boundary condition or contact, the DOF will be over-constrained. By using a fixed value constraint and defining the mentioned DOF as unconstrained you won’t have a problem. Obviously this technique will not work if the symmetry plane is not orthogonal to any of the coordinate axes.

  • In this particular analysis the symmetry happens not to be a problem. The problems when having symmetry and a slave surface of a physical contact sharing nodes are mostly observed when friction is involved and a Lagrangian contact formulation is used or in the above mentioned case where the mesh is too coarse.


1 Like

Hi Richard (@rszoeke),

Thank you for clarifying the use of the symmetry boundary condition. I have added two new runs to my example project

Run 2: Symmetry constraints are replaced with fixed constraints (recommended method for applying symmetry).
Run 3: Split faces removed (split faces are not required).

It turns out that my previous advice about not sharing edges between slave contacts and symmetry faces was incorrect.
This CAN in fact be done (see run 3). Here is a screen shot of the results (LHS w/ split face, RHS w/o split face).

Regards, Ben


Hi Ben, Richard,
Thank you very much for your help, comments and explanations.
Today, I am very busy. Over the weekend, I’ll do the tests and will share the results.
I also have the results of such tests with other systems.
I’m sorry that I was doing the problems but I always new for me to program tests the typical sets, which were later used in larger models.
Each system has a different philosophy and I need to learn and then apply.
For large models, I can not think how well I’ve done model - the model must be good and then I think about the results.


a brief report on the work.
I did a simple and small model, only 181 nodes.
Then I tested several solutions.

  • Model - I used Symmetry plane - model does not work. Error - The solution matrix is not factorable. This might be caused by an unconstrained rigid body motion or by overconstrained degrees of freedom due to multiple linear relations at at least one node.

  • Ben’s model - model works but I have some comments to results.

The visible penetration at contacts both similar.
As was done model:
Symmetry was performed using the fixed value - works well.
Elastic support pin .
Fixed Z=0, X=0 - Here, in my opinion should also be Y=0.

  • Then, tests were performed without Elastic suppor and added to the fixed Y = 0.
    Model works but you can see penetration elements. In one case, shown is a large penetration of the second contact gap is - penetration negative.

  • We made some calculations by changing the penetration rate - high value of 100x the default value - the model does not work. 10x model works but strange results.

  • In the new model uses Lagrangien contact. Model works, the results of my haunches most correspond to reality. Maybe a little pin bends but it is the effect of high rigidity of the pin or the impact of a mirror support.

In summary, small models tested various options and you can choose the solution that best suits us.

I proceeded to make a model with a larger number of nodes. It made for models with different numbers of nodes.
I used Lagrangien contact and have carried out various calculations - eg. Ben’s model, etc. - model still does not work.

The solution matrix is not factorable. This might be caused by an unconstrained rigid body motion or by overconstrained degrees of freedom due to multiple linear relations at at least one node.

I tried to change the solver - also did not help. It was but a different type of error…

In my opinion, the use of lagrangien contact reason for a large model of a problem - it is not stable numerically. You may need to change some values Lagrangien contact.
Yet not I changed the type of contact.
I still working on it but can anyone have any ideas to speed up the work.


1 Like

Hi Greg (@gkondracki),

It is important that the fixation on the clevis does not include a constraint in the Y-direction. This is because it shares an edge with the symmetry constraint (FIX_Y) on the X-Z plane. You can find a good explanation of why this is not allowed in the on-line help at the link below. (See 1. Some nodes are overconstrained due to multiple constraint assignment in same direction.)

I had some difficulty getting your simulation to solve using the Lagrange contact type. In order to make the simulation more robust I added a geometric elastic element (shown in red below). This element acts like “rubber”, it has a negligible effect on the result but provides enough stability to allow the problem to solve.

The screen shots below show the results using the Penalty method (LHS) compared to the Lagrange method (RHS).

The two methods provide very similar results (in terms of stress). This is despite the fact that the penalty method has much more displacement due to contact overlapping (penetration). In this example there is only one path for the forces to travel and as such the overall result does not change with more or less penetration. If there was an alternative path (force shunt) the two methods my yield significantly different results.

You can see how I have solved this problem here…

Symmetry01 - Penalty contact
Symmetry02 - Augmented Lagrange contact

Regards, Ben


HI Ben,
thank you very much for your help. Recently, I was and am busy so I could write off earlier.
My comments:

  1. Thank you very much for the preparation of a model with rubber. I have to calmly examine and try out. As I have because I’ll write.
  2. Penalty vs Lagrange. . I agree with you. when it comes to us only stress that we can use both methods but as yet we mean displacement is known penalty method will no longer suit us or how the movement will have an impact on the results of the whole model. I now teach and tested different methods.
  3. 1. Some nodes are overconstrained due to multiple constraint assignment in same direction - in this case I do not agree with you.
    Below my remarks
  • I think that the problem with the instruction applies to the distribution of rare solid as example or function - symmetry plane. In my example, it really did not work, but how did the split on the face and I used it calmly model is counted.

I do not know the mathematical model of such support, and therefore difficult for me to say what is the reason. You can safely work around with split face. This has no significant impact on stress and displacement - checked on other models.

  • When it comes to Ux = 0 base my opinion we can not so easily change support at this point that the system can not count. This changes the nature of the displacement of the base as well as the stress distribution. A better solution is to use additional space (split) - as you wrote earlier and I do above.
    If we use the function of fixed value - the system calculates. I did similar examples in other systems, and it was no problem.

Here is an example that shows what I mean.
A simple plate with three holes - is symmetry.
The first model without the use of symmetry. Simple stretching and lower face bonded (welded).
The results go in my opinion - OK, you can see the symmetry.
Then I made a model using symmetry with a fixed value (you and I use to do it symmetry).

You can see the results almost the same - the model works.
Such nearly the same results were obtained using symmetry plane - drawing before.

did even when freed UX model - comparing the two results - see the difference of stress distribution and size of stress. It was to be expected, turned into support. Also changed the movement.

we must be cautious to change supports the model and use other tricks to calculate models. A good solution was your suggestion to split the face but, in some models, the most of simple solutions in the form of a function - fixed value.

Thanks again for your help.
This example is just a drill, but rather I will not exploit symmetry in more complex models, and this example is no longer us try. I will, I will focus now on the model without using symmetry - these are used in large models. I try to use your examples and make working models.

A similar problem of contacts made in another system, it was a lot of work before the results came out :slight_smile: As I have time, I want to do it in simscale.

Regards, Greg