<?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 = "The objective function describes the optimization target. In general, one scalar value (sometimes combined from other scalars) is to be maximized or minimized."/><meta name = "description" content = "The objective function describes the optimization target. In general, one scalar value (sometimes combined from other scalars) is to be maximized or minimized."/><meta name = "DC.relation" scheme = "URI" content = "tso-m-usr-terms-objfunc-sb.htm#tso-m-usr-terms-objfunc-sb"/><meta name = "DC.relation" scheme = "URI" content = "tso-m-usr-terms-dresps-sb.htm#tso-m-usr-terms-dresps-sb"/><meta name = "DC.relation" scheme = "URI" content = "../TsoCmdMap/tso-r-cmd-objFunc.htm#tso-r-cmd-objFunc"/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-usr-shape-objFunc-ctrl"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Objective Function for Controller-Based Shape Optimization</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-shape-objFunc-ctrl">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Objective Function for Controller-Based Shape Optimization</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 = "header"><p class = "abstract">
<span class = "shortdesc">The objective function describes the optimization target.
In general, one scalar value (sometimes combined from other scalars)
is to be maximized or minimized.</span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-c-usr-shape-objFunc-ctrl__tso-c-usr-shape-objFun-ov" id = "toc_rg" title = "">Overview</a></li><li><a href = "#tso-c-usr-shape-objFunc-ctrl__tso-c-usr-shape-objFun-refStress" id = "toc_rg" title = "">Reference Stress</a></li><li><a href = "#tso-c-usr-shape-objFunc-ctrl__tso-c-usr-shape-objFun-terms" id = "toc_rg" title = "">Objective Function Terms</a></li><li><a href = "#tso-c-usr-shape-objFunc-ctrl__tso-c-user-ShapeConOpt-ObjFun-MinMax" id = "toc_rg" title = "">Differences in Objective Target Formulation</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 = "The objective function defines the values to be maximized or minimized during optimization. This function might depend on analysis results, geometric values or combinations of those." href = "tso-m-usr-terms-objfunc-sb.htm#tso-m-usr-terms-objfunc-sb">Objective Function</a></td></tr><tr><td><a title = "Most design responses are only available for certain analysis types. Others are independent of the analysis type because they are directly linked to the geometry of the FE-model. Each design response represents one scalar value which can be extracted from the model information (like the volume) or from the FE-results." href = "tso-m-usr-terms-dresps-sb.htm#tso-m-usr-terms-dresps-sb">Design Responses</a></td></tr></table><table class = "DocTopicsInOtherGuides" id = "table14"><tr><td height = "8px"/></tr><tr><td class = "TopicsTitleNormal">In Other Guides</td></tr><tr><td><a title = "Defines the objective function of the optimization." href = "../TsoCmdMap/tso-r-cmd-objFunc.htm#tso-r-cmd-objFunc">OBJ_FUNC</a></td></tr></table></td></tr></table>




<div class = "body conbody">
<div class = "section" id = "tso-c-usr-shape-objFunc-ctrl__tso-c-usr-shape-objFun-ov"><h2 class = "title sectiontitle">Overview</h2>

<p>
The objective function is the function, which value can be maximized
or minimized during the optimization. This function depends on the
results of the FE analysis combined into design responses (<code class = "ph codeph">DRESP</code>).
</p>
<p>
<span class = "ph">Tosca Structure.shape</span>
works with a <code class = "ph codeph">CONTROLLER</code>-based algorithm that homogenizes the
stresses with respect to a reference value. For simple optimizations this reference value
can be ignored - <span class = "ph">Tosca Structure.shape</span>
will automatically generate a reference value that will be adequate for most cases.
</p>
</div>


<div class = "section" id = "tso-c-usr-shape-objFunc-ctrl__tso-c-usr-shape-objFun-refStress"><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">Reference Stress</h2>

