<?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 = "Aim of this optimization task is to get a structure with a minimum deflection or rotation. In case that the displacement at a node with a load is to be minimized, the problem is identical to the maximization of the stiffness."/><meta name = "description" content = "Aim of this optimization task is to get a structure with a minimum deflection or rotation. In case that the displacement at a node with a load is to be minimized, the problem is identical to the maximization of the stiffness."/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-user-TopOpt-StaAna-MinDispVolCon"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>About Minimizing Displacement / Rotation under Volume Constraint</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-c-user-TopOpt-StaAna-MinDispVolCon">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>About Minimizing Displacement / Rotation under Volume Constraint </h1></td></tr><tr><td class = "DocHeader4" colspan = "2"/></tr><tr><td class = "DocHeader3" colspan = "2"><table class = "DocThemeIntro" id = "table12"><tr><td class = "Intro1Only"><p class = "header"><p class = "abstract">
<span class = "shortdesc">Aim of this optimization task is to get a structure with a
minimum deflection or rotation. In case that the displacement at a
node with a load is to be minimized, the problem is identical to the
maximization of the stiffness.</span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-c-user-TopOpt-StaAna-MinDispVolCon__tso-c-user-TopOpt-StaAna-MinDispVolCon-OptPro" id = "toc_rg" title = "">Formulation of the Optimization Problem</a></li><li><a href = "#tso-c-user-TopOpt-StaAna-MinDispVolCon__tso-c-user-TopOpt-StaAna-MinDispVolCon-NecDef" id = "toc_rg" title = "">Necessary Definitions</a></li><li><a href = "#tso-c-user-TopOpt-StaAna-MinDispVolCon__tso-c-user-TopOpt-StaAna-MinDispVolCon-parFile" id = "toc_rg" title = ""><span class = "ph">SIMULIA Tosca Structure</span> Parameter File</a></li></ul>
</p></td></tr></table></td></tr></table>




<div class = "body conbody">
<div class = "section" id = "tso-c-user-TopOpt-StaAna-MinDispVolCon__tso-c-user-TopOpt-StaAna-MinDispVolCon-OptPro"><h2 class = "title sectiontitle">Formulation of the Optimization Problem</h2>

<p>The optimization problem can be solved with the sensitivity-based approach.</p>
<p>The sensitivity-based approach works with an inequality constraint, and the optimization problem is:</p>

<table class = "table" id = "tso-c-user-TopOpt-StaAna-MinDispVolCon__ag581281"><caption/><colgroup><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p><span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">min</mi><mo class = "- topic/foreign ">⁡</mo><mo class = "- topic/foreign ">(</mo><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">u</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow></msub><mo class = "- topic/foreign ">)</mo></mrow></math></span></p><p><span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mstyle displaystyle = "false" class = "- topic/foreign "><mrow class = "- topic/foreign "><munder class = "- topic/foreign "><mo class = "- topic/foreign ">∑</mo><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">1</mn><mo class = "- topic/foreign ">,</mo><mi class = "- topic/foreign ">n</mi></mrow></munder><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">V</mi><mi class = "- topic/foreign ">o</mi><mi class = "- topic/foreign ">l</mi><mo class = "- topic/foreign ">≤</mo><mi class = "- topic/foreign ">v</mi><mi class = "- topic/foreign ">o</mi><mi class = "- topic/foreign ">l</mi><mi class = "- topic/foreign ">_</mi><mi class = "- topic/foreign ">r</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">s</mi><mi class = "- topic/foreign ">t</mi><mi class = "- topic/foreign ">r</mi><mi class = "- topic/foreign ">i</mi><mi class = "- topic/foreign ">c</mi><mi class = "- topic/foreign ">t</mi></mrow></mrow></mstyle></mrow></math></span></p></td>
</tr>
</tbody></table>

<p>
with <span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">u</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow></msub></mrow></math></span> being the displacement
in a given coordinate or the total displacement, Vol the element volume and vol_restrict the value of the volume constraint.
</p>
</div>


<div class = "section" id = "tso-c-user-TopOpt-StaAna-MinDispVolCon__tso-c-user-TopOpt-StaAna-MinDispVolCon-NecDef"><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">Necessary Definitions</h2>

