<?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 = "abstract" content = "This section is about a maximize stiffness optimization of the Airbeam example."/><meta name = "description" content = "This section is about a maximize stiffness optimization of the Airbeam example."/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-t-example-topo-airbeamMaximize"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Maximizing the Stiffness of the Airbeam Model</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-t-example-topo-airbeamMaximize">
<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 Airbeam Model</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">This section is about a maximize stiffness optimization of the Airbeam example.</span>

<p>
Maximizing the Stiffness means minimizing the sum of strain energy ("compliance").
In this example, you are going to follow the workflow for a standard controller-based topology optimization task:
</p>
<ol class = "ol">
<li class = "li">Set the Design Area.</li>
<li class = "li">Set the Frozen Area.</li>
<li class = "li">Set the Objective Function.</li>
<li class = "li">Set a volume constraint.</li>
<li class = "li">Set the Optimization Task.</li>
</ol>
</p>

</p></td></tr></table></td></tr></table>


<div class = "body taskbody">
<section><ol class = "ol steps"><li class = "li step stepexpand">
To set the Design Area, create a Design Variable (DV_TOPO) with the predefined ALL_ELEMENTS group:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DV_TOPO
  ID_NAME               = design_variables
  EL_GROUP              = ALL_ELEMENTS
END_
</pre>
<p>Thus, the optimization task might modify all elements of the model.</p>
</div>
</li><li class = "li step stepexpand">
To set the Frozen Area, do the following:
<ol type = "a" class = "ol substeps">
<li class = "li substep">
Define the elements that the optimization task might NOT modify in a Group Definition (GROUP_DEF):
<div class = "itemgroup stepresult">
<pre class = "codeblock">
GROUP_DEF
  ID_NAME               = frozen_elements
  TYPE                  = ELEM
  FORMAT                = LIST
  LIST_BEGIN
  1-109, 218-3815:109, 3816-3924
END_
</pre>
</div>
</li>
<li class = "li substep">
Reference the Group Definition as element group in a Design Variable Constraint (DVCON_TOPO) and set them as frozen:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DVCON_TOPO
  ID_NAME               = dvcon_frozen
  EL_GROUP              = frozen_elements
  CHECK_TYPE            = FROZEN
END_
</pre>
</div>
</li>
</ol>
</li><li class = "li step stepexpand">
To set the Objective Function, do the following:
<ol type = "a" class = "ol substeps">
<li class = "li substep">
Define a Design Response for the compliance of the structure (DRESP).
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
  ID_NAME               = DRESP_SUM_ENERGY
  DEF_TYPE              = SYSTEM
  TYPE                  = STRAIN_ENERGY
  UPDATE                = EVER
  EL_GROUP              = ALL_ELEMENTS
  GROUP_OPER            = SUM
END_
</pre>
</div>
</li>
<li class = "li substep">
Reference the Design Response in the Objective Function (OBJ_FUNC).
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OBJ_FUNC
  ID_NAME               = maximize_stiffness
  DRESP                 = DRESP_SUM_ENERGY
  TARGET                = MINMAX
END_
</pre>
</div>
</li>
</ol>
</li><li class = "li step stepexpand">
To set a 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                  = VOLUME
  UPDATE                = EVER
  EL_GROUP              = ALL_ELEMENTS
  GROUP_OPER            = SUM
END_
</pre>
</div>
</li>
<li class = "li substep">
Define an equality constraint (CONSTRAINT) that references the Design Response and constrains it to 45 % of its initial volume.
<div class = "itemgroup stepresult">
<pre class = "codeblock">
CONSTRAINT
  ID_NAME               = volume_constraint
  DRESP                 = DRESP_VOL_TOPO
  MAGNITUDE             = REL
  EQ_VALUE              = 0.45
END_
</pre>
</div>
</li>
</ol>
</li><li class = "li step stepexpand">
To set the Optimization Task, link the Design Variables to the Objective Function and constraints:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OPTIMIZE
  ID_NAME               = topology_optimization
  DV                    = design_variables
  OBJ_FUNC              = maximize_stiffness
  DVCON                 = dvcon_frozen
  CONSTRAINT            = volume_constraint
END_
</pre>
</div>
</li><li class = "li step stepexpand">
To improve the convergence, set additional parameters for the optimization (OPT_PARAM):
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OPT_PARAM
  ID_NAME               = optimization_parameters
  OPTIMIZE              = topology_optimization
  SPEED                 = SLOW
  START_DELETE          = PERC,0.2
END_
</pre></div></li></ol></section>
<p class = "result">
<p>After 15 iterations, the optimization result looks as follows:
<br/><img class = "image" src = "../TsoExampleImages/airMaxStiffResult.png"/><br/></p></p>
</div>

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