<?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 = "Shape optimization involves determining the displacement of each design node to homogenize the stress on the surface based on the optimization criteria. The displacement of the neighboring nodes is not coupled; thus, each of the design nodes can move independent from the other design nodes. For example, during optimization free-form surfaces might develop from flat surfaces. By coupling the design nodes the optimization can maintain the regularity of planes. To take functional and manufacturing restrictions in shape optimization into account , certain link conditions can be set with the command LINK_SHAPE."/><meta name = "description" content = "Shape optimization involves determining the displacement of each design node to homogenize the stress on the surface based on the optimization criteria. The displacement of the neighboring nodes is not coupled; thus, each of the design nodes can move independent from the other design nodes. For example, during optimization free-form surfaces might develop from flat surfaces. By coupling the design nodes the optimization can maintain the regularity of planes. To take functional and manufacturing restrictions in shape optimization into account , certain link conditions can be set with the command LINK_SHAPE."/><meta name = "DC.relation" scheme = "URI" content = "../TsoCmdMap/tso-r-cmd-linkShape.htm"/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-usr-shape-desArea-lsOvw"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Link and Coupling Conditions Overview</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-c-usr-shape-desArea-lsOvw">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Link and Coupling Conditions Overview</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"> Shape optimization involves determining the displacement of each design node to
homogenize the stress on the surface based on the optimization criteria. The displacement of
the neighboring nodes is not coupled; thus, each of the design nodes can move independent from
the other design nodes. For example, during optimization free-form surfaces might develop from
flat surfaces. By coupling the design nodes the optimization can maintain the regularity of
planes. To take functional and manufacturing restrictions in shape optimization into account ,
      certain link conditions can be set with the command <code class = "ph codeph">LINK_SHAPE</code>. </span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-main" id = "toc_rg" title = "">Determining the Main Node (MAIN) </a></li><li><a href = "#tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client" id = "toc_rg" title = "">Displacement of the Client Nodes (CLIENT) </a></li><li><a href = "#tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-example1" id = "toc_rg" title = "">Example: Link Condition with Fixed Main Node</a></li><li><a href = "#tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-example2" id = "toc_rg" title = "">Example: Coupling Condition with Automatic Determination of the Main Node</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 link conditions (coupling conditions) for nodes in shape optimization." href = "../TsoCmdMap/tso-r-cmd-linkShape.htm">LINK_SHAPE</a></td></tr></table></td></tr></table>




<div class = "body conbody">
<ul class = "ul">
<li class = "li">In <span class = "ph">Tosca Structure.gui</span>, select <span class = "ph menucascade"><span class = "ph uicontrol">Command</span><abbr title = "and then"> &gt; </abbr><span class = "ph uicontrol">LINK_SHAPE</span></span>.
</li>
</ul>

<p>Each link condition has a name (<code class = "ph codeph">ID_NAME</code> parameter).
A criterion for determining the main node (<code class = "ph codeph">MAIN</code>
parameter) is defined as well as a rule for the displacement of the client
nodes (<code class = "ph codeph">CLIENT</code> parameter).</p>
<p>A typical <code class = "ph codeph">LINK_SHAPE</code>
command appears as follows:</p>
<pre class = "codeblock">
<code class = "ph codeph">
LINK_SHAPE
  ID_NAME = name_of_link_shape
  MAIN    = ...
  CLIENT  = ...
  ...
END_
</code>
</pre>
<p>Depending on the selected <code class = "ph codeph">CLIENT</code> parameter, other parameters are also
required. In some circumstances, a coordinate system (<code class = "ph codeph">CS</code> parameter) or
tolerances (<code class = "ph codeph">TOL</code> parameter) must be specified. These parameters of a
<code class = "ph codeph">LINK_SHAPE</code> command might appear as follows:</p>
<pre class = "codeblock">
<code class = "ph codeph">
LINK_SHAPE
  ...
  CS  = name_of_coord_system
  TOL = &lt;tol_1&gt;, &lt;tol_2&gt;, &lt;tol_3&gt;
