<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html
  SYSTEM "about:legacy-compat">
<html xmlns:mml = "http://www.w3.org/1998/Math/MathML" lang = "en"><head><meta charset = "UTF-8"/><meta name = "copyright" content = "(C) Copyright 2020"/><meta name = "DC.rights.owner" content = "(C) Copyright 2020"/><meta name = "DC.type" content = "concept"/><meta name = "abstract" content = "This section gives information on how to link nodes with other nodes."/><meta name = "description" content = "This section gives information on how to link nodes with other nodes."/><meta name = "DC.relation" scheme = "URI" content = "../TsoCmdMap/tso-r-cmd-dvconBead.htm#tso-r-cmd-dvconBead"/><meta name = "DC.relation" scheme = "URI" content = "../TsoCmdMap/tso-r-cmd-linkBead.htm#tso-r-cmd-linkBead"/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-usr-bead-restrictions-CheckLink"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Symmetry Conditions (CHECK_LINK)</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-c-usr-bead-restrictions-CheckLink">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Symmetry Conditions (CHECK_LINK)</h1></td></tr><tr><td class = "DocHeader4" colspan = "2"/></tr><tr><td class = "DocHeader3"><table class = "DocHeaderIntro" id = "table12"><tr><td class = "Intro1Only"><p class = "header"><p class = "abstract">
<span class = "shortdesc">This section gives information on how to link nodes with other nodes.</span>

<table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent"><p>This kind of design variable constraint is available with bead sensitivity optimization only when <code class = "ph codeph">TYPE = SURF_PLANE_SYM</code> is used, while it is available with bead controller optimization only with all other <code class = "ph codeph">TYPE</code>s.</p>
<p>The model must be symmetric to use these constraint types.</p>
</span></td></tr></table>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-c-usr-bead-restrictions-CheckLink__tso-c-usr-bead-point-sym" id = "toc_rg" title = "">Point Symmetry (<code class = "ph codeph">POINT_SYM</code>)</a></li><li><a href = "#tso-c-usr-bead-restrictions-CheckLink__tso-c-usr-bead-plane-sym" id = "toc_rg" title = "">Plane Symmetry (CONTROLLER)</a></li><li><a href = "#tso-c-usr-bead-restrictions-CheckLink__tso-c-usr-bead-surfplane-sym" id = "toc_rg" title = "">Plane Symmetry (SENSITIVITY)</a></li><li><a href = "#tso-c-usr-bead-restrictions-CheckLink__tso-c-usr-bead-rotation-sym" id = "toc_rg" title = "">Rotational Symmetry (<code class = "ph codeph">ROTATION_SYM</code>)</a></li></ul>
</p></td></tr></table></td><td class = "DocHeader2"><table class = "DocTopicsSeeAlso" id = "table13"><tr><td class = "TopicsTitle">See Also</td></tr></table><table class = "DocTopicsInOtherGuides" id = "table14"><tr><td height = "8px"/></tr><tr><td class = "TopicsTitleNormal">In Other Guides</td></tr><tr><td><a title = "Defines restrictions of the design variables in bead optimization." href = "../TsoCmdMap/tso-r-cmd-dvconBead.htm#tso-r-cmd-dvconBead">DVCON_BEAD</a></td></tr><tr><td><a title = "Defines link conditions (coupling conditions) for nodes in bead optimization." href = "../TsoCmdMap/tso-r-cmd-linkBead.htm#tso-r-cmd-linkBead">LINK_BEAD</a></td></tr></table></td></tr></table>




<div class = "body conbody">

