<?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 present example shows that the topology optimization by Tosca Structure is also able to consider the temperature loading. This example can be done using the CAE solvers Abaqus and MSC Nastran®."/><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-sensTopoTempLoad"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Solving the Temperature Load Problem</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-t-example-topo-sensTopoTempLoad">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Solving the Temperature Load Problem </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 present example shows that the topology optimization by <span class = "ph">Tosca Structure</span> is also able to consider the temperature loading.
This example can be done using the CAE solvers <span class = "ph">Abaqus</span> and <span class = "ph">MSC Nastran®</span>.
<p>This task shows you how to:
					</p><ul><li><a href = "#t-MinimizingTheStrainEnergy" id = "toc_rg" title = "">First Approach: Minimizing the Strain Energy of Load Case 3</a></li><li><a href = "#t-FirstApproach:Definingaconstraintbyinternalforces." id = "toc_rg" title = "The stiffness optimization aim is unclear using STRAIN_ENERGY when having temperature loading. Consequently, you can define the stiffness optimization using displacements instead of STRAIN_ENERGY. Secondly, the absolute displacements at the loaded nodes for load case 1 (a) and for load case 2 (b) are minimized, respectively">Second Approach: Minimizing Global Displacement of Load Introduction Nodes Considering
<span class = "ph">load cases</span> 1 and 2
</a></li></ul>
</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 = "related-links"/>

<article class = "topic task nested1" aria-labelledby = "ariaid-title2" id = "t-MinimizingTheStrainEnergy">
<h2 class = "title topictitle2">First Approach: Minimizing the Strain Energy of Load Case 3</h2>


<div class = "body taskbody"><p class = "abstract">
<div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent">If you use <span class = "ph">MSC Nastran®</span>, you cannot define STRAIN_ENERGY as DRESP when having temperature loading because <span class = "ph">MSC Nastran®</span> is calculating the strain energy
using a wrong principle. </span></div>
</p>

<section><ol class = "ol steps"><li class = "li step stepexpand">
To define the Objective Function (OBJ_FUNC), do the following:
<ol type = "a" class = "ol substeps">
<li class = "li substep">
Define a Design Response (DRESP) as follows:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
  ID_NAME    = SUM_ENERGY_LOADCASE_3
  TYPE       = STRAIN_ENERGY
  DEF_TYPE   = SYSTEM
  LC_SET     = STATIC,3,
  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 = TEMP_OBJ
  DRESP   = SUM_ENERGY_LOADCASE_3
  TARGET  = MIN
END_
</pre>
</div>
</li>
</ol>
</li><li class = "li step stepexpand">
Deactivate the AUTO_FROZEN attribute in the OPT_PARAM command:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OPT_PARAM
  ID_NAME     = MY_PARAMETERS
  OPTIMIZE    = TOPOLOGY_OPTIMIZATION
  AUTO_FROZEN = OFF
END_
</pre>
<p>This ensures that the elements attached to the nodes where the static external
load is applied are not frozen by default. </p>
</div>
</li><li class = "li step stepexpand">
Do an optimization run. The result looks as follows:
<div class = "itemgroup stepresult">
<br/><img class = "image" src = "../TsoExampleImages/sensTopoTempLoadApp1Res1.png"/><br/>
<p>You see that basically all material is removed from the design domain. By removing all the material
the loading through the temperature loading is also removed. Thereby, the STRAIN_ENERGY is
also close to zero. </p>
</div>
</li><li class = "li step stepexpand">
Alternatively, you can try maximizing the strain energy as follows:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OBJ_FUNC
  ID_NAME = TEMP_OBJ
  DRESP   = STRAIN_ENERGY_LOAD_3
  TARGET  = MAX
END_
</pre>
<p>The result looks as follows:</p>
<br/><img class = "image" src = "../TsoExampleImages/sensTopoTempLoadApp1Res2.png"/><br/>
<p>You see that the structure is stiff in axial compression and thereby the solution leads to high
reaction forces at the clamped boundary conditions and high stresses.</p>
</div>
</li></ol></section>
</div>

</article>

<article class = "topic task nested1" aria-labelledby = "ariaid-title3" id = "t-FirstApproach:Definingaconstraintbyinternalforces.">
<p><map name = "FPMap1"><area href = "#hj-top" title = "Back to Top" shape = "rect" coords = "416, 0, 435, 10"/></map><span class = "itemsprite"/></p><h2 class = "title topictitle2">Second Approach: Minimizing Global Displacement of Load Introduction Nodes Considering
<span class = "ph">load cases</span> 1 and 2
</h2>


<div class = "body taskbody"><p class = "shortdesc">The stiffness optimization aim is unclear using STRAIN_ENERGY when having temperature
   loading. Consequently, you can define the stiffness optimization using displacements instead of
   STRAIN_ENERGY. Secondly, the absolute displacements at the loaded nodes for <span class = "ph">load case</span> 1 (a) and
   for <span class = "ph">load case</span> 2 (b) are minimized, respectively </p>

<section><ol class = "ol steps"><li class = "li step stepexpand">
Create a Group Definition (GROUP_DEF) for a node group as follows:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
GROUP_DEF
  ID_NAME = MY_GROUP
  TYPE    = NODE
  FORMAT  = LIST
  LIST_BEGIN
  3442,3443,3444
END_
</pre>
<p>This group contains some of the nodes where the external
forces are applied.  </p>
</div>
</li><li class = "li step stepexpand">
Create a Design Response (DRESP) with the absolute displacements for <span class = "ph">load case</span> 2:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
  ID_NAME  = DISP_LOADCASE_2
  TYPE     = DISP_Y_ABS
  DEF_TYPE = SYSTEM
  LC_SET   = STATIC,2,
  ND_GROUP = MY_GROUP
END_
</pre>
</div>
</li><li class = "li step stepexpand">
Reference the Design Response in the Objective Function (OBJ_FUNC):
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OBJ_FUNC
  ID_NAME = TEMP_OBJ
  DRESP   = DISP_LOADCASE_2
  TARGET  = MIN
END_
</pre>
</div>
</li><li class = "li step stepexpand">
Make sure that the OP_PARAM command is not applied.
</li><li class = "li step stepexpand">
Make an optimization run. The result looks as follows:
<div class = "itemgroup stepresult"><br/><img class = "image" src = "../TsoExampleImages/sensTopoTempLoadApp2Res1.png"/><br/></div>
</li><li class = "li step stepexpand">
Create a Design Response (DRESP) with an absolute displacement for <span class = "ph">load case</span> 1:
<div class = "itemgroup stepresult">
<pre class = "codeblock">
DRESP
  ID_NAME  = DISP_LOADCASE_1
  TYPE     = DISP_Y_ABS
  DEF_TYPE = SYSTEM
  LC_SET   = STATIC,1,
  ND_GROUP = MY_GROUP
END_
</pre>
</div>
</li><li class = "li step stepexpand">
Reference the Design Response in the Objective Function (OBJ_FUNC):
<div class = "itemgroup stepresult">
<pre class = "codeblock">
OBJ_FUNC
  ID_NAME = TEMP_OBJ
  DRESP   = DISP_LOADCASE_1
  TARGET  = MIN
END_
</pre>
</div>
</li></ol></section>
<p class = "result">After a second optimization run, the result looks as follows:
<br/><img class = "image" src = "../TsoExampleImages/sensTopoTempLoadApp2Res2.png"/><br/>
</p>
</div>

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