END_
</code>
</pre>
<p>In the following subsections, the <code class = "ph codeph">MAIN</code> and <code class = "ph codeph">CLIENT</code>
parameters are described in detail. The <code class = "ph codeph">CS</code> and <code class = "ph codeph">TOL</code>
parameters are also described when applicable.</p>
<table class = "table" id = "tso-c-usr-shape-desArea-lsOvw__ae232667"><caption/><colgroup><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry">
<br/><img class = "image" src = "../TsoUserImages/ae038cec.jpg" width = "450"/><br/>
</td>
</tr>
</tbody></table>

<p>Link conditions basically only define a coupling rule without referencing
a specific node group. The coupling condition is assigned to a node group
after activation with <code class = "ph codeph">CHECK_LINK</code> in the <code class = "ph codeph">DVCON_SHAPE</code>
command.</p>
<ul class = "ul">
<li class = "li">In <span class = "ph">Tosca Structure.gui</span>,
the link condition is assigned in the menu of the <span class = "ph uicontrol">DVCON_SHAPE</span> command.</li>
</ul>
<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 definition of coupling conditions can require a great deal of time and effort. To
be able to estimate the best possible potential of an optimization, one optimization
should be performed with as few restrictions as possible and only a few coupling
conditions at the beginning of a project.</li>
<li class = "li">Coupling conditions restrict the range of solutions for the system
and reduce the optimization potential.</li>
</ul>
</p>
</span></td></tr></table>

</p>

<div class = "section" id = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-main"><h2 class = "title sectiontitle">Determining the Main Node (MAIN) </h2>

<p>The <code class = "ph codeph">MAIN</code> parameter is used in each definition of
a link condition to specify how to determine the main node. This node
prescribes the displacement of the nodes affected by the link condition.
It can be set explicitly by the user:</p>
<pre class = "codeblock">
<code class = "ph codeph">
MAIN = NODE, node_nr
</code>
</pre>
<p>This causes the main displacement to be determined from the same node
during the entire optimization.</p>
<p>In addition, the main node might be determined from a main node group. This allows the
user to define a components edge to be the main edge for optimization. The algorithm will
determine the main node automatically from the main node group. In this case, the main
node group must contain exactly one node of each link group.</p>
<pre class = "codeblock">
<code class = "ph codeph">
MAIN = NDGR, &lt;nodegroup&gt;
</code>
</pre>
<p>Another way is to have the system automatically determine the main node
according to two different criteria:</p>
<pre class = "codeblock">
<code class = "ph codeph">
MAIN = MAX
</code>
</pre>
<p>or</p>
<pre class = "codeblock">
<code class = "ph codeph">
MAIN = MIN
</code>
</pre>
<p>In this case, the main node is redetermined in every cycle. When the main node is
automatically determined, the critical factor is identifying which node displacement
(determined by the stress) for the coupling group is relevant. Principally, there exist four
different cases of how the largest and smallest node displacements relate to the reference
value within the node group:</p>
<ul class = "ul">
<li class = "li">Case 1: The stress everywhere is greater than the reference value; a positive
displacement is determined for all design nodes of the coupling group. All design nodes
will grow out of the component.</li>
<li class = "li">Case 2: The stress everywhere is less than the reference value; for all design
nodes of the coupling group a negative displacement is determined. All design nodes will
shrink inwards.</li>
<li class = "li">Case 3: There are nodes with greater and less stress than the reference
value and the absolute shrinkage is greater than the absolute growth
(abs(max_neg) &gt; abs(max_pos)).</li>
<li class = "li">Case 4: There are nodes with greater and less stress than the reference
value and the absolute shrinkage is less than the absolute growth (abs(max_neg)
&lt; abs(max_pos)).</li>
</ul>
<table class = "table" id = "tso-c-usr-shape-desArea-lsOvw__ae202204"><caption/><colgroup><col/><col/><col/><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>Case 1</p></td>
<td class = "entry"><p>Case 2</p></td>
<td class = "entry"><p>Case 3</p></td>
<td class = "entry"><p>Case 4</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><p>ALL_GROWTH</p></td>
<td class = "entry"><p>ALL_SHRINK</p></td>
<td class = "entry"><p>MORE_SHRINK</p></td>
<td class = "entry"><p>MORE_GROWTH</p></td>
</tr>
<tr class = "row">
<td class = "entry"/>
<td class = "entry"><br/><img class = "image" src = "../TsoUserImages/ae0315f5.jpg" width = "128" height = "81"/><br/></td>
<td class = "entry"><br/><img class = "image" src = "../TsoUserImages/ae031610.jpg" width = "128" height = "81"/><br/></td>
<td class = "entry"><br/><img class = "image" src = "../TsoUserImages/ae03162b.jpg" width = "128" height = "81"/><br/></td>
<td class = "entry"><br/><img class = "image" src = "../TsoUserImages/ae03164d.jpg" width = "128" height = "81"/><br/></td>
</tr>
<tr class = "row">
<td class = "entry"><p>lab1 = </p></td>
<td class = "entry" colspan = "4"><p>Selected Main Displacement Value</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>MAX</p></td>
<td class = "entry"><p>max_growth</p></td>
<td class = "entry"><p>min_shrink</p></td>
<td class = "entry"><p>max_growth</p></td>
<td class = "entry"><p>max_growth</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>MIN</p></td>
<td class = "entry"><p>min_growth</p></td>
<td class = "entry"><p>max_shrink</p></td>
<td class = "entry"><p>max_shrink</p></td>
<td class = "entry"><p>max_shrink</p></td>
</tr>
</tbody></table>