<p>The user must define two design responses in order to set up the optimization problem:</p>
<ul class = "ul">
<li class = "li">
The design response for the displacement of the given node. The displacement
in a given direction (x, y, or z) or the absolute value of the displacement
is chosen according to the value of the <code class = "ph codeph">TYPE</code> parameter. For more information, see
<a class = "xref" href = "tso-m-usr-terms-dresps-displRot-sb.htm#tso-m-usr-terms-dresps-displRot-sb" title = "This section describes the theory of displacements and rotation.">Displacement and Rotation</a>.
</li>
<li class = "li">
The design response for the relative volume defined as the sum of
volumes of elements multiplied with their relative densities and divided
through the original volume.
</li>
<li class = "li">
The objective function is the minimization of the displacement design
response. If more than one node is used in the design response definition,
an individual design response is created for each node. In this case,
a large number of nodes leads to many objective function terms. The target
of the objective function is to minimize the nodal displacement of a
single node, or, if more than one node is specified in the displacement
design response, the target should be set to the minimization of the
largest displacement. Check the TOSCA.OUT file for the list
of generated design responses.
</li>
<li class = "li">
The relative material volume is used in the inequality constraint,
so that the optimization results the stiffest model that has the material
volume (and thus weight) less than a certain value. Without the constraint,
the stiffest structure will use as much material as possible.
</li>
</ul>
</div>


<div class = "section" id = "tso-c-user-TopOpt-StaAna-MinDispVolCon__tso-c-user-TopOpt-StaAna-MinDispVolCon-parFile"><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"><span class = "ph">SIMULIA Tosca Structure</span> Parameter File</h2><p>The commands in the parameter file for this problem look like:</p>
<pre class = "codeblock">
<code class = "ph codeph">
DRESP
  ID_NAME    = DRESP_DISP_X
  DEF_TYPE   = SYSTEM
  TYPE       = DISP_X
  UPDATE     = EVER
  NODE       = 557
  GROUP_OPER = MAX
  LC_SET     = STATIC,2,ALL
END_

DRESP
  ID_NAME    = DRESP_VOL_TOPO
  DEF_TYPE   = SYSTEM
  TYPE       = VOLUME
  UPDATE     = EVER
  EL_GROUP   = ALL_ELEMENTS
  GROUP_OPER = SUM
END_

OBJ_FUNC
  ID_NAME    = maximize_stiffness
  DRESP      = DRESP_DISP_X
  TARGET     = MIN
END_

CONSTRAINT
  ID_NAME    = volume_constraint
  DRESP      = DRESP_VOL_TOPO
  MAGNITUDE  = REL
  LE_VALUE   = 0.45
END_

OPTIMIZE
  ID_NAME    = topology_optimization
  DV         = design_variables
  OBJ_FUNC   = maximize_stiffness
  CONSTRAINT = volume_constraint
  STRATEGY   = TOPO_SENSITIVITY
END_
</code>
</pre>
<p>The following example deals with the minimization of displacements of more than one node:</p>
<pre class = "codeblock">
<code class = "ph codeph">
DRESP
  ID_NAME    = DRESP_DISP_X_1
  DEF_TYPE   = SYSTEM
  TYPE       = DISP_X
  UPDATE     = EVER
  NODE       = 557
  GROUP_OPER = MAX
  LC_SET     = STATIC,2,ALL
END_

DRESP
  ID_NAME    = DRESP_DISP_X_2
  DEF_TYPE   = SYSTEM
  TYPE       = DISP_X
  UPDATE     = EVER
  NODE       = 1997
  GROUP_OPER = MAX
  LC_SET     = STATIC,1,ALL
END_

DRESP
  ID_NAME    = DRESP_VOL_TOPO
  DEF_TYPE   = SYSTEM
  TYPE       = VOLUME
  UPDATE     = EVER
  EL_GROUP   = ALL_ELEMENTS
  GROUP_OPER = SUM
END_

OBJ_FUNC
  ID_NAME    = maximize_stiffness
  DRESP      = DRESP_DISP_X_1
  DRESP      = DRESP_DISP_X_2
  TARGET     = MINMAX
END_

CONSTRAINT
  ID_NAME    = volume_constraint
  DRESP      = DRESP_VOL_TOPO
  MAGNITUDE  = REL
  LE_VALUE   = 0.45
END_

OPTIMIZE
  ID_NAME    = topology_optimization
  DV         = design_variables
  OBJ_FUNC   = maximize_stiffness
  CONSTRAINT = volume_constraint
  STRATEGY   = TOPO_SENSITIVITY
END_
</code>
</pre>
</div>


</div>

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