<?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 = "The setup includes the definition of the frequency objective. Loading the model and definition of design area, objective function and constraint can be done as described in the Getting Started Manual."/><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-sensTopoPlateMaxFreq"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Maximizing the First Natural Frequency of the Plate Model</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-t-example-topo-sensTopoPlateMaxFreq">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Maximizing the First Natural Frequency of the Plate 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"> The setup includes the definition of the frequency objective. Loading the model and
    definition of design area, objective function and constraint can be done as described in the
    Getting Started Manual. 
</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 a Design Response (DRESP) as follows:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
  ID_NAME  = DRESP_FREQ
  DEF_TYPE = SYSTEM
  TYPE     = DYN_FREQ_KREISSEL
  LC_SET   = Modal, 1, 1-5
END_
</pre>
</div>
</li><li class = "li step stepexpand">
Define the Objective Function (OBJ_FUNC) as follows:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OBJ_FUNC
  ID_NAME = maximize_first_eigenfrequency
  DRESP   = DRESP_FREQ
  TARGET  = MAX
END_
</pre>
</div>
</li><li class = "li step stepexpand">
To define the volume constraint, do the following:
<ol type = "a" class = "ol substeps">
<li class = "li substep">
Define a Design Response (DRESP) that refers to the initial volume of the design.
The initial volume is the sum of all elements.
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
  ID_NAME    = DRESP_VOL_TOPO
  DEF_TYPE   = SYSTEM
  TYPE       = VOL_FILL
  UPDATE     = EVER
  EL_GROUP   = ALL_ELEMENTS
  GROUP_OPER = SUM
END_
</pre>
</div>
</li>
<li class = "li substep">
Define a less equal constraint (CONSTRAINT) that references the Design Response and constrains it to 30 % of its initial volume.
<div class = "itemgroup stepresult">
<pre class = "codeblock">
CONSTRAINT
  ID_NAME   = volume_constraint
  DRESP     = DRESP_VOL_TOPO
  MAGNITUDE = REL
  LE_VALUE  = 0.3
END_
</pre>
</div>
</li>
</ol>
</li><li class = "li step stepexpand">
Define one of the displacement constraints as absolute constraint (CONSTRAINT):
<div class = "itemgroup stepresult">
<pre class = "codeblock">
CONSTRAINT
  ID_NAME   = DISP_constraint_1
  DRESP     = DRESP_DISP1_ABS_1
  MAGNITUDE = ABS
  LE_VALUE  = 1.3
END_
</pre>
</div>
</li><li class = "li step stepexpand">
To avoid a checkerboard effect, activate the smoothing filter with the OPT_PARAM command:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OPT_PARAM
  ID_NAME       = KREISSELMEIER_FREQ_SETTINGS
  OPTIMIZE      = TOPOLOGY_OPTIMIZATION
  FILTER_RADIUS = 25.
END_
</pre>
<p>The radius must be chosen in such a way that the value is about twice the average element edge length in the
model (approx. 12.5). A value of 25 has been used in this example.</p>
</div>
</li></ol></section>

<p class = "result">The optimization result looks as follows:
<br/><img class = "image" src = "../TsoExampleImages/sensTopoPlateResult.png" width = "567"/><br/>
<p>The convergence plot for the Objective Function is as follows:</p>
<br/><img class = "image" src = "../TsoExampleImages/sensTopoPlateFreqDia.png" width = "567"/><br/>
</p>
</div>


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