Fill out the form to download

Required field
Required field
Not a valid email address
Required field


In many cases, the simulation domain doesn’t only consist of a single solid body, but multiple parts. A valid simulation setup requires all relations between parts to be fully defined. In this article, we will discuss contacts and interfaces.

Contacts in Solid Mechanics

Two bodies are said to be in contact when they share at least one common boundary and the boundaries are constrained by a relation (i.e. no relative movement).

In the case of structural simulations, the multiple parts in an assembly are discretized into multiple non-conforming mesh parts, i.e. the single bodies are meshed separately by the meshing algorithm and do not share the nodes lying on their contacting entities, thus they are not connected. In order to ensure the mechanical interaction between the parts, they have to be related via contact constraints, which create the proper coupling between the degrees of freedom.

Automatic Contact Detection

In order to guarantee that the simulated domain is properly constrained, all contacts in the system will be detected automatically whenever a new CAD assembly is assigned to a simulation (this also includes simulation creation). By default, all contacts in the assembly will be created as bonded contacts, which can later be edited by the user.

Contact detection can also be triggered manually via the context menu of the contact node in the simulation tree by clicking on ‘+’:

contact creation menu
Figure 1: Creating a new contact, highlighting the automatic contact detection option.

While contacts are being detected, the Contacts in the simulation tree is locked. The time required for contact detection depends on the size and complexity of the geometry and can take between a few seconds up to a few minutes. A loading indicator on the contact tree node signals that contact detection is ongoing.

Bulk Selection

Depending on the size and complexity of an assembly, the number of contacts created can become quite large. An easy way to edit multiple contacts at once is via bulk selection. The bulk selection panel exposes all contact options besides assignments to the user for editing.

Contacts can be selected in bulk via CTRL + Click and/or SHIFT + Click in the contact list or via the filter contacts by selection option in the viewer context menu. The ‘Filter contacts by selection’ option returns contacts based on the current selection. The following selection modes are possible:

  • One volume selected: All contacts that contain at least 1 face on the selected volume will be selected.
  • Two or more volumes selected: All contacts that contain at least one face on at least two of the selected volumes will be selected.
  • One or multiple faces on one body selected: All contacts that contain at least one of the selected faces will be selected.
  • Multiple faces across more than one volume selected: All contacts that contain at least one of the selected faces from at least two of the volumes will be selected.

Contact Types

Currently, there are four types of contact constraints available:

Bonded Contact

The bonded contact is a type of contact which allows no relative displacement between two connected solid bodies. This type of contact constraint is used to glue together different parts of an assembly.

You can assign faces or sets of faces that should be tied together via the assignment box under Pick Faces. For numerical purposes, you have to choose one of these selections as master and the other one as slave. During the calculation, the degrees of freedom of slave nodes are constrained to the master surface.

When running contact analyzes, the position tolerance can be set manually or be turned off. The position tolerance defines the distance between any slave node and the closest point to the nearest master face. When turned on, only those slave nodes will be constrained, which are within the defined range from a master face. When the tolerance is set to off, all slave nodes will be tied to the master surface absolutely. Therefore, if a larger face is used as a master, one slave node will be tied to multiple master nodes leading to artificial stiffness in the slave surface.

bonded contact setup panel
Figure 2: Bonded contact setup panel, where position tolerance, master surface and slave surface can be assigned.


If a larger surface (or surface with higher mesh density) is chosen as slave, the computation time will increase significantly and it might also result in a wrong solution, especially when no specific tolerance criteria is provided.

Sliding Contact

The sliding contact allows for displacement tangential to the contact surface but no relative movement along the normal direction. This type of contact constraint is used to simulate sliding movement in the assembly for linear simulations. The two surfaces that are in contact are classified as master and slave. Every node in slave surface (slave node) is tied to a node in the master surface (master node) by a constraint.

You can assign faces or face sets that should be tied together via the assignment boxes under Pick Faces. For numerical purposes, you have to choose one of these selections as master and the other one as slave. During the calculation, the degrees of freedom of slave nodes are constrained to the master surface while only allowing tangential movement.

sliding contact setup panel
Figure 3: Sliding contact setup panel.


The sliding contact is a linear constraint which is intended for planar sliding interfaces. Therefore, no large displacements and rotations are allowed in the proximity of a sliding contact. In other words, this constraint is not suitable for nonlinear simulations.

Cyclic Symmetry Contact

The cyclic symmetry constraint enables to model only a section of a 360° cyclic periodic structure and reduces the computation time and memory consumption considerably. Required settings include the center and axis of the cyclic symmetry as well as the sector angle. The master and slave surfaces define the cyclic periodicity boundaries.