<p>The two criteria <code class = "ph codeph">MAX</code> and <code class = "ph codeph">MIN</code>, respectively,
select different main nodes corresponding to the selected displacement
values:</p>
<ul class = "ul">
<li class = "li"><code class = "ph codeph">MAX</code>: The <code class = "ph codeph">MAX</code>-Criterion is the <code class = "ph codeph">conservative</code>
          option. Here, the maximum growth (as in the cases 1, 3, 4) or the smallest shrinkage (as
          in case 2) is always used to select the main node. This is the standard criterion for
          shape optimization.</li>
<li class = "li"><code class = "ph codeph">MIN</code>: The <code class = "ph codeph">MIN</code> criterion moves the component surface inward as
          far as possible. This criterion must be used when linking conditions are required while
          optimizing contact surfaces.</li>
</ul>

<div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent">
<p>
<ul class = "ul">
<li class = "li"><code class = "ph codeph">CHECK_LINK</code> in the <code class = "ph codeph">DVCON_SHAPE</code> command
assigns the link condition to a node group. For <code class = "ph codeph">MAIN=NODE</code>,
<code class = "ph codeph">node_nr</code>, the explicitly declared node must not necessarily
be contained in the node group. For <code class = "ph codeph">MAIN=MAX</code> or <code class = "ph codeph">
MAIN=
MIN
</code>, the main node is always determined from the nodes of
the node group.</li>
<li class = "li">Older parameters <code class = "ph codeph">CRIT_1</code> and <code class = "ph codeph">CRIT_2</code> correspond to
                <code class = "ph codeph">MAX</code> and <code class = "ph codeph">MIN</code> respectively. With <span class = "ph">Tosca Structure</span>
              <span class = "ph">2023</span>, these older definitions are still supported. </li>
</ul>
</p>
</span></div>

</div>


<div class = "section" id = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client"><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">Displacement of the Client Nodes (CLIENT) </h2>

