<?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 = "concept"/><meta name = "abstract" content = "For the controller-based shape optimization, basically any operator is allowed for the definition of the objective function, but here one must be cautious because the operation is only performed on the scalar nodal values. This is explained in the following two examples:"/><meta name = "description" content = "For the controller-based shape optimization, basically any operator is allowed for the definition of the objective function, but here one must be cautious because the operation is only performed on the scalar nodal values. This is explained in the following two examples:"/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-usr-terms-combTermDrespCtrl"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Controller-Based Combined Terms</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script><script type = "text/javascript" src = "../MathJax/MathJax.js?config=DS-default,local/local">
  		/* */
  		</script></head><body onLoad = "highlightSearchTerms();" id = "tso-c-usr-terms-combTermDrespCtrl">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Controller-Based Combined Terms</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">For the controller-based shape optimization, basically any
operator is allowed for the definition of the objective function, but
here one must be cautious because the operation is only performed on
the scalar nodal values. This is explained in the following two examples:</span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-c-usr-terms-combTermDrespCtrl__tso-c-usr-terms-combTermDrespCtrl-expl1" id = "toc_rg" title = "">Example 1:</a></li><li><a href = "#tso-c-usr-terms-combTermDrespCtrl__tso-c-usr-terms-combTermDrespCtrl-expl2" id = "toc_rg" title = "">Example 2:</a></li><li><a href = "#tso-c-usr-terms-combTermDrespCtrl__tso-c-usr-terms-combTermDrespCtrl-otherOpers" id = "toc_rg" title = "">Other Operators for Controller-Based Shape Optimization</a></li></ul>
</p></td></tr></table></td></tr></table>




<div class = "body conbody">
<div class = "section" id = "tso-c-usr-terms-combTermDrespCtrl__tso-c-usr-terms-combTermDrespCtrl-expl1"><h2 class = "title sectiontitle">Example 1:</h2>

<p>We want to apply the von Mises stress in the optimization relative
to the von Mises in the first iteration (<span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">σ</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">0</mn></mrow></msub></mrow></math></span>):</p><table class = "table" id = "tso-c-usr-terms-combTermDrespCtrl__table_C6CBC741463D4AF1B5177D91C4539B69"><caption/><colgroup><col style = "width:100%"/></colgroup><tbody class = "tbody"><tr class = "row"><td class = "entry"><p><span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">σ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi><mo class = "- topic/foreign ">,</mo><mtext class = "- topic/foreign ">rel</mtext></mrow></msub><mo class = "- topic/foreign ">=</mo><mfrac class = "- topic/foreign "><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">σ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow></msub></mrow><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">σ</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">0</mn></mrow></msub></mrow></mfrac></mrow></math></span></p></td></tr></tbody></table>


<p>Now, if we use this term in the objective function all nodal von Mises
stresses will be divided by the von Mises stress from the first iteration.</p>
<p>To define the above statement use the following commands:</p>
<pre class = "codeblock">
<code class = "ph codeph">
VARIABLE
 ID_NAME        = von_mises
 DEF_TYPE       = SYSTEM
 TYPE           = SIG_MISES
 ND_GROUP       = ALL_NODES
 LC_SET         = ALL,1,All
 GROUP_OPER     = Max
 UPDATE         = EVER
END_

VARIABLE
 ID_NAME        = von_mises_first
 DEF_TYPE       = SYSTEM
 TYPE           = SIG_MISES
 ND_GROUP       = ALL_NODES
 LC_SET         = ALL,1,All
 GROUP_OPER     = Max
 UPDATE         = FIRST
END_

DRESP
 ID_NAME        = relative_von_mises
 DEF_TYPE       = OPER
 VAR_OPER       = DIV
 VAR_A          = von_mises
 VAR_B          = von_mises_first
END_
</code>
</pre>

</div>

<div class = "section" id = "tso-c-usr-terms-combTermDrespCtrl__tso-c-usr-terms-combTermDrespCtrl-expl2"><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 sectiontitle">Example 2:</h2>

<p>In a second example, the sum of the von Mises stress from two <span class = "ph">load cases</span>,
say LC1 and LC2, should be used as the design response: </p>
<table class = "table" id = "tso-c-usr-terms-combTermDrespCtrl__table_02619A43FF6D4428894051E2F6AD9449"><caption/><colgroup><col style = "width:100%"/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p><span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">σ</mi></mrow><mrow class = "- topic/foreign "><mtext class = "- topic/foreign ">sum</mtext></mrow></msub><mo class = "- topic/foreign ">=</mo><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">σ</mi></mrow><mrow class = "- topic/foreign "><mtext class = "- topic/foreign ">LC1</mtext></mrow></msub><mo class = "- topic/foreign ">+</mo><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">σ</mi></mrow><mrow class = "- topic/foreign "><mtext class = "- topic/foreign ">LC2</mtext></mrow></msub></mrow></math></span></p></td>
</tr>
</tbody></table>


<p>The above is <span class = "ph uicontrol">NOT</span> a sum of the stress tensors
upon which the von Mises criteria is calculated. It is simply a sum
of the two resulting values of the von Mises stress for each node. </p>
<p>The scalar summation can be done using the following commands:</p>
<pre class = "codeblock">
<code class = "ph codeph">
DRESP
 ID_NAME        = von_mises_LC1
 DEF_TYPE       = SYSTEM
 TYPE           = SIG_MISES
 ND_GROUP       = ALL_NODES
 LC_SET         = ALL,1,All
 GROUP_OPER     = Max
END_

DRESP
 ID_NAME        = von_mises_LC2
 DEF_TYPE       = SYSTEM
 TYPE           = SIG_MISES
 ND_GROUP       = ALL_NODES
 LC_SET         = ALL,2,All
 GROUP_OPER     = Max
END_

DRESP
 ID_NAME        = scalar_sum_von_mises
 DEF_TYPE       = OPER
 VAR_OPER       = ADD
 VAR_A          = von_mises_LC1
 VAR_B          = von_mises_LC2
END_
</code>
</pre>
</div>

<div class = "section" id = "tso-c-usr-terms-combTermDrespCtrl__tso-c-usr-terms-combTermDrespCtrl-otherOpers"><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 sectiontitle">Other Operators for Controller-Based Shape Optimization</h2>

<p>The operators</p>
<p><pre class = "codeblock">VAR_OPER = FILTER</pre></p>
<p><pre class = "codeblock">VAR_OPER = CUT_OFF</pre></p>
<p><pre class = "codeblock">VAR_OPER = NORM</pre></p>
<p><pre class = "codeblock">VAR_OPER = NORM_FIRST</pre></p>
<p>refer to a vector and require additional parameters. They can be used
to filter values of a vector, cut them at a certain value or normalize
them (standard normalization or with reference to maximum of first iteration). </p>
<p><pre class = "codeblock">VAR_OPER = NROOT</pre></p>
<p><pre class = "codeblock">VAR_OPER = NPOWER</pre></p>
<p>allow to calculate the nth root or power of a single value.</p>



</div>

</div>

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