It’s required to define the axis of revolution and the sector angle explicitly. The sector angle has to be given in degrees. Available ranges for the angle are from 0° to 180° and only values that divide 360° to an integer number are valid.

The axis is defined by the axis origin and the axis direction. The definition of the Axis direction and the Sector angle have to be in accordance with the right hand rule, such that it defines a rotation that starts on the slave surface and goes to the master surface. For a graphical example, see the picture below:

cyclic symmetry contact panel example
Figure 4: Illustration for a cyclic symmetry condition, showing the revolution axis origin, direction, and proper slave and master surfaces according to the right-hand rule.
cyclic symmetry contact example result in paraview
Figure 5: Resulting von Mises Stress on section (left) and transformed on the full 360° model (right) as viewed in Paraview.

The effect of the cyclic symmetry condition is to map the deformations of the master face onto the slave face, transforming them through the sector rotation. This creates the cyclic effect but does not constraint the body in the radial, tangential nor axial directions. Proper additional constraints must be added to prevent rigid body motions.

Important Information

  • As all the DOFs of the slave nodes will be constrained by the cyclic symmetry connection, adding an additional constraint on those nodes could lead to an overconstrained system.
  • This is a linear constraint, so no large rotations or large deformations are allowed in the proximity of cyclic symmetry boundaries.
  • A cyclic symmetry condition is only valid if the geometry and loading conditions are symmetric around the axis of revolution.

Physical Contact

Physical (or “nonlinear”) contacts enable you to calculate realistic contact interaction between two parts of the assembly. Also, it allows to calculate the self-contact between different faces of the same part. Unlike for linear contacts, those faces are not just connected via linear relations but the actual contact forces are computed. Please go to the following page for more details:

Conflict Resolution and Optimization

The two surfaces that are in contact are classified as master and slave. Every node in the slave surface (slave nodes) is tied to a node in the master surface (master node) by a constraint.

  1. Please be aware that one face can not be the slave assignment of multiple contact definitions simultaneously. This also applies for shared edges and nodes between surfaces of different contact definitions.
  2. Generally, the more refined of the two periodic boundary surfaces should be chosen to be the slave. In the case of cyclic symmetry, this will, in most cases, not matter since both faces should be meshed with nearly the same element sizes.
  3. There are some general rules that help you to decide which of the contact faces or sets to choose as master and which to choose as slave entities. Although those rules do not apply strictly in every case, they provide a good starting point. Choose as slave entities, face(s) if:
  • it is considerably smaller than the counterpart.
  • it is more curved, compared to the other part of the contact pair.
  • it belongs to the more flexible part, especially if the other part is constrained in displacement.
  • it has a considerably finer mesh than the counterpart.

Automatic contact detection tries to always find an optimized solution, therefore it is preferable to use automatic contact detection (Figure 1) instead of manually constraining the system. Conflicting contacts are marked with a warning icon in the contact list. A more detailed description of the conflict type and how to resolve it can be found on top of the contact settings panel.

Another warning in case of remaining conflicts is shown on run creation, along with an additional check to detect underconstraints in the system.

In case conflicts can not be resolved manually or by automatic contact detection, consider imprinting your CAD geometry.

Interfaces in Conjugate Heat Transfer

In a CHT analysis, an interface defines the physical behavior between the common boundaries of two regions that are in contact, e.g. solid-solid, or solid-fluid.

Note that having interfaces between two fluid regions is not possible and results in an error.

Automatic Interface Detection

When creating a new CHT simulation,  all possible interfaces will automatically be detected and populated in the simulation setup tree. Interfaces will be grouped together and defined as Coupled thermal interface with No-slip velocity condition.

How To Modify Specific Interfaces?

Individual interfaces or a group of interfaces can be filtered via entity selection. Select the entities (faces or solids) for which you want to select all interfaces that exist between them. Then choose the “Filter contacts by selection” option in the viewer context menu or in the simulation setup tree.

workflow to filter contacts in CHT analyses by selection
Figure 6: Specific interfaces can be selected individually or in bulk by selecting one or multiple entities in the viewer and then using the ‘Filter contacts by selection’ option. In the example above, all interfaces between the processor and its heat sink can be retrieved by selecting both the heat sink and the processor entity and then using the ‘Filter contacts by selection’ option.

All interfaces that exist between two of the selected entities will be bulk selected and exposed in the contact tree individually.

filtered interfaces being exposed individually in the contacts tree
Figure 7: All interfaces that are returned by the filter will be selected in bulk and exposed individually in the contacts tree. By customizing their settings, individual interfaces will stay exposed in the tree.