<p>The <code class = "ph codeph">CLIENT</code> parameter
is used in each definition of a link condition to set a rule for determining
the displacement of the client nodes based on the displacement of the
main node. The client nodes are moved relative to the main node.
The following rules can be selected:</p>
<ul class = "ul">
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsPlaneSym.htm" title = "Couple design nodes that are symmetric to a plane - for symmetric meshes.">Plane Symmetry (PLANE_SYM)</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsSPlaneSym.htm" title = "Couple design nodes that are symmetric to a plane - for arbitrary meshes.">Plane Symmetry for Nonsymmetric Meshes (SURF_PLANE_SYM)</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsSCyclicSym.htm" title = "Couples nodes in a not necessarily symmetric mesh that reoccur in a cyclic manner around a rotational axis.">Cyclic Symmetry for Nonsymmetric Meshes (SURF_CYCLIC_SYM)</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsSCyclicPlaneSym.htm" title = "This link condition is a combination of cyclic rotational and planar symmetry. First, the cyclic symmetry is enforced, and afterward the surface is modified to ensure plane symmetry in each segment.">Cyclic-Plane Symmetry Combination (SURF_CYCLIC_PLANE_SYM)</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsPointSym.htm" title = "Couple displacements that are symmetric with respect to a point.">Point Symmetry (POINT_SYM)</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsRotSym.htm" title = "Couple displacements that are rotational symmetric around an axis.">Rotational Symmetry (ROTATION_SYM)</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsDisplacement.htm#tso-c-usr-shape-desArea-lsDisplacement__tso-c-usr-shape-desArea-link-vector">Coupling Displacement Coordinates (VECTOR)</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsDisplacement.htm#tso-c-usr-shape-desArea-lsDisplacement__tso-c-usr-shape-desArea-link-direction">Coupling Displacement Direction (DIRECTION)</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsDisplacement.htm#tso-c-usr-shape-desArea-lsDisplacement__tso-c-usr-shape-desArea-link-length">Coupling Amount of Displacement (LENGTH)</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsDisplacement.htm#tso-c-usr-shape-desArea-lsDisplacement__tso-c-usr-shape-desArea-link-dispCs">Coupling Coordinates in the FE Displacement Coordinate System (DISP_CS)</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsSurfSpline.htm#tso-c-usr-shape-desArea-lsSurfSpline__tso-c-usr-shape-desArea-link-surfStamp-ctrl">Stampable Surface (SURF_STAMP) for Shape Controller</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsSurfSpline.htm#tso-c-usr-shape-desArea-lsSurfSpline__tso-c-usr-shape-desArea-link-surfTurn-ctrl">Turnable Surface (SURF_TURN) for Shape Controller</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsSurfSpline.htm#tso-c-usr-shape-desArea-lsSurfSpline__tso-c-usr-shape-desArea-link-surfTurn-sens">Turnable Surface (SURF_TURN) for Shape Sensitivity</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsSurfSpline.htm#tso-c-usr-shape-desArea-lsSurfSpline__tso-c-usr-shape-desArea-link-surfDrill">Drillable Surface (SURF_DRILL)</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-lsSurfDemold.htm" title = "The demolding manufacturing constraint can be used to gain a demoldable surface. Looking at a single (surface) face, that face is demoldable if the angle between the face normal and the demolding direction is less than 90°.">Demoldable Surface (SURF_DEMOLD)</a></li>
<li class = "li"><a class = "xref" href = "tso-c-usr-shape-desArea-dvcCheckSlide.htm" title = "Element surfaces can be defined as slide surfaces in order to force the design nodes onto this contour. This option offers more flexibility than restricting the direction of displacement.">Restricting Displacement to a Slide Surface</a>(<code class = "ph codeph">FREE_FORM</code>)</li>
</ul>
<p>The individual rules for determining the client displacements are described
in detail in the linked chapters.</p>
<p>Not all link conditions are applicable for both, the controller and the sensitivity-based
shape optimization approach. The table below shows which types are usable with which
approach. <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-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">CLIENT / Applicable for</th>
<th class = "entry align-center" id = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">SHAPE_CONTROLLER</th>
<th class = "entry align-center" id = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">SHAPE_SENSITIVITY</th>
</tr>
</thead><tbody class = "tbody">
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">PLANE_SYM</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">-</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">SURF_PLANE_SYM</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">OK</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">SURF_CYCLIC_SYM</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">OK</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">SURF_CYCLIC_PLANE_SYM</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">OK</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">POINT_SYM</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">-</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">ROTATIONAL_SYM</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">-</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">VECTOR</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">-</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">DIRECTION</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">-</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">LENGTH</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">-</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">DISP_CS</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">-</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">SURF_STAMP</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">OK</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">SURF_TURN</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">OK</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">SURF_DRILL</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">-</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">SURF_DEMOLD</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">OK</td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__1">FREE_FORM</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__2">OK</td>
<td class = "entry align-center" headers = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-client__entry__3">-</td>
</tr>
</tbody></table>
</p>
</div>


