<?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 = "Shows how to setup a static-thermal optimization for a CPU cooler with an energy thermal measure as objective."/><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-sens-Thermal-ThermalMeasureOptimize"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Minimizing Energy Thermal Measure and Energy Stiffness Measure of the CPU Cooler Example</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-t-example-topo-sens-Thermal-ThermalMeasureOptimize">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Minimizing Energy Thermal Measure and Energy Stiffness Measure of the CPU Cooler Example</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">Shows how to setup a static-thermal optimization for a CPU cooler with an energy thermal measure as objective.
</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 input data and Design Variables:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
FEM_INPUT
  ID_NAME  = MY_INPUT_FILES
  FILE     = topo_thermal_cpu_thmeasure_thermal.inp
  FILE     = topo_thermal_cpu_thmeasure_static.inp
END_

DV_TOPO
  ID_NAME  = MY_DV_TOPO
  EL_GROUP = ALL_ELEMENTS
END_
</pre>
</div>
</li><li class = "li step stepexpand">
Define additional groups for left and right side elements:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
GROUP_DEF
  ID_NAME = right_elements
  TYPE    = ELEM
  FORMAT  = LIST
  LIST_BEGIN
12001, ...
END_

GROUP_DEF
  ID_NAME = left_elements
  TYPE    = ELEM
  FORMAT  = LIST
  LIST_BEGIN
11801, ...
END_
</pre>
</div>
</li><li class = "li step stepexpand">
To use the energy thermal measure and energy stiffness measure in the objective, define a Design Response (DRESP) as follows:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
  ID_NAME        = ENERGY_THERMAL_MEASURE_DRESP
  DEF_TYPE       = SYSTEM
  TYPE           = ENERGY_THERMAL_MEASURE
  EL_GROUP       = ALL_ELEMENTS
  LC_SET         = ALL, 1,,
END_

DRESP
  ID_NAME        = ENERGY_STIFF_MEASURE_DRESP
  DEF_TYPE       = SYSTEM
  TYPE           = ENERGY_STIFF_MEASURE
  EL_GROUP       = ALL_ELEMENTS
  LC_SET         = ALL, 10001,,
END_
</pre>
</div>
</li><li class = "li step stepexpand">
Define the Objective Function (OBJ_FUNC) as follows:
<div class = "itemgroup stepresult">
<p>The weighting for energy stiffness measure is necessary to have
both design responses in a similar magnitude</p>
<pre class = "codeblock">
OBJ_FUNC
  ID_NAME        = ENERGY_THERMAL_MEASURE_OBJ_FUNC
  TARGET         = MIN
  DRESP          = ENERGY_THERMAL_MEASURE_DRESP
  DRESP          = ENERGY_STIFF_MEASURE_DRESP, 3e7
END_
</pre>
</div>
</li><li class = "li step stepexpand">
Create a constraint for the volume. 
<ol type = "a" class = "ol substeps">
<li class = "li substep">
Define a Design Response with the volume (DRESP):
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
  ID_NAME        = VOLUME_DRESP
  TYPE           = VOLUME
  DEF_TYPE       = SYSTEM
  GROUP_OPER     = Sum
  EL_GROUP       = ALL_ELEMENTS
END_
</pre>
</div>
</li>
<li class = "li substep">
Reference the Design Response in a constraint (CONSTRAINT) and constrain it to a maximum of 40%:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
CONSTRAINT
  ID_NAME        = VOLUME_CONSTRAINT
  MAGNITUDE      = REL
  DRESP          = VOLUME_DRESP
  LE_VALUE       = 0.4
END_
</pre>
</div>
</li>
</ol>
</li><li class = "li step stepexpand">
Define the casting, stamp, symmetry and frozen DVCONs:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
LINK_TOPO
  ID_NAME        = MY_LINK_TOPO
  CS             = CS_0
  TYPE           = PLANE_SYM, AXIS_1
END_

DVCON_TOPO
  ID_NAME        = SYMMETRY
  CHECK_TYPE     = LINK_TOPO
  EL_GROUP       = ALL_ELEMENTS
  CHECK_LINK     = MY_LINK_TOPO
END_

DVCON_TOPO
  ID_NAME        = CASTING1
  MID_PLANE      = NONE
  CHECK_GROUP    = ALL_ELEMENTS
  PULL_DIR       = -2, 0, 1.78571
  CHECK_TYPE     = CAST
  EL_GROUP       = left_elements
END_

DVCON_TOPO
  ID_NAME        = CASTING3
  MID_PLANE      = NONE
  CHECK_GROUP    = ALL_ELEMENTS
  PULL_DIR       = 2, 0, 1.78571
  CHECK_TYPE     = CAST
  EL_GROUP       = right_elements
END_

DVCON_TOPO
  ID_NAME        = CASTING2
  MID_PLANE      = STAMP
  CHECK_GROUP    = ALL_ELEMENTS
  PULL_DIR       = 0, 1, 0
  CHECK_TYPE     = CAST
  EL_GROUP       = ALL_ELEMENTS
END_

DVCON_TOPO
  ID_NAME        = DVCON_TOPO_Frozen
  CHECK_TYPE     = FROZEN
  EL_GROUP       = FROZEN_ELEMENTS
END_
</pre>
</div>
</li><li class = "li step stepexpand">
Reference the Objective Function, Design Variables and Constraint as well as DVCON in the OPTIMIZE command:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OPTIMIZE
  ID_NAME        = MY_OPTIMIZATION_TASK
  OBJ_FUNC       = ENERGY_THERMAL_MEASURE_OBJ_FUNC
  DV             = MY_DV_TOPO
  CONSTRAINT     = VOLUME_CONSTRAINT
  STRATEGY       = TOPO_SENSITIVITY
  DVCON          = CASTING1
  DVCON          = CASTING2
  DVCON          = CASTING3
  DVCON          = DVCON_TOPO_Frozen
  DVCON          = SYMMETRY
END_

OPT_PARAM
  ID_NAME        = MY_PARAMETERS
  OPTIMIZE       = MY_OPTIMIZATION_TASK
  FILTER_RADIUS  = 5
END_
</pre>
</div>
</li></ol></section>
<p class = "result">The optimization result looks as follows: <br/><img class = "image" src = "../TsoExampleImages/sensTopoThermalThermalMeasureResult.png" width = "567"/><br/></p>
</div>

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