<p>
You might want to define a reference value yourself. In this case, you need to understand how
<span class = "ph">Tosca Structure.shape</span> works.
The <code class = "ph codeph">CONTROLLER</code>-based algorithm is driven by following redesign rule:
</p>
<ul class = "ul">
<li class = "li">Design nodes with stress above the reference value are moved outwards (growth). </li>
<li class = "li">Design nodes with stress below the reference value are moved inwards (shrinkage). </li>
</ul>
<p>This produces components with homogenized stress in the design area.</p>
<p>
So, if you choose a high reference value most design nodes will shrink to achieve this value. A
low reference value has the opposite effect. With some practice, a good choice of reference
value can be estimated giving the designer an optimal control over the shape
optimization.
</p>
<p>
You can also choose the reference value to be a variable (for example, dependent on a design response).
This has a special use for the design of relief notches where the reference value is chosen
outside the design nodes area. This causes the design nodes to shrink until they have the
same stress value as the reference value. This technique can only be done if the design area
is relatively close to the area where the reference value is. Otherwise, you will not get
the stress dampening effect of a relief notch.
</p>
<p>Note:</p>
<ul class = "ul">
<li class = "li">
A reference value is NOT the same as a CONSTRAINT. For most real structures,
the maximum stress of a converged shape optimization will be some percent
larger than the given or the automatically calculated reference stress.
</li>
<li class = "li">
Some structures and/or loading situations are not well suited for
the CONTROLLER-based algorithm. You must have the correlation between
growth in design nodes also minimizes the stresses.
<ul class = "ul">
<li class = "li">
One example is a cantilever beam with a prescribed
displacement at its free end. Due to the high stresses at the supports, the beam
becomes thicker. Because of the prescribed displacement,  the stresses are higher in
the next iteration. The homogenization works, but the stresses increase because the
beam stiffness increases as well.
</li>
<li class = "li">
Another example is shape design in contact area: In
this case, we know that the design rule must be the opposite the normal design rule
because growth will cause even greater contact stresses. This can be turned around by
using the optimization setting SCALE and set it to a negative value. Now, the shape
optimization will shrink by high contact stresses and thus homogenize these to achieve
a homogeneous contact.
</li>
</ul>
</li>
</ul>
</div>


<div class = "section" id = "tso-c-usr-shape-objFunc-ctrl__tso-c-usr-shape-objFun-terms"><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">Objective Function Terms</h2>

<p>
<span class = "ph">Tosca Structure.shape</span>
allows optimization on different stress hypotheses, strain formulations, and damage results. The most used equivalent stress is von Mises (<code class = "ph codeph">SIG_MISES</code>).
</p>
<table class = "table" id = "tso-c-usr-shape-objFunc-ctrl__ae364071"><caption/><colgroup><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p>Solver-specific results</p></td>
<td class = "entry"><p>Description</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>ABQ_ND_PEEQ **</p></td>
<td class = "entry"><p><span class = "ph">Abaqus</span> PEEQ nodal value</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>Damage results</p></td>
<td class = "entry"><p>Description</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>DAMAGE</p><p>DAMAGE_LC</p></td>
<td class = "entry"><p>Damage value from durability analysis</p>
                      <p>Damage value from durability analysis with
                      <span class = "ph">load case</span> information (must use ONF 601)</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>Eigenfrequency results</p></td>
<td class = "entry"><p>Description</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>DYN_FREQ</p>
                      <p>DYN_FREQ_KREISSEL</p></td>
<td class = "entry"><p>Eigenfrequency from modal analysis.</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>Stress hypotheses</p></td>
<td class = "entry"><p>Description</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>SIG_1</p>
                      <p>SIG_2</p>
                      <p>SIG_3</p></td>
<td class = "entry"><p>Maximum principal stress</p>
                      <p>2nd. principal stress</p>
                      <p>Minimum principal stress</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>SIG_11</p>
                      <p>SIG_22</p>
                      <p>SIG_33</p>
                      <p>SIG_12</p>
                      <p>SIG_23</p>
                      <p>SIG_13</p></td>
<td class = "entry"><p>Components of stress tensor</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>SIG_ABS_123</p></td>
<td class = "entry"><p>Maximum of the absolute value of the principal stresses</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>SIG_ABS_3</p></td>
<td class = "entry"><p>Absolute value of the minimum principal stress</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>SIG_BELTRAMI</p>
                      <p>SIG_DRUCKER_PRAGER</p>
                      <p>SIG_KUHN</p>
                      <p>SIG_MARIOTTE</p>
                      <p>SIG_MISES</p>
                      <p>SIG_SANDEL</p>
                      <p>SIG_SAUTER</p>
                      <p>SIG_TRESCA</p>
                      <p>SIG_CONTACT_PRESSURE*</p></td>