<table class = "table"><caption/><colgroup><col style = "width:33.33333333333333%"/><col style = "width:33.33333333333333%"/><col style = "width:33.33333333333333%"/></colgroup><thead class = "thead">
<tr class = "row">
<th class = "entry" id = "tso-c-usr-bead-restrictions-CheckLink__entry__1">Applicable for</th>
<th class = "entry align-center" id = "tso-c-usr-bead-restrictions-CheckLink__entry__2">BEAD_CONTROLLER</th>
<th class = "entry align-center" id = "tso-c-usr-bead-restrictions-CheckLink__entry__3">BEAD_SENSITIVITY</th>
</tr>
</thead><tbody class = "tbody">
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-bead-restrictions-CheckLink__entry__1">POINT_SYM</td>
<td class = "entry align-center" headers = "tso-c-usr-bead-restrictions-CheckLink__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-bead-restrictions-CheckLink__entry__3">-</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-bead-restrictions-CheckLink__entry__1">PLANE_SYM</td>
<td class = "entry align-center" headers = "tso-c-usr-bead-restrictions-CheckLink__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-bead-restrictions-CheckLink__entry__3">-</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-bead-restrictions-CheckLink__entry__1">SURF_PLANE_SYM</td>
<td class = "entry align-center" headers = "tso-c-usr-bead-restrictions-CheckLink__entry__2">-</td>
<td class = "entry align-center" headers = "tso-c-usr-bead-restrictions-CheckLink__entry__3">OK</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-bead-restrictions-CheckLink__entry__1">ROTATION_SYM</td>
<td class = "entry align-center" headers = "tso-c-usr-bead-restrictions-CheckLink__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-bead-restrictions-CheckLink__entry__3">-</td>
</tr>
</tbody></table>

<p>Symmetry conditions can also be
applied in <span class = "ph">Tosca Structure.bead</span>.
A LINK-condition is needed to create a symmetry condition. </p>
<p>The types of symmetry supported by <span class = "ph">Tosca Structure.bead</span> are point, plane, and rotational symmetry:</p>
<p><span class = "ph uicontrol">bead controller optimization</span></p>
<pre class = "codeblock">
<code class = "ph codeph">
LINK_BEAD
  ID_NAME = &lt;link_name&gt;
  TYPE    = POINT_SYM
            PLANE_SYM, AXIS_*
            ROTATIONAL_SYM, AXIS_*
  CS      = &lt;cs_name&gt;
END_

</code>
</pre>
<p><span class = "ph uicontrol">bead sensitivity optimization</span></p>
<pre class = "codeblock">
<code class = "ph codeph">
LINK_BEAD
  ID_NAME    = &lt;link_name&gt;
  TYPE       = PLANE_SYM
  CLIENT_DIR = &lt;X_1&gt;, &lt;X_2&gt;, &lt;X_3&gt;
  CS         = &lt;cs_name&gt;
END_
</code>
</pre>
<p>The origin of the coordinate system referenced by the <code class = "ph codeph">&lt;cs_name&gt;</code> is the
      symmetry point or a point on the symmetry plane, where AXIS_* is the normal to this plane. For
      rotational symmetry, the origin of the coordinate system is a point on the symmetry axis,
where AXIS_* gives the direction.</p>
<p>The following figure shows an asymmetric <span class = "ph">load case</span> 
   without (left) and with (right) symmetry condition:</p><table class = "table" id = "tso-c-usr-bead-restrictions-CheckLink__aa211293"><caption/><colgroup><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><br/><img class = "image" id = "tso-c-usr-bead-restrictions-CheckLink__image_BE6C941B728B439FB5FA1C3A2847781E" src = "../TsoUserImages/bead_curved_surface_combined.png" width = "450"/><br/></td>
</tr>
</tbody></table>

<p><table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent">
  <ol class = "ol" id = "tso-c-usr-bead-restrictions-CheckLink__ol_50DE93884F014077B291C72F807DD786">
    <li class = "li"><code class = "ph codeph">AXIS_*</code> can be
              <code class = "ph codeph">AXIS_1</code>, <code class = "ph codeph">AXIS_2</code>, or <code class = "ph codeph">AXIS_3</code> of the
            chosen coordinate system.</li>
    <li class = "li">Only cartesian coordinate systems can be used for symmetry conditions.</li>
    <li class = "li">The name of the link is referenced in a DVCON_BEAD
    command using <code class = "ph codeph">CHECK_LINK=&lt;link_name&gt;</code>.</li>
    <li class = "li">The LINK conditions cannot be used together with <code class = "ph codeph">TEST_SHAPE</code>. TEST_SHAPE will not fail, but the LINK conditions are not executed.</li>
</ol></span></td></tr></table>
</p>

<div class = "section" id = "tso-c-usr-bead-restrictions-CheckLink__tso-c-usr-bead-point-sym"><h2 class = "title sectiontitle">Point Symmetry (<code class = "ph codeph">POINT_SYM</code>)</h2>

<div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent"><p>Couple displacements that are symmetric with respect to a point.</p></span></div>

