<?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 = "reference"/><meta name = "abstract" content = "Defines restrictions of the design variables in shape optimization."/><meta name = "description" content = "Defines restrictions of the design variables in shape optimization."/><meta name = "DC.relation" scheme = "URI" content = "../TsoUserMap/tso-m-usr-shape-desAreaDvconShape-sb.htm#tso-m-usr-shape-desAreaDvconShape-sb"/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-r-cmd-dvconShape"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>DVCON_SHAPE</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script><script type = "text/javascript" src = "../MathJax/MathJax.js?config=DS-default,local/local">
  		/* */
  		</script></head><body onLoad = "highlightSearchTerms();" id = "tso-r-cmd-dvconShape">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>DVCON_SHAPE</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">Defines restrictions of the design variables in shape optimization.</span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-r-cmd-dvconShape__tso-r-cmd-dvconShape-rmk" id = "toc_rg" title = "">Remarks</a></li><li><a href = "#tso-r-cmd-dvconShape__tso-r-cmd-dvconShape-expl" id = "toc_rg" title = "">Examples</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 = "For shape optimization, restrictions are defined as boundary conditions that limit the potential area of the node displacement. A design variable constraint is a restriction that directly affects the individual design variables, here, the individual design nodes. Since the nodes in the mesh smoothing area can be interpreted as second order design nodes, there is also the possibility to apply the restrictions (up to a limited degree) to the nodes of the mesh smoothing area. Compared to geometrical optimization based on a few parameters, Tosca Structure.shape allows every design node to be displaced ‘independently’ from other design nodes." href = "../TsoUserMap/tso-m-usr-shape-desAreaDvconShape-sb.htm#tso-m-usr-shape-desAreaDvconShape-sb">Restrictions (DVCON_SHAPE)</a></td></tr></table></td></tr></table>




<div class = "body refbody">
<table class = "table" id = "tso-r-cmd-dvconShape__aa1394958"><caption/><colgroup><col/><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p><span class = "ph uicontrol">ID_NAME</span></p></td>
<td class = "entry"><p>= <code class = "ph codeph">&lt;name_of_dvcon_shape&gt;</code></p></td>
<td class = "entry"><p>Name of the <code class = "ph codeph">DVCON_SHAPE</code> definition.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p><span class = "ph uicontrol">ND_GROUP</span></p></td>
<td class = "entry"><p>= <var class = "keyword varname varname">&lt;name_of_node_group&gt;</var></p></td>
<td class = "entry"><p>Name of the node group that is valid for the restriction. The node group should be a subset of
                the nodes of the <code class = "ph codeph">MESH_SMOOTH</code> command.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>CHECK_BC</p></td>
<td class = "entry"><p>= YES </p><p>= <span class = "ph uicontrol">NO</span></p></td>
<td class = "entry"><p>Accepts (<code class = "ph codeph">YES</code>) or ignores (<span class = "ph uicontrol">NO</span>) the nodal fixations read by the FE interface as constraints on the selected node group.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>CHECK_DOF</p></td>
<td class = "entry"><p>= <var class = "keyword varname varname">&lt;cs_name&gt;</var>, <code class = "ph codeph">&lt;dof1&gt;</code>,<code class = "ph codeph">&lt;dof2&gt;</code>,<code class = "ph codeph">&lt;dof3&gt;</code></p>
                      <p> (<code class = "ph codeph">&lt;dof*&gt;</code> = FIX, <span class = "ph uicontrol">FREE</span>)</p></td>
<td class = "entry"><p>The displacement in the corresponding coordinate direction in the referenced coordinate system is constrained (<code class = "ph codeph">FIX</code>)
                         or allowed (<span class = "ph uicontrol">FREE</span>).</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>CHECK_ELGR</p></td>
<td class = "entry"><p>= <var class = "keyword varname varname">&lt;name_of_element_group&gt;</var></p></td>
<td class = "entry"><p>Name of the element group that is checked for penetration.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>CHECK_ELGR_BLOCKING</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">BOTH</span> | POS | NEG</p></td>
<td class = "entry"><p>Permeability for <code class = "ph codeph">CHECK_ELGR</code>.</p>
                      <p><var class = "keyword varname varname">BOTH</var>: (default) Element group is not penetrable from any side. Like current behavior with the known problems.</p>
                      <p><var class = "keyword varname varname">POS</var>: Element group is penetrable in negative normal direction and blocking in positive normal direction.</p>
                      <p><var class = "keyword varname varname">NEG</var>: Element group is penetrable in positive normal direction and blocking in negative normal direction.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>CHECK_GROW</p></td>
