<?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 = "The only allowed constraints for controller-based shape optimization are volume and weight constraints."/><meta name = "description" content = "The only allowed constraints for controller-based shape optimization are volume and weight constraints."/><meta name = "DC.relation" scheme = "URI" content = "tso-m-usr-terms-constraint-sb.htm#tso-m-usr-terms-constraint-sb"/><meta name = "DC.relation" scheme = "URI" content = "tso-m-usr-terms-dresps-sb.htm#tso-m-usr-terms-dresps-sb"/><meta name = "DC.relation" scheme = "URI" content = "../TsoCmdMap/tso-r-cmd-constraint.htm#tso-r-cmd-constraint"/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-usr-shape-constr-ctrl"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Constraints for Controller-Based Shape Optimization</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-c-usr-shape-constr-ctrl">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Constraints for Controller-Based Shape Optimization</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">
The only allowed constraints for controller-based shape optimization
are volume and weight constraints.
</span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-c-usr-shape-constr-ctrl__tso-c-usr-shape-constr-volume" id = "toc_rg" title = "">Volume Constraint </a></li><li><a href = "#tso-c-usr-shape-constr-ctrl__tso-c-usr-shape-constr-weigth" id = "toc_rg" title = "">Weight constraint</a></li></ul>
</p></td></tr></table></td><td class = "DocHeader2"><table class = "DocTopicsSeeAlso" id = "table13"><tr><td class = "TopicsTitle">See Also</td></tr><tr><td><a title = "Normally, optimization tasks have some restrictions. These restrictions limit the values of the design responses or linear combinations of the design responses. If the constraint is not fulfilled the optimization result is not feasible." href = "tso-m-usr-terms-constraint-sb.htm#tso-m-usr-terms-constraint-sb">Constraints</a></td></tr><tr><td><a title = "Most design responses are only available for certain analysis types. Others are independent of the analysis type because they are directly linked to the geometry of the FE-model. Each design response represents one scalar value which can be extracted from the model information (like the volume) or from the FE-results." href = "tso-m-usr-terms-dresps-sb.htm#tso-m-usr-terms-dresps-sb">Design Responses</a></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 = "Definition of an equality or inequality (less or equal/ greater or equal) constraint. The constraint is defined with respect to a design response." href = "../TsoCmdMap/tso-r-cmd-constraint.htm#tso-r-cmd-constraint">CONSTRAINT</a></td></tr></table></td></tr></table>




<div class = "body conbody">
<div class = "section" id = "tso-c-usr-shape-constr-ctrl__tso-c-usr-shape-constr-volume"><h2 class = "title sectiontitle">Volume Constraint </h2>

<p>To select volume as the design response, the volume must be requested with
     <code class = "ph codeph">TYPE=VOLUME</code>. The individual element volumes of the element group
     (<code class = "ph codeph">EL_GROUP</code> parameter) are then added together by the summation parameter
     (<code class = "ph codeph">GROUP_OPER=SUM</code> parameter) to achieve the total volume. The volume is a
    variable independent of the <span class = "ph">load cases</span>. The design response is labeled with a unique name (<code class = "ph codeph">ID_NAME</code> parameter) so it
    can be referenced as a constraint.</p>
<p>A typical definition of a design response appears as follows:</p>
<pre class = "codeblock">
<code class = "ph codeph">
DRESP
 ID_NAME    = dresp_volume
 DEF_TYPE   = SYSTEM
 EL_GROUP   = all_elements
 TYPE       = VOLUME
 GROUP_OPER = SUM
 UPDATE     = EVER
END_
</code>
</pre>
<p>Once the volume of an element area has been defined as the design response,
the design response must be defined as a constraint using the <code class = "ph codeph">CONSTRAINT</code>
parameter. The value of the equality constraint (<code class = "ph codeph">EQ_VALUE</code>
parameter) is also declared. In addition, the parameter <code class = "ph codeph">EQ_VALUE</code>
is declared as absolute value (<code class = "ph codeph">MAGNITUDE=ABS</code>) or relative
value (<code class = "ph codeph">MAGNITUDE=REL</code>) in relation to the initial volume.
The constraint is labeled with a unique name (<code class = "ph codeph">ID_NAME</code>
parameter) so it can be referenced in an optimization job (see <code class = "ph codeph">OPTIMIZE</code>
command).</p>
<p>A typical definition of a constraint appears as follows:</p>
<pre class = "codeblock">
<code class = "ph codeph">
CONSTRAINT
ID_NAME    = volume_constraint
 DRESP     = dresp_volume
 MAGNITUDE = REL
 EQ_VALUE  = 1