<p> This kind of constraint is available only for controller-based optimizations. To couple
        displacements symmetric to a point, the position of the point must be exactly specified. The
        following parameters are necessary for the definition of the link condition: </p>
<pre class = "codeblock">
<code class = "ph codeph">
LINK_BEAD
 ID_NAME = &lt;link_name&gt;
 TYPE    = POINT_SYM, AXIS_*
 CS      = &lt;cs_name&gt;
END_
</code>  
</pre>
<p>
The origin of the coordinate system referenced by <code class = "ph codeph">CS</code>
defines the symmetry point. The symmetry of the nodes (assigned by <code class = "ph codeph">ND_GROUP</code>
in the <code class = "ph codeph">DVCON_BEAD</code> command) is checked against the
symmetry point. Symmetric nodes are assembled into a symmetry group (normally
two symmetric nodes per symmetry group). Then the main node of the
symmetry group is determined and the displacements of the client nodes
are calculated in such a way that they move symmetric to the point of
the main node (see the following figure).
</p>
<table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent"><p><ul class = "ul">
<li class = "li">The coordinate system referenced by <code class = "ph codeph">CS</code> must be a Cartesian coordinate system.</li>
</ul></p></span></td></tr></table>

<table class = "table"><caption/><colgroup><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry">
<br/><img class = "image" id = "tso-c-usr-bead-restrictions-CheckLink__image_A01B5875DCC54039AE4BDB8F1DE44630" src = "../TsoUserImages/shape_point_coupling.png" width = "243" height = "166"/><br/>
</td>
</tr>
</tbody></table>
</div>

  
<div class = "section" id = "tso-c-usr-bead-restrictions-CheckLink__tso-c-usr-bead-plane-sym"><p><map name = "FPMap1"><area href = "#hj-top" title = "Back to Top" shape = "rect" coords = "416, 0, 435, 10"/></map><span class = "itemsprite"/></p><h2 class = "title sectiontitle">Plane Symmetry (CONTROLLER)</h2>

<div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent"><p>
Couple design nodes that are symmetric to a plane - for arbitrary meshes.
</p></span></div>

<p> This kind of constraint is available only for controller-based optimizations. To couple
        displacements symmetric to a plane, the position and the orientation of the plane must be
        specified exactly. Therefore, the plane is created using the coordinate system and an axis
        normal to the plane. A possible link definition could look like the following: </p>
<pre class = "codeblock">
<code class = "ph codeph">
LINK_BEAD
 ID_NAME    = &lt;link_name&gt;
 TYPE       = PLANE_SYM
 CLIENT_DIR = &lt;X_1&gt;, &lt;X_2&gt;, &lt;X_3&gt;
 CS         = &lt;cs_name&gt;
END_
</code>  
</pre>
<p>The symmetry of the nodes
(assigned by <code class = "ph codeph">ND_GROUP</code> in the <code class = "ph codeph">DVCON_BEAD</code>
command) is checked against the symmetry plane. Symmetric nodes are
assembled into a symmetry group (normally two symmetric nodes per symmetry
group). Then the main node of the symmetry group is determined and
the displacements of the client nodes are calculated in such a way that
they move symmetrically to the plane of the main node (see the following
figure).
</p>
<table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent"><p><ul class = "ul">
<li class = "li">The coordinate system referenced by <code class = "ph codeph">CS</code> must be a Cartesian coordinate system.</li>
</ul></p></span></td></tr></table>



<table class = "table"><caption/><colgroup><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry">
<br/><img class = "image" id = "tso-c-usr-bead-restrictions-CheckLink__image_26D4D8C16B404759B110025BD7B50292" src = "../TsoUserImages/shape_symmetry_coupling.png" width = "371" height = "199"/><br/>
</td>
</tr>
</tbody></table>

</div>



<div class = "section" id = "tso-c-usr-bead-restrictions-CheckLink__tso-c-usr-bead-surfplane-sym"><p><map name = "FPMap1"><area href = "#hj-top" title = "Back to Top" shape = "rect" coords = "416, 0, 435, 10"/></map><span class = "itemsprite"/></p><h2 class = "title sectiontitle">Plane Symmetry (SENSITIVITY)</h2>

<div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent"><p>Couple design nodes that are symmetric to a plane - for arbitrary meshes.</p></span></div>