<td class = "entry"><p>= <code class = "ph codeph">&lt;grow_value&gt;</code></p></td>
<td class = "entry"><p>Maximum grow value (referring to the initial design).</p>
                         <span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">(</mo><mi class = "- topic/foreign ">g</mi><mi class = "- topic/foreign ">r</mi><mi class = "- topic/foreign ">o</mi><mi class = "- topic/foreign ">w</mi><mi class = "- topic/foreign ">_</mi><mover class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">v</mi><mi class = "- topic/foreign ">a</mi><mi class = "- topic/foreign ">l</mi><mi class = "- topic/foreign ">u</mi><mi class = "- topic/foreign ">e</mi></mrow><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">¯</mo></mrow></mover><mo class = "- topic/foreign ">≥</mo><mn class = "- topic/foreign ">0</mn><mo class = "- topic/foreign ">)</mo></mrow></math></span></td>
</tr>
<tr class = "row">
<td class = "entry"><p>CHECK_LINK</p></td>
<td class = "entry"><p>= <var class = "keyword varname varname">&lt;link_shape_name&gt;</var></p></td>
<td class = "entry"><p>Assign a <code class = "ph codeph">LINK_SHAPE</code> definition.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>CHECK_MAX_MEM</p></td>
<td class = "entry"><p>= <code class = "ph codeph">&lt;radius&gt;</code></p></td>
<td class = "entry"><p>Maximum member size: orthogonal to the surface material of maximum 2*radius thickness must remain.</p></td>
</tr>
	<tr class = "row">
<td class = "entry"><p>CHECK_MIN_MEM</p></td>
<td class = "entry"><p>= <code class = "ph codeph">&lt;radius&gt;</code></p></td>
<td class = "entry"><p>Minimum member size: orthogonal to the surface material of minimum 2*radius thickness must remain.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>CHECK_NDGR</p></td>
<td class = "entry"><p>= <var class = "keyword varname varname">&lt;member_size_check_node_group&gt;</var></p></td>
<td class = "entry"><p>Name of surface node group for check of member size.</p>
                      <p>If <code class = "ph codeph">CHECK_TYPE = TRANSITION</code>, then a link to a subset of the design area can be provided.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>CHECK_SHRINK</p></td>
<td class = "entry"><p>= <code class = "ph codeph">&lt;shrink_value&gt;</code></p></td>
<td class = "entry"><p>Maximum shrink value (referring to the initial design).</p>
                         <span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">(</mo><mi class = "- topic/foreign ">s</mi><mi class = "- topic/foreign ">h</mi><mi class = "- topic/foreign ">r</mi><mi class = "- topic/foreign ">i</mi><mi class = "- topic/foreign ">n</mi><mi class = "- topic/foreign ">k</mi><mi class = "- topic/foreign ">_</mi><mover class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">v</mi><mi class = "- topic/foreign ">a</mi><mi class = "- topic/foreign ">l</mi><mi class = "- topic/foreign ">u</mi><mi class = "- topic/foreign ">e</mi></mrow><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">¯</mo></mrow></mover><mo class = "- topic/foreign ">≥</mo><mn class = "- topic/foreign ">0</mn><mo class = "- topic/foreign ">)</mo></mrow></math></span></td>
</tr>
<tr class = "row">
<td class = "entry"><p>CHECK_SLIDE</p></td>
<td class = "entry"><p>= <var class = "keyword varname varname">&lt;link_shape_name&gt;</var></p></td>
<td class = "entry"><p>Assign a slide surface defined with a <code class = "ph codeph">LINK_SHAPE</code> command.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>CHECK_SOLID</p></td>
<td class = "entry"><p>= <var class = "keyword varname varname">&lt;solid_name&gt;</var></p></td>
<td class = "entry"><p>Name of the solid that is checked for penetration.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>CHECK_TYPE</p></td>
<td class = "entry">
    <p>= TRANSITION</p>
    <p>= FILTER</p>