END_
</code>
</pre>
<p>Example:</p>
<p>The total volume of an element group in the start model is 2000. For the optimized model a total
    volume of 1800 is requested for the element group. Using absolute values, <code class = "ph codeph">MAGNITUDE=ABS,
     EQ_VALUE=1800</code> must be declared. Using relative values, <code class = "ph codeph">MAGNITUDE=REL,
     EQ_VALUE=0.9</code> must be declared.</p>
<p><div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent">
<p>
<ul class = "ul">
<li class = "li">The <code class = "ph codeph">CONSTRAINT</code> definition must be activated by a reference
in the <code class = "ph codeph">OPTIMIZE</code> command.</li>
<li class = "li">It is highly recommended to choose a volume constraint near the original
volume, say +/- 5% depending on the mesh quality and size of design area.</li>
</ul>
</p></span></div>

</p>
<p><table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent">
<ul class = "ul">
<li class = "li"><span class = "ph">Tosca Structure.shape</span>
will enforce the volume constraint in the first design cycle. This might destroy
the mesh, especially if the volume constraint is far away from the initial
volume. If you want to turn off this mechanism and let <span class = "ph">Tosca Structure.shape</span>
iterate for more iteration to achieve volume constraint use <code class = "ph codeph">OPTIONS</code>:<pre class = "codeblock">
<code class = "ph codeph">
OPTIONS
 SHAPE_FORCE_VOLUME = OFF
END_
</code>
</pre>
</li>
<li class = "li">This setting is not recommended as it will simply cause more design cycles
before the mesh is corrupted.</li>
</ul>
</span></td></tr></table>

</p>

<table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent">
<ul class = "ul">
<li class = "li">Maintaining the volume constraint involves an iterative process; several steps are
      performed within each design cycle to approximate the volume constraint. Each step in the
      volume iteration involves executing a complete <code class = "ph codeph">MESH_SMOOTH</code> algorithm. To keep
      the computing time within limits, it is strongly recommended to select the
       <code class = "ph codeph">MESH_SMOOTH</code> area as small as possible and to keep the various levels of the
       <code class = "ph codeph">MESH_SMOOTH</code> definition (particularly <code class = "ph codeph">LEVEL_CONV,
       LEVEL_DVCON</code> and <code class = "ph codeph">LEVEL_QUAL</code>) as low as possible. A complex mesh
      smoothing can result in a significant increase in computing time.</li>
<li class = "li">It is also recommended to define a volume constraint when using the
objective function ‘maximization of the lowest natural frequency’.
The user can control the volume increase or decrease by activating this
constraint. Consequently, it might be possible to achieve a further increase
in the frequency</li>
</ul>
</span></td></tr></table>

</div>

<div class = "section" id = "tso-c-usr-shape-constr-ctrl__tso-c-usr-shape-constr-weigth"><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">Weight constraint</h2>

<p>Weight constraints are defined in the same way as volume constraints.
Using this design response a physical target weight can be set explicitly.
This is in particular useful when different materials are present in
the model. The corresponding design response is defined as follows:</p>
<pre class = "codeblock">
<code class = "ph codeph">
DRESP
 ID_NAME    = dresp_volume
 DEF_TYPE   = SYSTEM
 EL_GROUP   = all_elements
 TYPE       = WEIGHT
 GROUP_OPER = SUM
 UPDATE     = EVER
END_
</code>
</pre>
<p>Once the volume of an element area has been defined, the design response
must be referenced in the <code class = "ph codeph">CONSTRAINT</code> definition.</p>
</div>

</div>

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