<?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 = "This example shows the reduction of intermediate densities on a frequency optimized pendulum."/><meta name = "DC.relation" scheme = "URI" content = "tso-c-example-topo-checkOptResult.htm#tso-c-example-topo-checkOptResult"/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-t-example-topo-sensTopoSolidVoid"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Reducing the Amount of Intermediate Densities with Solid Void Post Strategy</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-t-example-topo-sensTopoSolidVoid">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Reducing the Amount of Intermediate Densities with Solid Void Post Strategy </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"> This example shows the reduction of intermediate densities on a frequency optimized pendulum.
</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 = "To get an impression of the quality of the optimization, it is necessary to check the values of the constraints and the objective at the end of the optimization." href = "tso-c-example-topo-checkOptResult.htm#tso-c-example-topo-checkOptResult">About Checking the Quality of the Optimization Result</a></td></tr></table></td></tr></table>



<div class = "body taskbody">
<section><ol class = "ol steps"><li class = "li step stepexpand">
Define the design space by excluding the frozen part:
<ol type = "a" class = "ol substeps">
<li class = "li substep">
To get the design space, subtract the frozen group from all elements:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
GROUP_DEF
  ID_NAME 	= DESIGN_SPACE
  TYPE    	= ELEM
  FORMAT  	= LIST_SUBTRACT_GROUP
  LIST_BEGIN
  ALL_ELEMENTS, FROZEN
END_
</pre>
</div>
</li>
<li class = "li substep">
To set the design space as design variables:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DV_TOPO
  ID_NAME        = MY_DV_TOPO
  EL_GROUP       = DESIGN_SPACE
END_
</pre>
</div>
</li>
</ol>
</li><li class = "li step stepexpand">
Define the objective function (minimize volume):
<ol type = "a" class = "ol substeps">
<li class = "li substep">
Define a design response (DRESP) of type volume:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
  ID_NAME        = DRESP_VOL
  DEF_TYPE       = SYSTEM
  TYPE           = VOLUME
  EL_GROUP       = DESIGN_SPACE
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_OBJ_FUNC
  TARGET         = MIN
  DRESP          = DRESP_VOL
END_
</pre>
</div>
</li>
</ol>
</li><li class = "li step stepexpand">
Define the constraint that restricts the second eigenfrequency:
<ol type = "a" class = "ol substeps">
<li class = "li substep">
Define a design response (DRESP) of type DYN_FREQ for the second eigenfrequency:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
  ID_NAME        = DRESP_FREQX
  DEF_TYPE       = SYSTEM
  TYPE           = DYN_FREQ
  LC_SET         = MODAL,ALL,2
END_
</pre>
</div>
</li>

<li class = "li substep">
Define a greater equal constraint that references the design response and constraints its value to a minimum value relative to the original frequency:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
CONSTRAINT
  ID_NAME        = MY_CONSTRAINT
  MAGNITUDE      = REL
  DRESP          = DRESP_FREQ2
  GE_VALUE       = 1.5
END_
</pre>
</div>
</li>
</ol>
</li><li class = "li step stepexpand">
Define the optimization parameter (OPT_PARAM) with the mode tracking settings and the Solid Void Post Strategy Settings as follows:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OPT_PARAM
  ID_NAME                  = MY_PARAMETERS
  OPTIMIZE                 = MY_OPTIMIZATION_TASK
  MODETRACKING             = ON
  MODETRACK_REFERENCE      = INITIAL
  MODENUMBERS              = 10
  SOLID_VOID_POST_STRATEGY = DENSITY_MEASURE
END_
</pre>
</div>
</li></ol></section>
<p class = "result"> The result looks as follows:
<br/><img class = "image" src = "../TsoExampleImages/sensTopoSolidVoid_result.png"/><br/>
<p>In this figure, the left side shows the result without the Solid Void Post Strategy. While
the right side reduces the intermediate densities using the post strategy, which results
in a better solution.</p>
</p>
</div>

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