Contacts

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.

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).

Contacts in Solid Mechanics

In the case of solid mechanics simulations, parts in assemblies 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 contact entities. In order to ensure the connection between those bodies, they have to be tied via contact constraints that couple the affected degrees of freedom.

Automatic Contact Detection

In order to guarantee that the simulated domain is 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 always be created as bonded contacts and can then be edited by the user.

Contact detection can also be triggered manually via the context menu of the contact node in the simulation tree.

context menu of the contact setup in the SimScale workbench
Context menu for the contact setup.

While contacts are being detected, the contact node 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 solids of an assembly.

You can assign faces or face sets that should be tied together via the assignment boxes. 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 master, one master node will be tied to multiple slave nodes leading to artificial stiffness in the slave surface.

Note

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. 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. 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.

When running contact analyses, 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.

Note

This is a linear constraint type, which is intended for planar sliding interfaces. Therefore, no large displacements and rotations are allowed in the proximity of a sliding contact.

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 Axis and Angle has to be in accordance with the right hand rule such that it defines a rotation that maps the slave to the master surface. For an example see the picture below.

The Slave surface is highlighted red, revolution axis is chosen as the negative y-Axis (0,-1,0) and the sector angle is 36°
Resulting displacement on sector (left) and transformed on the full 360° model (right)

Important Information

  • All DOFs of the slave nodes will be constrained, 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 geometry and loading conditions are symmetric.

Note

The cyclic symmetry constraint has been discontinued for single solid simulation domains and will be re-introduced as regular boundary condition in the near future.

Nonlinear Contact

Nonlinear (or “Physical”) contacts enable you to calculate realistic contact interaction between two bodies of the domain as well as self-contact of different faces of one body. Unlike for constrained contacts those faces are not just connected via linear relations but the actual contact forces are calculated.

In order to enable a nonlinear interaction you have to define contact pairs of faces or face sets. For those faces the distance between each other is tested during the simulation and in case a face pair gets in contact the interaction forces that prevent those faces from interpenetrating each other are taken into account. As those forces only occur in case of contact the interaction is a nonlinear phenomenon and thus only applies for nonlinear analyses.

The solution method for the nonlinear contact has to chosen on a per-simulation basis. While specific settings can be adjusted for each nonlinear contact, the solution method is a global setting. It’s possible to choose between the “Penalty method” and the “Lagrangian method“.

Penalty Contact

In a penalty contact solution method the contact interaction between the bodies is handled via spring elements that model the stiffness of the contact. Hence, in a penalty approach it is possible that the faces in contact penetrate each other slightly depending on the defined contact stiffness that couples the interpenetration with the consequential reaction forces. As the interpenetration causes forces that try to prevent further intersection and penalize this behavior it is called Penalty method.

The contact stiffness of a penalty contact is defined by the stiffness coefficient of the linear penetration model. The higher the penalty coefficient, the stiffer the contact gets, which is desired in most cases, as bodies usually are not intended to penetrate at all. However, convergence becomes increasingly more difficult for larger penalty coefficients. A tradeoff between a realistic behavior and optimization for converge needs to be found.

Note

A good starting point for the penalty coefficient usually is between 5-50 times the youngs modulus.

Lagrangian Contact

In a Lagrangian contact solution method the contact interaction between the bodies is handled via additional Lagrange equations that acccount for the contact conditions. Opposed to the penalty method the contact equations are solved exactly and thus no penetration between the contact faces may occur.

Important

Although the Lagrangian contact gives generally more accurate results than the penalty contact, it is not as robust. Also the additional Lagrange equations introduce new DOFs which will increase the system size and thus the solution time.

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 a slave face of different contact definitions simultaneously.
  2. Generally the more refined of the two periodic boundary surfaces should be chosen to be the slave. In the case of a 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. Of course, those rules do not work in every case but they provide a good starting point. Choose as slave entities, face(s) that are:
  • considerably smaller than their counterpart.
  • strongly curved compared to the other part of the contact pair.
  • not as stiff as the other part, especially if the other part is even rigid.
  • that have a considerably finer mesh than their counterpart.

Automatic contact detection tries to always find an optimized solution, therefore it is preferable to use automatic contact detection 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 under constraints 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.

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
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
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
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
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

Momentum

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.

Thermal

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

Coupled

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.

Adiabatic

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.
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.
Contents

Cookie Policy

SimScale uses cookies to improve your user experience. By using this website you consent to our cookie policy. Don't worry, we are not storing any personal information.

Accept Data Privacy