<?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 = "task"/><meta name = "description" content = "In this section, the main components of the Door Hinge setup are shown."/><meta name = "DC.relation" scheme = "URI" content = "../TsoUserMap/tso-c-user-TopOpt-DesArea-OverhangsDefine.htm#tso-c-user-TopOpt-DesArea-OverhangsDefine"/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-t-example-topo-sensDoorhinge"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Maximizing the Stiffness of the Door Hinge Model</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-t-example-topo-sensDoorhinge">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Maximizing the Stiffness of the Door Hinge Model</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 = "shortdesc">In this section, the main components of the Door Hinge setup are shown.
</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 = "This section is about how to define an overhang constraint for topology optimization." href = "../TsoUserMap/tso-c-user-TopOpt-DesArea-OverhangsDefine.htm#tso-c-user-TopOpt-DesArea-OverhangsDefine">About the Definition of Overhang Restrictions</a></td></tr></table></td></tr></table>



<div class = "body taskbody">
<section><ol class = "ol steps"><li class = "li step stepexpand">
To define the objective of maximizing the stiffness (minimizing compliance):
<ol type = "a" class = "ol substeps">
<li class = "li substep">
Define a Design Response (DRESP) of type <code class = "ph codeph">ENERGY_STIFF_MEASURE</code>:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
  ID_NAME    = TASK_STIFFNESS
  DEF_TYPE   = SYSTEM
  TYPE       = ENERGY_STIFF_MEASURE
  EL_GROUP   = ALL_ELEMENTS
  GROUP_OPER = SUM
END_
</pre>
</div>
</li>
<li class = "li substep">
Define the Objective Function (OBJ_FUNC) and reference the Design Response:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OBJ_FUNC
  ID_NAME    = MY_OBJECTIVE
  DRESP      = TASK_STIFFNESS
  TARGET     = MIN
END_
</pre>
</div>
</li>
</ol>
</li><li class = "li step stepexpand">
To define the mass constraint:
<ol type = "a" class = "ol substeps">
<li class = "li substep">
Define a Design Response (DRESP) of type weight.
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
  ID_NAME    = TASK_MASS
  DEF_TYPE   = SYSTEM
  TYPE       = WEIGHT
  EL_GROUP   = globalDesignRegion
  GROUP_OPER = SUM
END_
</pre>
</div>
</li>
<li class = "li substep">
Define a less equal constraint (CONSTRAINT) that references the Design Response and constrains its value to a maximum value relative to the original weight.
<div class = "itemgroup stepresult">
<pre class = "codeblock">
CONSTRAINT
  ID_NAME    = TASK_MASS_CONSTRAINT
  DRESP      = TASK_MASS
  MAGNITUDE  = REL
  LE_VALUE   = 0.325
END_
</pre>
</div>
</li>
</ol>
</li><li class = "li step stepexpand">
To enforce a maximum angle of overhanging structures, define a design variable constraint (DVCON_TOPO) of type overhang:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DVCON_TOPO
  ID_NAME        = OverhangControl1
  CHECK_TYPE     = OVERHANG
  EL_GROUP       = designAreaOverhang
  CHECK_GROUP    = globalDesignRegion
  PRINT_DIR      = 0.0, -1.0, 0.0
  ANGLE          = 45.0
  BASE_PLANE     = AUTO
  SUPPORT_FROZEN = YES
END_
</pre>
<ul class = "ul">
<li class = "li">The printing direction in this example is the negative y-direction, and the maximum allowed overhang angle is 45°.</li>
<li class = "li">To prevent the frozen region in the center of the model from remaining as an overhanging structure,
  it needs to be included in the overhang element group and the SUPPORT_FROZEN option must be used.</li>
<li class = "li">The other frozen regions are not included in the overhang element group since they are located at the outside of the model.
  If they were included, the optimization results would contain unnecessary support structures beneath them, between the blue and red lines in the following image:
  <br/><img class = "image" src = "../TsoExampleImages/abaqus_doorhinge_support_frzn.png" width = "280"/><br/></li>
<li class = "li">The check group should generally contain all elements, as is the case in this example.</li>
<li class = "li">The BASE_PLANE parameter is set to the default option (AUTO) and could also be omitted here.
  For this model the parameter would mostly affect the inner part, where the geometry of the design space already violates the overhang criterion, as can be seen in the image below.
  The elements that cannot be supported properly are already removed in iteration 0 (b).
  If the base plane would be deactivated (BASE_PLANE=NONE), the design space would be considered to be fully supported from the outside and the elements in the middle would remain (a).
  <br/><img class = "image" src = "../TsoExampleImages/abaqus_doorhinge_base_plane.png" width = "280"/><br/></li>
</ul>
</div>
</li><li class = "li step stepexpand">
If an overhang restriction exists, design variable filtering will be used automatically.
To avoid unwanted element layers around the frozen regions normally obtained with this filtering, reduced the filter group to only consider the design area:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OPT_PARAM
  ID_NAME     = OptimizationTask_PARAMS
  OPTIMIZE    = OptimizationTask
  FILTER_GROUP = DESIGN_AREA
END_
</pre>
</div>
</li></ol></section>
<p class = "result">The optimization result looks as follows:
<br/><img class = "image" src = "../TsoExampleImages/abaqus_doorhinge_result.png" width = "800"/><br/>
The smoothed result is generated as well and is shown below:
<br/><img class = "image" src = "../TsoExampleImages/abaqus_doorhinge_smooth.png" width = "800"/><br/>
</p>
</div>

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