Fill out the form to download

Required field
Required field
Not a valid email address
Required field


Why Do Parts Collide in Nonlinear Static Simulations?


Why do parts collide in nonlinear static analysis and how can we prevent this?


Short answer: If parts collide, one of the following happened:

  • There was no physical contact defined between the parts: Ensure that all the contacts are correctly defined.
  • The penalty coefficient is too low: Increase the penalty coefficient and simulate again. Do this until the penetration depth is negligible.

Please visit the documentation page to learn more about the Static Analysis type. In addition, you will find more detailed info about Nonlinear Contacts, Penalty Contact and Lagrangian Contact on this page.

General Tips to Prevent Colliding Parts

Important information

If multiple parts could touch during the simulation, you must enable Nonlinear analysis in Static analysis type. This will allow you to assign Physical contacts

Nonlinear analysis setup option
Figure 1: Activating nonlinear analysis

Assign Physical Contacts Correctly

Physical touching of parts is modeled using physical contacts. They should be defined by:

  • the faces, that are already in contact
  • the faces, that are going to interact during the nonlinear study

Important information

Before starting a nonlinear static analysis with multiple bodies in physical contact, imprint the geometry. Check this knowledge base article to see what imprint does to your model.

Let’s take a look and see how a physical contact is assigned properly:

In the following simple example, you see a quarter model of small and large cylinders:

physical contact coefficient assignment, problem when parts collide in nonlinear static analysis
Figure 2: Definition of the problem
  • We want to find out the force required to create a specific displacement on the smaller body.
  • Therefore, we apply a displacement and measure the Nodal Force.
  • We model the contact properties between the small and large bodies by using a physical contact.

Now we need to define which surface is the master and which the slave. If you are wondering how to choose, this knowledge base article gives recommendations about which surfaces should be chosen as master and which as a slave.

In SimScale, there are two methods for modeling physical contacts and avoid situations in which parts collide:

  • Augmented Lagrange Method
  • Penalty Method

Each method has it’s own advantages and disadvantages.

Penalty Method

  • The penalty method is based on the assumption that two bodies collide (overlap) and an imaginary spring is compressed during the collision.
  • The amount of collision is called penetration depth.
  • The contact force is then calculated with respect to the penetration depth and stiffness coefficient of the spring.
  • The penalty coefficient is the stiffness of the contact (imaginary spring).

    $$k = F \cdot \Delta L $$

    Where, \(k\) is the stiffness of the contact (Penalty coefficient), \(F\) is the contact force, and \(Delta L\) \ is the penetration depth.

    In the penalty method, it is important to assign a suitable penalty coefficient. A suitable penalty coefficient should keep the penetration depth at a minimum:
    If it’s too small, then bodies will overlap.
    If it’s too big, it will generate numerical instabilities.
    A good practice is to do the following:

    • Estimate k (penalty coefficient) and perform an initial simulation
    • Check the solver log. Are the Contact penetration residuals small enough? A good threshold might be 1e-6.
    • If the contact penetration is small enough, check the solution fields. View displacement results and check the penetration. Is the penetration negligible?
    • If penetration residual or penetration depth is large, then increase the k. If the simulation fails (The solution matrix is singular error), then better decrease the k. To tune the k, multiply it with by the factor of 10, 100, or 0.1, 0.01.
    physical contact menu
    Figure 3: Assigning the penetration coefficient on penalty method.
    solver log data
    Table 1: Solver log – Contact penetration residual.
    displacement analysis on the post processing
    Figure 4: Displacement representation show.

    Determination of the Penalty Coefficient

    The penetration coefficient depends on many factors, such as mesh type, element size on contact surfaces, material properties, load, etc. There is not any particular way to define the penalty coefficient. However, you can use one of the following recommendations. The complexity increases from top to bottom:

    1. As a rule of thumb, you can multiply the Young’s modulus by 50 [1]
      $$k = 50 \cdot E $$
      where, \(E\) is the Young’s modulus.
    2. G.R. Liu recommends to multiply the Young’s modulus by a factor of 1e5 or 1e8 [2]
      $$k = 1 \cdot 10^{5 \sim 8} \cdot E $$
    3. In Code_aster documentation, it is recommended to multiply the largest Young’s modulus of the bodies in contact by a characteristic length [3]
      $$k = d \cdot E_{max} $$
      where, \(d\) is the characteristic length.
    4. Zienkiewicz recommends to use the following equation [4]
      $$k = E_{max} \cdot (\frac{1}{d})^p $$
      The characteristic length can be defined as the ratio of the element size to the dimension of the problem domain.
      $$d = \frac{\Delta x}{n} $$
      where, \(d\) is the characteristic length, \(p\) is the order of elements, \(\Delta x\) is the element size (nodal spacing) of the smallest element in contact face, and \(n\) is the dimension of the problem domain (SimScale requires 3D domain, therefore n = 3)

Augmented Lagrange Method

In contrast to the Penalty coefficient, penetration is completely forbidden in the Lagrange method.
Thus, the contact force is independent from cell size. This method requires an exact solution (Lagrange equations) instead of iterations, which makes it accurate but unstable in large deformations.

The Augmented Lagrange method can be considered as a combination of Penalty and Lagrange methods. It causes minimal penetration and solution is almost exact. This method is accurate, but not suitable for problems with more than 100,000 nodes. It is also less stable, especially with second order elements.

Best Practices:

  1. The Penalty method is recommended for big meshes and/or second order elements
  2. Using a coarse mesh will reduce the accuracy of the simulation. However, applying a suitable Penalty coefficient is more important than using a fine mesh.
  3. Start the simulation with an initial guess value of k (Method 4). Then check the Penalty coefficient residual and penetration depth. Continue to tune the k value until the residual and penalty depth reaches a negligible value.
  4. Reduce the contact surface element size until the convergence.
  5. If you reduce the element size, you will need a larger penetration coefficient.
Cell size0.02m0.02m0.001m0.001m0.001m0.001m
5.25e+121.0e+145.25e+121.0e+141.0e+16Aug. Lag. M.
contact residual
Force456,146 N508,463 N432,515 N496, 914 N499,105 N499,154 N
Table 2: Impacts of surface element size and penetration coefficient on results (convergence)
surface temperature values in a raspberry Pi model
Figure 5: Von Misses stress gradient on stationary and pressing components


If none of the above suggestions solved your problem, then please post the issue on our forum or contact us.

Data Privacy