<td class = "entry"><p>Beltrami stress hypothesis</p>
                      <p>Drucker-Prager stress hypothesis</p>
                      <p>Kuhn stress hypothesis</p>
                      <p>Mariotte stress hypothesis</p>
                      <p>von Mises stress hypothesis</p>
                      <p>Sandel stress hypothesis</p>
                      <p>Sauter stress hypothesis</p>
                      <p>Tresca stress hypothesis</p>
                      <p>Contact stress pressure</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>SIG_CONTACT_SHEAR *</p>
                      <p>SIG_CONTACT_SHEAR_X *</p>
                      <p>SIG_CONTACT_SHEAR_Y *</p>
                      <p>SIG_CONTACT_TOTAL *</p></td>
<td class = "entry"><p>Total shear contact stress</p>
                      <p>Shear X Contact stress</p>
                      <p>Shear Y Contact stress</p>
                      <p>Total Contact stress</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>Strain formulations</p></td>
<td class = "entry"><p>Description</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>STRAIN_ELASTIC*</p>
                      <p>STRAIN_PLASTIC*</p>
                      <p>STRAIN_TOTAL*</p>
                      <p>STRAIN_ENERGY</p>
                      <p>STRAIN_ENERGY_DENS</p></td>
<td class = "entry"><p>Elastic Strain</p>
                      <p>Plastic Strain</p>
                      <p>Total Strain (elastic + plastic)</p>
                      <p>Strain energy</p>
                      <p>Strain energy density</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>Analysis-independent results</p></td>
<td class = "entry"><p>Description</p></td>
</tr>
<tr class = "row">
<td class = "entry"><p>VOLUME</p>
                      <p>WEIGHT</p></td>
<td class = "entry"><p>Volume design response</p>
                      <p>Weight design response</p></td>
</tr>
<tr class = "row">
<td class = "entry" colspan = "2"><p>* The marked design responses are supported only by the <span class = "ph">Abaqus</span>
                                       and <span class = "ph">ANSYS®</span> interface and only for nonlinear analysis.</p>
                                    <p>** ABQ_ND_PEEQ is the scalar value that <span class = "ph">Abaqus</span>
                                       calculates as PEEQ, which is NOT the same as STRAIN_PLASTIC. ABQ_ND_PEEQ is only available in <span class = "ph">Abaqus</span>.</p></td>
</tr>
</tbody></table>

<table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent">
<ul class = "ul">
<li class = "li">
For controller-based shape optimization the reference value (<span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><msubsup class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">φ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">r</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">f</mi></mrow></msubsup></mrow></math></span>) has a special meaning.
The reference value is the value around which <span class = "ph">Tosca Structure</span>
homogenizes the stress around. Thus, a value <span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><msubsup class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">φ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">r</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">f</mi></mrow></msubsup><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">0</mn></mrow></math></span> usually does not make
sense and <span class = "ph">Tosca Structure</span>
calculates a default reference value if REFERENCE (<span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><msubsup class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">φ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">r</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">f</mi></mrow></msubsup></mrow></math></span>) is unset. The reference
calculated can be seen in <code class = "ph codeph">TOSCA.OUT</code>:<br/><img border = "1" class = "image" id = "tso-c-usr-shape-objFunc-ctrl__image_64EC770B1D114047B091D7D1AE4993C7" src = "../TsoUserImages/ae04d2d8.jpg" width = "400"/><br/>
</li>
<li class = "li">Also, for controller-based shape optimization the user must either set all REFERENCE-values or none at all (automatic reference value calculation).</li>
</ul>
</span></td></tr></table>

</div>


<div class = "section" id = "tso-c-usr-shape-objFunc-ctrl__tso-c-user-ShapeConOpt-ObjFun-MinMax"><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">Differences in Objective Target Formulation</h2>

The objective formulation for the optimization varies depending on the objective target such as minimization/ maximization or a Min-Max/ Max-Min definition.
For further details and formulas, see <a class = "xref" href = "tso-c-usr-terms-minMaxObjFunc.htm" title = "This section deals with the minimization or maximization of the objective function.">Minimization or Maximization of an Objective Function</a> and
<a class = "xref" href = "tso-c-usr-terms-multidiscObjFunc.htm" title = "This section deals with multidisciplinary objective functions.">Multidisciplinary Objectives (Minmax and Maxmin Formulations)</a>
</div>


</div>

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