</td>
<td class = "entry">
    <p>Create a transition area manufacturing constraint.</p>
    <p>Configure a (design variable) filter.</p>
</td>
</tr>
<tr class = "row">
<td class = "entry"><p>FEATURE_NODES</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">node_group</code>&gt; </p></td>
<td class = "entry"><p>Use external feature detection for <code class = "ph codeph">RESTRICT_ON_SURFACE</code>. The nodes in this group are considered to lie on an edge or on a corner.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>FEASIBLE_START</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">YES</span></p>
                      <p>= NO</p></td>
<td class = "entry"><p>premise feasible node group (<span class = "ph uicontrol">YES</span>) or accept infeasible node group (<code class = "ph codeph">NO</code>) in the start model.</p></td>
</tr>

<tr class = "row">
<td class = "entry"><p>FUNCTION</p></td>
<td class = "entry"><p>= <span class = "ph uicontrol">SMOOTH</span> | LINEAR</p></td>
<td class = "entry"><p>Control the form of the transition area for <code class = "ph codeph">CHECK_TYPE</code>= TRANSITION.</p>
                      <p>SMOOTH: Transition area follows a sin curve.</p>
                      <p>LINEAR: Transition area follows a linear slope.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>REFERENCE_NDGR</p></td>
<td class = "entry"><p>= <var class = "keyword varname varname">&lt;node_group&gt;</var></p></td>
<td class = "entry"><p>If <code class = "ph codeph">CHECK_TYPE = TRANSITION</code>, then this is a link to a node group describing the fixed edge.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>RESTRICT_ON_SURFACE</p></td>
<td class = "entry"><p>= YES </p>
                      <p>= <span class = "ph uicontrol">NO</span> </p></td>
<td class = "entry"><p>Restrict the nodes specified by <code class = "ph codeph">ND_GROUP</code> to move only tangential to their normal direction.
                         This can be especially useful for variation areas - mesh smooth areas not part of the design area.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>TOLERANCE</p></td>
<td class = "entry"><p>= <code class = "ph codeph">&lt;tolerance_value&gt;</code></p></td>
<td class = "entry"><p>Tolerance value for member size check and CHECK_ELGR with CHECK_ELGR_BLOCKING set to POS or NEG. (absolute positive real value)</p></td>
</tr>

<tr class = "row">
<td class = "entry"><p>AGGREGATION_PARAMETER</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">real</code>&gt;</p></td>
<td class = "entry"><p>This is only evaluated for the demold manufacturing in sensitivity-based shape
                         optimization. The parameter &lt;<code class = "ph codeph">p</code>&gt; should be &gt; 1. Default
                         value is <code class = "ph codeph">3</code>. </p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>AGGREGATION_NUM_CONSTRAINTS</p></td>
<td class = "entry"><p>= &lt;<code class = "ph codeph">integer</code>&gt;</p></td>
<td class = "entry"><p>This is only evaluated for the demold manufacturing in sensitivity-based shape optimization. This parameter determines how many (optimization)
                         constraints are created. Use <code class = "ph codeph">-1</code> to disable constraint aggregation. This results in the creation of as many constraints as
						 possible - namely one constraint for each face in the group specified by ND_GROUP. Use <code class = "ph codeph">1</code> (default) to activate constraint aggregation.
                         </p></td>
</tr>
</tbody></table>

<div class = "section" id = "tso-r-cmd-dvconShape__tso-r-cmd-dvconShape-rmk"><h2 class = "title sectiontitle">Remarks</h2>

<ol class = "ol" id = "tso-r-cmd-dvconShape__ol_49E61C29877C4778B850DB06F39FE1D3">
<li class = "li"><code class = "ph codeph">CHECK_BC</code>:
<ul class = "ul" id = "tso-r-cmd-dvconShape__ul_6B9A3F76837C4C51A20A56280E8550C8">
<li class = "li"><code class = "ph codeph">CHECK_BC=YES</code>:  The boundary conditions that are loaded with <code class = "ph codeph">OPTIONS</code>, <code class = "ph codeph">READ_BC = ALL</code>,
                                              are considered for the nodes of the node group. </li>