It is also possible to select only one entity before filtering, which will return all interfaces between this entity and any other entity in the model.

Interfaces which differ in settings from the standard bulk interfaces group will stay exposed individually in the simulation setup tree.

Partial Contacts

An interface is required to always be defined between two congruent surfaces, meaning that these surfaces must have the same area and overlap completely. After contact detection, the platform will also perform a check for partial contacts. If partial contacts are detected, the platform will show a warning and recommend an imprinting operation.

partial contacts warning
Figure 8: Partial contact warning after automatic contact detection in Conjugate Heat Transfer analyses.

Imprinting is a single-click operation built into SimScale, which splits existing faces into smaller ones in order to guarantee perfect overlap between contacting faces. It is recommended to perform an imprint operation in order to guarantee accurate heat transition modeling for the simulation.

By default, any detected partial contact will be defined as an adiabatic interface, and not participate in heat conduction unless specified otherwise.

Contact Detection Errors

As all possible interfaces are detected automatically, it is no longer possible to manually add an interface or to change the entity assignment for a specific interface. In case no interfaces can be detected automatically, SimScale will show an error message.

error message in case of failed automatic contact detection
Figure 9: It is not possible to continue with the current simulation setup in case automatic contact detection fails for the currently assigned geometry. Investigate your CAD model and ensure that contacting parts are indeed in contact.

In this case, it is not possible to create a mesh or start a simulation run for this simulation. Instead, the CAD model needs to be investigated for potential errors which prevent successful contact detection. Please reach out to support via email or chat in case you encounter this issue.

Interface Settings


The Velocity options define the fluid velocity conditions at the interface. For each interface, the momentum (velocity) profile can be set to either slip or no-slip condition. If the interface is between two solids, this option is irrelevant.

By default, the velocity profile is set to no-slip condition, which imposes a friction wall (or real wall) condition by setting the velocity components (tangential and normal) to Zero value at the interface.

$$ V_t=V_n=0 $$

The ‘slip’ option imposes a frictionless wall condition. In this case, the tangential velocities at the interface are adjusted according to the flow conditions, while the normal component is zero.


The Thermal options define the heat exchange conditions at the interface. The five Thermal types available for the interfaces are reported below:


The coupled thermal interface models a perfect heat transfer across the interface. This is the default setting, in case an interface is not defined by the user.


In this case, thermal energy cannot be exchanged between the domains across the interface.

Total Resistance

The Total Resistance interface allows users to model an imperfectly matching interface (e.g. due to the surface roughness) which reduces the heat exchange across it. The total resistance is defined as:

$$ R = \frac{1}{K A} = \frac{1}{\frac{\kappa}{t} A} $$

It is worth noticing that the area of the interface appears in the definition. So this option must be assigned only to the relevant face. Let’s suppose that a heat exchanger is being simulated. The effect of solid sediment on the tube’s wall is only known as a total resistance. A first simulation proves that heat exchange performance is insufficient. Consequently, the length of the tubes is increased. The new simulation will only be correct if the total resistance is changed according to the new area of the tubes.

Specific Conductance

This interface type is very similar to the Contact Interface material (below). It only requires users to set the specific conductance of the interface which is defined as:

$$ K = \frac{\kappa}{t} $$

with thickness t [m] and thermal conductivity κ [W/mK] between the two interface regions.

For instance, this option may be used for an interface where the layer thickness is negligible or unknown, i.e., a radiator for which the paint coating’s specific conductance may be given instead of its thickness and κ.

Contact Interface Material

The contact interface material allows modelling a layer with thickness t and thermal conductivity κ between the two interface regions.

For example, it is possible to model the thermal paste between a chip and a heat sink without needing to resolve it in the geometry. The latter operation is usually a problem, considering that the thickness of these layers is two or three orders of magnitude smaller than other components in the assembly.

CAD and Mesh Requirements

A CHT simulation always requires a multi-region mesh. As far as the mesh is concerned, it is fundamental that the cell size at the interface is similar between the two faces. As a rule of thumb, the cells on one face should be less than 1.5 times the size of the others. The figure below shows an example of this issue. In the left case, the cells at the interface on the inner region are too small with respect to those on the outer body. In the case on the right side, the cells on the interface are approximately the same size.

two meshing examples with different fineness for the use in a conjugate heat transfer analysis.
Figure 10: Left: Cell sizes at the interface do not match closely enough to ensure a robust simulation run. Right: Cell sizes are matching closely. This is the intended multi-region mesh interface for use in a CHT analysis.

Last updated: January 7th, 2021

What's Next

part of: Simulation Setup

Data Privacy