{"id":50514,"date":"2022-06-07T08:21:13","date_gmt":"2022-06-07T08:21:13","guid":{"rendered":"https:\/\/www.simscale.com\/?page_id=50514"},"modified":"2024-10-01T19:03:29","modified_gmt":"2024-10-01T19:03:29","slug":"linear-contacts","status":"publish","type":"page","link":"https:\/\/www.simscale.com\/docs\/simulation-setup\/contacts\/linear-contacts\/","title":{"rendered":"Linear Contacts"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">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).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<h2 id=\"automatic-contact-detection\" class=\"wp-block-heading\" >Automatic Contact Detection<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">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&nbsp;<em>Bonded<\/em>&nbsp;contacts, which can later be edited by the user.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Contact detection can also be triggered manually via the context menu of the <em>Contacts<\/em>&nbsp;node in the simulation tree by clicking on the <strong>&#8216;+ button&#8217;<\/strong>:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/08\/image-61.png\"><img loading=\"lazy\" decoding=\"async\" width=\"497\" height=\"305\" nonce='303aab8408bd63f158a057e52dd3745f' src=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/08\/image-61.png\" alt=\"contact creation menu linear contacts\" class=\"wp-image-94719\" srcset=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/08\/image-61.png 497w, https:\/\/frontend-assets.simscale.com\/media\/2024\/08\/image-61-300x184.png 300w\" sizes=\"auto, (max-width: 497px) 100vw, 497px\" \/><\/a><figcaption class=\"wp-element-caption\">Figure 1: Creating a new contact<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">While contacts are being detected, the <em>Contacts<\/em> 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 to a few minutes. A loading indicator on the contact tree node signals that contact detection is ongoing.<\/p>\n\n\n\n<h3 id=\"bulk-selection\" class=\"wp-block-heading\" >Bulk Selection<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Depending on the size and complexity of an assembly, the number of contacts created can become quite large. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An easy way to edit multiple contacts at once is via bulk selection.\u00a0The bulk selection panel exposes all contact options besides assignments to the user for editing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Contacts can be selected in bulk via\u00a0<em>CTRL + Click<\/em> and\/or\u00a0<em>SHIFT + Click<\/em> in the contact list or via the\u00a0filter contacts by selection option in the viewer context menu. The <em>Filter contacts by selection<\/em> option returns contacts based on the current selection. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The following selection modes are possible:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>One volume selected: All contacts that contain at least 1 face on the selected volume will be selected.<\/li>\n\n\n\n<li>Two or more volumes selected: All contacts that contain at least one face on at least two of the selected volumes will be selected.<\/li>\n\n\n\n<li>One or multiple faces on one body selected: All contacts that contain at least one of the selected faces will be selected.<\/li>\n\n\n\n<li>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.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"linear-contact-types\" class=\"wp-block-heading\" >Linear Contact Types<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Currently, there are two types of linear contact constraints available:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Bonded contact<\/li>\n\n\n\n<li>Sliding contact<\/li>\n<\/ol>\n\n\n\n<h3 id=\"bonded-contact\" class=\"wp-block-heading\" >Bonded Contact<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The bonded contact is a type of contact that allows no relative displacement between two connected solid bodies. This type of contact constraint is used to glue together different parts of an assembly.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/frontend-assets.simscale.com\/media\/2022\/05\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"838\" height=\"560\" nonce='303aab8408bd63f158a057e52dd3745f' src=\"https:\/\/frontend-assets.simscale.com\/media\/2022\/05\/image-2.png\" alt=\"simscale bonded linear contact\" class=\"wp-image-50556\" style=\"width:629px;height:420px\" srcset=\"https:\/\/frontend-assets.simscale.com\/media\/2022\/05\/image-2.png 838w, https:\/\/frontend-assets.simscale.com\/media\/2022\/05\/image-2-300x200.png 300w, https:\/\/frontend-assets.simscale.com\/media\/2022\/05\/image-2-768x513.png 768w\" sizes=\"auto, (max-width: 838px) 100vw, 838px\" \/><\/a><figcaption class=\"wp-element-caption\">Figure 2: Two parts joined by a bonded contact will move together. <\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">You can assign faces or sets of faces that should be tied together via the assignment box under <em>Pick Faces<\/em>. 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.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When running contact analyses, the position tolerance can be set manually or turned off. The position tolerance defines the distance between any slave node and the closest point to the nearest master face. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When tolerance is turned on, only those slave nodes that are are within the defined range from a master face will be constrained. When the tolerance is set to\u00a0off, 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.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/bonded-contact.png\"><img loading=\"lazy\" decoding=\"async\" width=\"437\" height=\"483\" src=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/bonded-contact.png\" alt=\"bonded contact ui simscale setup\" class=\"wp-image-96070\" style=\"width:359px;height:auto\" srcset=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/bonded-contact.png 437w, https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/bonded-contact-271x300.png 271w\" sizes=\"auto, (max-width: 437px) 100vw, 437px\" \/><\/a><figcaption class=\"wp-element-caption\">Figure 3: Bonded contact setup panel, where position tolerance, master surface, and slave surface can be assigned.<\/figcaption><\/figure>\n<\/div>\n\n\n<div class=\"hw-block hw-note hw-note--info hw-note\">\n    <div class=\"hw-note__title\">\n        <p class=\"hw-note__titleText\"><i class=\"fa fa-exclamation-circle\" aria-hidden=\"true\"><\/i>Note<\/p>\n    <\/div>\n    <div class=\"hw-note__body\">\n        <p>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.<\/p>\n    <\/div>\n<\/div>\n\n\n\n<h3 id=\"sliding-contact\" class=\"wp-block-heading\" >Sliding Contact<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The sliding linear 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 the slave surface (slave node) is tied to a node in the master surface (master node) by a constraint.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/frontend-assets.simscale.com\/media\/2022\/05\/image-3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"927\" height=\"577\" nonce='303aab8408bd63f158a057e52dd3745f' src=\"https:\/\/frontend-assets.simscale.com\/media\/2022\/05\/image-3.png\" alt=\"simscale sliding linear contact\" class=\"wp-image-50557\" style=\"width:695px;height:433px\" srcset=\"https:\/\/frontend-assets.simscale.com\/media\/2022\/05\/image-3.png 927w, https:\/\/frontend-assets.simscale.com\/media\/2022\/05\/image-3-300x187.png 300w, https:\/\/frontend-assets.simscale.com\/media\/2022\/05\/image-3-768x478.png 768w\" sizes=\"auto, (max-width: 927px) 100vw, 927px\" \/><\/a><figcaption class=\"wp-element-caption\">Figure 4: Two parts joined by a sliding contact can move relatively across the plane of contact.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You can assign faces or face sets that should be tied together via the assignment boxes under <em>Pick Faces<\/em>. 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.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/sliding-contact.png\"><img loading=\"lazy\" decoding=\"async\" width=\"437\" height=\"483\" src=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/sliding-contact.png\" alt=\"sliding contact ui setup simscale\" class=\"wp-image-96072\" style=\"width:355px;height:auto\" srcset=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/sliding-contact.png 437w, https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/sliding-contact-271x300.png 271w\" sizes=\"auto, (max-width: 437px) 100vw, 437px\" \/><\/a><figcaption class=\"wp-element-caption\">Figure 5: Sliding contact setup panel<\/figcaption><\/figure>\n<\/div>\n\n\n<div class=\"hw-block hw-note hw-note--warning hw-note\">\n    <div class=\"hw-note__title\">\n        <p class=\"hw-note__titleText\"><i class=\"fa fa-exclamation-circle\" aria-hidden=\"true\"><\/i>Important<\/p>\n    <\/div>\n    <div class=\"hw-note__body\">\n        <p>The sliding contact is a linear contact 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.<\/p>\n    <\/div>\n<\/div>\n\n\n\n<h2 id=\"master-and-slave-assignments\" class=\"wp-block-heading\" >Master and Slave Assignments<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When setting up linear contacts, master and slave assignments must be defined in the setup window. If the contact faces are different in size, as a rule of thumb the smaller faces should be set as slave faces.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the example below, a sliding contact between a pin and two bars is defined according to best practices. Since the pin is larger than the holes in the bars, <strong>the pin is correctly defined as the master assignment<\/strong>:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/pin-master-assignment-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"627\" src=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/pin-master-assignment-1-1024x627.png\" alt=\"master slave assignments contact good practices\" class=\"wp-image-96066\" srcset=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/pin-master-assignment-1-1024x627.png 1024w, https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/pin-master-assignment-1-300x184.png 300w, https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/pin-master-assignment-1-768x470.png 768w, https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/pin-master-assignment-1.png 1139w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Figure 6: The pin face correctly receives a master assignment (blue) in this sliding contact definition<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">In the next example, the bonded contact is not defined according to best practices. Since the tank face is much larger than the leg faces, the tank should have been the master assignment.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/swap-master-and-slave-assignments.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"664\" src=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/swap-master-and-slave-assignments-1024x664.png\" alt=\"swap master and slave assignments\" class=\"wp-image-96067\" srcset=\"https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/swap-master-and-slave-assignments-1024x664.png 1024w, https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/swap-master-and-slave-assignments-300x195.png 300w, https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/swap-master-and-slave-assignments-768x498.png 768w, https:\/\/frontend-assets.simscale.com\/media\/2024\/10\/swap-master-and-slave-assignments.png 1062w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Figure 7: In this image, the master and slave assignments is not optimal, as the slave face is much larger than the master faces<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">In the image above, a quick way to invert the master and slave assignments is to click on the <strong>Swap positions<\/strong> icon, indicated by the blue arrow.<\/p>\n\n\n\n<div class=\"hw-block hw-note hw-note--warning hw-note\">\n    <div class=\"hw-note__title\">\n        <p class=\"hw-note__titleText\"><i class=\"fa fa-exclamation-circle\" aria-hidden=\"true\"><\/i>Important<\/p>\n    <\/div>\n    <div class=\"hw-note__body\">\n        <p>The importance of slave and master assignments comes from the fact that all nodes of the slave will be bound to the nearest master element within the tolerance. <br>If the larger side is selected as slave this often <b>leads to over-stiffening of the slave surface<\/b>.<\/p>\n    <\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Two bodies are said to be in contact when they share at least one common boundary and the boundaries are constrained by...","protected":false},"author":115,"featured_media":50556,"parent":17656,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/template-documentation.php","meta":{"_acf_changed":false,"_crdt_document":"","inline_featured_image":false,"footnotes":""},"class_list":["post-50514","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.simscale.com\/wp-json\/wp\/v2\/pages\/50514","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.simscale.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.simscale.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.simscale.com\/wp-json\/wp\/v2\/users\/115"}],"replies":[{"embeddable":true,"href":"https:\/\/www.simscale.com\/wp-json\/wp\/v2\/comments?post=50514"}],"version-history":[{"count":0,"href":"https:\/\/www.simscale.com\/wp-json\/wp\/v2\/pages\/50514\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.simscale.com\/wp-json\/wp\/v2\/pages\/17656"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.simscale.com\/wp-json\/wp\/v2\/media\/50556"}],"wp:attachment":[{"href":"https:\/\/www.simscale.com\/wp-json\/wp\/v2\/media?parent=50514"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}