<div class = "section" id = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-example1"><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">Example: Link Condition with Fixed Main Node</h2>

<p>All nodes of the previously defined node group <code class = "ph codeph">node_rigid</code>
should have the same displacement with respect to the global Cartesian
coordinate system as the design node with the number 46. Node 46 need
not be a part of the node group <code class = "ph codeph">node_rigid</code>. The link
condition should have the name <code class = "ph codeph">link_rigid</code>. The link
condition is then used in the restriction with the name <code class = "ph codeph">dvcon_rigid</code>.</p>
<pre class = "codeblock">
<code class = "ph codeph">
LINK_SHAPE
 ID_NAME = link_rigid
 MAIN    = NODE, 46
 CLIENT  = VECTOR
 CS      = CS_0
END_

DVCON_SHAPE
 ID_NAME    = dvcon_rigid
 ND_GROUP   = node_rigid
 CHECK_LINK = link_rigid
END_
</code>
</pre>
</div>


<div class = "section" id = "tso-c-usr-shape-desArea-lsOvw__tso-c-usr-shape-desArea-link-example2"><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">Example: Coupling Condition with Automatic Determination of the Main Node</h2>

<p>All nodes of the node group <code class = "ph codeph">ndgr_left</code> should have
the same displacement as the node from <code class = "ph codeph">ndgr_left</code> that
has the greatest outward displacement. In the same way, all nodes of
the node group <code class = "ph codeph">ndgr_right</code> should have the same displacement
as the node from <code class = "ph codeph">ndgr_right</code> that has the greatest outward
displacement. This requires a link condition and two restrictions.</p>
<pre class = "codeblock">
<code class = "ph codeph">
LINK_SHAPE
 ID_NAME = link_left_or_right
 MAIN    = MAX
 CLIENT  = VECTOR
 CS      = CS_0
END_

DVCON_SHAPE
 ID_NAME    = dvcon_left
 ND_GROUP   = ndgr_left
 CHECK_LINK = link_left_or_right
END_

DVCON_SHAPE
 ID_NAME    = dvcon_right
 ND_GROUP   = ndgr_right
 CHECK_LINK = link_left_or_right
END_
</code>
</pre>
<p>In each design cycle the system identifies which nodes in each of the
node groups, <code class = "ph codeph">ndgr_left</code> and <code class = "ph codeph">ndgr_right</code>,
has the greatest positive displacement (in the growth direction). Usually,
these are the nodes with the largest stress difference between the effective
value and the targeted value. These displacements are then applied to
all nodes of the node groups <code class = "ph codeph">ndgr_left</code> and <code class = "ph codeph">ndgr_right</code>,
respectively. The following command can be used instead of the two individual
<code class = "ph codeph">DVCON_SHAPE</code> commands:</p>
<pre class = "codeblock">
<code class = "ph codeph">
DVCON_AUTO_SHAPE
 ID_NAME         = dvcon_*
 ND_GROUP_FAMILY = ndgr_*
 CHECK_LINK      = link_left_or_right
END_
</code>
</pre>
<p>The naming <code class = "ph codeph">left</code> and <code class = "ph codeph">right</code> is determined
automatically from the complete name of the node groups and added to
the root name of the automatically generated <code class = "ph codeph">DVCON_SHAPE</code>
entries. However, this requires that only these two node groups begin
with the name <code class = "ph codeph">ndgr_</code> otherwise other node groups will
be taken into consideration.</p>
</div>

</div>


<div class = "related-links"/>

</td></tr></table><script type = "text/javascript" src = "../DSDocUI_Bottom34.js">/* */</script></body>
</html>