<p> This kind of constraint is only available for sensitivity-based optimizations.
To be able to couple displacements symmetrically to a plane, the position and the orientation
of the plane must be specified. This is supported for symmetric and unsymmetric meshed
geometries. The following parameters are necessary
for the definition of the link condition:
</p>
<pre class = "codeblock">
<code class = "ph codeph">
LINK_BEAD
 ID_NAME    = &lt;link_name&gt;
 TYPE       = PLANE_SYM
 CLIENT_DIR = &lt;X_1&gt;, &lt;X_2&gt;, &lt;X_3&gt;
 CS         = &lt;cs_name&gt;
END_
</code>  
</pre>
<p>The origin of the coordinate system referenced by <code class = "ph codeph">CS</code> defines a point on the
symmetry plane. The direction specified by the <code class = "ph codeph">PLANE_NORMAL</code> parameter
defines the normal of the plane.</p>

<p>The symmetry of the nodes (assigned by <code class = "ph codeph">ND_GROUP</code> in the
          <code class = "ph codeph">DVCON_BEAD</code> command) is checked against the symmetry plane. For each node,
        a reference displacement is calculated for its symmetric "counterpart." This counterpart is
        obtained by reflecting the node at the symmetry plane; that is, by intersecting a line
        through the node in the plane normal direction with the surface defined by all selected
        nodes. The reference displacement is obtained by interpolation of the optimization
        displacements of the adjacent nodes.</p>

<p>The symmetry is built up by using the maximum (default) or the minimum of the displacement of the selected node 
(d1 in the following figure) and the interpolated displacement of its plane
symmetric counter part (reference displacement d2 in the following
figure).</p>
<table class = "table"><caption/><colgroup><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><br/><img class = "image" id = "tso-c-usr-bead-restrictions-CheckLink__image_F06E875D1D4243FAB027A7D72199D43A" src = "../TsoUserImages/ae046be3.jpg" width = "585" height = "293"/><br/></td>
</tr>
</tbody></table>
</div>

  
<div class = "section" id = "tso-c-usr-bead-restrictions-CheckLink__tso-c-usr-bead-rotation-sym"><p><map name = "FPMap1"><area href = "#hj-top" title = "Back to Top" shape = "rect" coords = "416, 0, 435, 10"/></map><span class = "itemsprite"/></p><h2 class = "title sectiontitle">Rotational Symmetry (<code class = "ph codeph">ROTATION_SYM</code>)</h2>

<div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent"><p>Couple displacements that are rotational symmetric around an axis.</p></span></div>

<p> This kind of constraint is available only for controller-based optimizations. To couple
        displacements rotationally symmetric about an axis, the position and the orientation of the
        axis must be specified exactly. The mesh of the coupled node group should be rotational
        symmetric. These parameters are specified as follows: </p>
<pre class = "codeblock">
<code class = "ph codeph">
LINK_BEAD
  ID_NAME = &lt;link_name&gt;
  TYPE    = POINT_SYM, AXIS_*
  CS      = &lt;cs_name&gt;
  ANGLE   = &lt;value&gt;
END_
</code>
</pre>
<p> The origin of the coordinate system referenced by CS defines a point on the axis. The direction
        specified by the <code class = "ph codeph">AXIS*</code> parameter defines the axis direction. The symmetry
        of the nodes assigned by <code class = "ph codeph">ND_GROUP</code> in the <code class = "ph codeph">DVCON_BEAD</code>
        command is checked against the symmetry axis. Symmetric nodes are assembled into a symmetry
        group, a simplification of the <code class = "ph codeph">GROUP_AUTO_DEF</code> command, where these symmetry
        groups can be build according to cylindrical coordinate systems. Then the main node of the
        symmetry group is determined and the displacements of the client nodes are calculated in
        such a way that they move rotational symmetric to the axis (see the following figure).</p>
<table class = "table"><caption/><colgroup><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry">
<br/><img class = "image" id = "tso-c-usr-bead-restrictions-CheckLink__image_B32CA479C0BB411BBD7DEDE5A2936E90" src = "../TsoUserImages/ae038db5.jpg" width = "450"/><br/>
</td>
</tr>
</tbody></table>
<p>In addition, an angle can be defined to divide the search area into discrete sections.</p>
</div>

</div>

<div class = "related-links"/></td></tr></table><script type = "text/javascript" src = "../DSDocUI_Bottom34.js">/* */</script></body>
</html>