<li class = "li"><code class = "ph codeph">CHECK_BC=NO</code>:  The BC entries are not considered.</li>
</ul>
</li>
<li class = "li"><code class = "ph codeph">CHECK_DOF</code>: Fixing the node coordinates named with <code class = "ph codeph">FIX</code> for the given coordinate system. </li>
<li class = "li"><code class = "ph codeph">CHECK_ELGR</code> (up to 6 operators with <code class = "ph codeph">CHECK_ELGR</code> are permitted) is the name of an element group already defined.
                                             All nodes in the node group (<code class = "ph codeph">ND_GROUP</code>) are checked for penetrating the element group. Shell and element groups are admitted.</li>
<li class = "li"><code class = "ph codeph">CHECK_LINK</code>: Identification name of a link condition (defined with <code class = "ph codeph">LINK_SHAPE</code>) which should be
                                             used for the node group.</li>
<li class = "li"><code class = "ph codeph">CHECK_SOLID</code> (up to 6 operators with <code class = "ph codeph">CHECK_SOLID</code> are permitted) is the name of a solid already
                                             defined (<code class = "ph codeph">SOLID</code>). All nodes are checked for penetrating the solid (restricted solid) and against leaving the
	                                         solid area (variational solid), respectively.</li>
<li class = "li">When several <code class = "ph codeph">CHECK_*</code> entries are specified in a <code class = "ph codeph">DVCON_SHAPE</code> definition, they are used in
                                             the following sequence: <code class = "ph codeph">CHECK_GROW</code> / <code class = "ph codeph">CHECK_SHRINK</code>, <code class = "ph codeph">CHECK_MAX_MEM</code>,
	                                         <code class = "ph codeph">CHECK_MIN_MEM</code>, <code class = "ph codeph">CHECK_SOLID</code>, <code class = "ph codeph">CHECK_ELGR</code>, <code class = "ph codeph">CHECK_BC</code>, <code class = "ph codeph">CHECK_DOF</code>,
	                                         <code class = "ph codeph">CHECK_LINK</code>. If there are conflicts in the sequence of the <code class = "ph codeph">CHECK_*</code> entries, the last entry overwrites
	                                         the previous one. If there are no conflicts in the sequence of the <code class = "ph codeph">CHECK_*</code> entries, all the defined restrictions are considered.</li>
<li class = "li">Apart from <code class = "ph codeph">CHECK_SOLID</code> and <code class = "ph codeph">CHECK_ELGR</code> entries (which can be used up to 6 times) only one entry of
                                             each other type is admitted in a <code class = "ph codeph">DVCON_SHAPE</code> definition. That means, for example, that I cannot combine two CHECK_LINK
	                                         entries in one <code class = "ph codeph">DVCON_SHAPE</code> definition but must define two <code class = "ph codeph">DVCON_SHAPE</code> entries instead. On the other hand,
	                                         one <code class = "ph codeph">CHECK_LINK</code> and <code class = "ph codeph">CHECK_BC</code> entry, for example, can be combined.</li>
<li class = "li"><code class = "ph codeph">CHECK_TYPE = TRANSITION</code>: For creating a transition area, the options <code class = "ph codeph">ND_GROUP</code> and <code class = "ph codeph">REFERENCE_NDGR</code> are mandatory.
    <code class = "ph codeph">CHECK_NDGR</code> is optional and is set to the shape design area if not specified.
</li>
</ol>
</div>


<div class = "section" id = "tso-r-cmd-dvconShape__tso-r-cmd-dvconShape-expl"><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">Examples</h2>

<pre class = "codeblock">
<code class = "ph codeph">
DVCON_SHAPE
  ID_NAME      = my_dvcon_shape_01
  ND_GROUP     = <var class = "keyword varname varname">nd_side_a</var>
  CHECK_DOF    = csys1, FREE, FIX, FIX
END_

DVCON_SHAPE
  ID_NAME      = my_dvcon_shape_01
  ND_GROUP     = <var class = "keyword varname varname">design_area</var>
  CHECK_GROW   = 5.0
  CHECK_SHRINK = 5.0
END_
</code>
</pre>

</div>

</div>

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