<?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 = "This section describes the theory of von Mises stress in topology optimization."/><meta name = "description" content = "This section describes the theory of von Mises stress in topology optimization."/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-usr-terms-topoStressOvw"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Overview of Stress in Topology 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-terms-topoStressOvw">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Overview of Stress in Topology Optimization</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 describes the theory of von Mises stress in topology optimization.</span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-anaType" id = "toc_rg" title = "">Analysis Types: Static Linear and Non-Linear (Contact) Analysis </a></li><li><a href = "#tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-calc" id = "toc_rg" title = "">Stress Calculation</a></li><li><a href = "#tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-objFunc" id = "toc_rg" title = "">Reference Stress for Objective Function</a></li><li><a href = "#tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-constr" id = "toc_rg" title = "">Constraint Value</a></li><li><a href = "#tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-interpol" id = "toc_rg" title = "">Stress Interpolation</a></li><li><a href = "#tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-elGroup" id = "toc_rg" title = "">Element Group</a></li><li><a href = "#tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-elemType" id = "toc_rg" title = ""> Supported Element Types </a></li><li><a href = "#tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-lc" id = "toc_rg" title = "">Load Cases</a></li></ul>
</p></td></tr></table></td></tr></table>




<div class = "body conbody">

<p><span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mtext class = "- topic/foreign ">SIG_TOPO_MISES</mtext><mo class = "- topic/foreign ">=</mo><mi class = "- topic/foreign ">max</mi><mo class = "- topic/foreign ">⁡</mo><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">|</mo><mfrac class = "- topic/foreign "><mrow class = "- topic/foreign "><msup class = "- topic/foreign "><mrow class = "- topic/foreign "><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 ">vMises</mtext></mrow></msub><mo class = "- topic/foreign ">)</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msup></mrow><mrow class = "- topic/foreign "><msup class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">(</mo><mi class = "- topic/foreign ">f</mi><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">(</mo><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><mo class = "- topic/foreign ">)</mo><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">σ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">y</mi></mrow></msub></mrow><mo class = "- topic/foreign ">)</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msup></mrow></mfrac><mo class = "- topic/foreign ">⋅</mo><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">σ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">y</mi></mrow></msub><mo class = "- topic/foreign ">|</mo></mrow></mrow></math></span></p>
<p>
The <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 ">v</mi><mi class = "- topic/foreign ">M</mi><mi class = "- topic/foreign ">i</mi><mi class = "- topic/foreign ">s</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">s</mi></mrow></msub></mrow></math></span> is the elemental centroidal
von Mises stress, <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 ">y</mi></mrow></msub></mrow></math></span> is the reference stress
and <span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">f</mi><mo class = "- topic/foreign ">(</mo><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><mo class = "- topic/foreign ">)</mo></mrow></math></span> is a factor for interpolating
the stresses of the elements having intermediate densities (given by
the topology optimization, see <a class = "xref" href = "#tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-interpol">Stress Interpolation</a>).
</p>
<p>Only von Mises stress can be applied in topology optimization.</p>
<div class = "section" id = "tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-anaType"><h2 class = "title sectiontitle">Analysis Types: Static Linear and Non-Linear (Contact) Analysis </h2>

<p>Geometrical and material nonlinearities in element group are not supported.</p>
<table class = "table" id = "tso-c-usr-terms-topoStressOvw__xx939537"><caption/><colgroup><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">(</mo><msup class = "- topic/foreign "><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">4</mn><mi class = "- topic/foreign ">π</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msup><msup class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">f</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msup><mi class = "- topic/foreign ">M</mi><mo class = "- topic/foreign ">−</mo><mi class = "- topic/foreign ">K</mi><mo class = "- topic/foreign ">)</mo></mrow><mi class = "- topic/foreign ">φ</mi><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">0</mn></mrow></math></span></td>
</tr>
</tbody></table>

<p>
For weighted centroidal von Mises stress for topology optimization,
the following table shows the allowed combinations between strategy
and the items <code class = "ph codeph">OBJ_FUNC</code> and <code class = "ph codeph">CONSTRAINT</code>
with C for controller and S for sensitivity-based optimization.
</p>
<table class = "table" id = "tso-c-usr-terms-topoStressOvw__xx939546"><caption/><colgroup><col/><col/><col/><col/><col/></colgroup><thead class = "thead">
<tr class = "row">
<th class = "entry" id = "tso-c-usr-terms-topoStressOvw__xx939546__entry__1"/>
<th class = "entry" id = "tso-c-usr-terms-topoStressOvw__xx939546__entry__2"><p>TOPO</p></th>
<th class = "entry" id = "tso-c-usr-terms-topoStressOvw__xx939546__entry__3"><p>SHAPE</p></th>
<th class = "entry" id = "tso-c-usr-terms-topoStressOvw__xx939546__entry__4"><p>BEAD</p></th>
<th class = "entry" id = "tso-c-usr-terms-topoStressOvw__xx939546__entry__5"><p>SIZING</p></th>
</tr>
</thead><tbody class = "tbody">
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-terms-topoStressOvw__xx939546__entry__1"><p>OBJ_FUNC</p></td>
<td class = "entry" headers = "tso-c-usr-terms-topoStressOvw__xx939546__entry__2"><p>S</p></td>
<td class = "entry" headers = "tso-c-usr-terms-topoStressOvw__xx939546__entry__3"/>
<td class = "entry" headers = "tso-c-usr-terms-topoStressOvw__xx939546__entry__4"/>
<td class = "entry" headers = "tso-c-usr-terms-topoStressOvw__xx939546__entry__5"/>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-c-usr-terms-topoStressOvw__xx939546__entry__1"><p>CONSTRAINT</p></td>
<td class = "entry" headers = "tso-c-usr-terms-topoStressOvw__xx939546__entry__2"><p>S</p></td>
<td class = "entry" headers = "tso-c-usr-terms-topoStressOvw__xx939546__entry__3"/>
<td class = "entry" headers = "tso-c-usr-terms-topoStressOvw__xx939546__entry__4"/>
<td class = "entry" headers = "tso-c-usr-terms-topoStressOvw__xx939546__entry__5"/>
</tr>
</tbody></table>
<div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent"><p>
Stress applied in topology optimization cannot directly be compared to the
von Mises stress given as output from the finite element solver. Only for solid elements (
<span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">ρ</mi><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">1</mn></mrow></math></span>)
the von Mises stresses given by <span class = "ph">Tosca Structure</span> stresses
is equal to the von Mises stresses as output from the FE-solver
(see <a class = "xref" href = "#tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-interpol">Stress Interpolation</a>).
</p></span></div>

</div>


<div class = "section" id = "tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-calc"><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">Stress Calculation</h2>

<p>
The von Mises stress is calculated in the elemental centroid for avoiding stress singularities
that might be present in the initial model or appear in the nonsmoothed topology optimized
structures. This is also shown in the following figure:
</p>

<table class = "table" id = "tso-c-usr-terms-topoStressOvw__xx940067"><caption/><colgroup><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><br/><img class = "image" id = "tso-c-usr-terms-topoStressOvw__image_039ED8BC2CCC4FB589AF5C77DE5967A4" src = "../TsoUserImages/terms_topoStressSing.png" width = "300"/><br/></td>
</tr>
</tbody></table>

</div>

<div class = "section" id = "tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-objFunc"><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 for Objective Function</h2>

<p>
The reference stress <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 ">r</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">f</mi></mrow></msub></mrow></math></span> is defined in the objective
function command or will be automatically calculated by <span class = "ph">Tosca Structure</span>
for the objective function.
</p>
<p>A reference stress for the objective function terms can be directly defined as</p>
<pre class = "codeblock">
<code class = "ph codeph">
OBJ_FUNC
  ID_NAME = OBJ_FUNCTION_ID
  DRESP   = DRESP_ID_1,&lt;weight_fact_1&gt;, &lt;ref_stress_1&gt;
  DRESP   = DRESP_ID_2,&lt;weight_fact_2&gt;, &lt;ref_stress_2&gt;
  ...
  TARGET  = MIN
END_
</code>
</pre>
<p>
where <code class = "ph codeph">&lt;reference stress 1&gt;</code> and <code class = "ph codeph">&lt;reference stress 2&gt;</code> correspond to
<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 ">r</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">f</mi></mrow></msub></mrow></math></span>.
The reference stress values should not be chosen too low as this might cause numerical singularities. This corresponds to
<table class = "table"><caption/><colgroup><col style = "width:100%"/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry">
<span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">min</mi><mo class = "- topic/foreign ">⁡</mo><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">{</mo><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">α</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">1</mn></mrow></msub><mi class = "- topic/foreign ">max</mi><mo class = "- topic/foreign ">⁡</mo><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">|</mo><mfrac class = "- topic/foreign "><mrow class = "- topic/foreign "><msup class = "- topic/foreign "><mrow class = "- topic/foreign "><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 ">vMises</mtext></mrow></msub><mo class = "- topic/foreign ">)</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msup></mrow><mrow class = "- topic/foreign "><msup class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">(</mo><mi class = "- topic/foreign ">f</mi><mo class = "- topic/foreign ">(</mo><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><mo class = "- topic/foreign ">)</mo><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">σ</mi></mrow><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mtext class = "- topic/foreign ">ref</mtext></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">1</mn></mrow></msub></mrow></msub><mo class = "- topic/foreign ">)</mo></mrow><mrow class = "- topic/foreign ">  <mn class = "- topic/foreign ">2</mn></mrow></msup></mrow></mfrac><mo class = "- topic/foreign ">|</mo></mrow><mo class = "- topic/foreign ">+</mo><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">α</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msub><mi class = "- topic/foreign ">max</mi><mo class = "- topic/foreign ">⁡</mo><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">|</mo><mfrac class = "- topic/foreign "><mrow class = "- topic/foreign "><msup class = "- topic/foreign "><mrow class = "- topic/foreign "><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 ">vMises</mtext></mrow></msub><mo class = "- topic/foreign ">)</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msup></mrow><mrow class = "- topic/foreign "><msup class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">(</mo><mi class = "- topic/foreign ">f</mi><mo class = "- topic/foreign ">(</mo><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><mo class = "- topic/foreign ">)</mo><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">σ</mi></mrow><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mtext class = "- topic/foreign ">ref</mtext></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msub></mrow></msub><mo class = "- topic/foreign ">)</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msup></mrow></mfrac><mo class = "- topic/foreign ">|</mo></mrow><mo class = "- topic/foreign ">}</mo></mrow></mrow></math>
</span>
</td>
</tr>
</tbody></table>
</p>
<p>
If the user does not define a reference stress in the objective function command, <span class = "ph">Tosca Structure</span>
automatically determines a reference stress that is generated in the initial optimization iteration and is written to <code class = "ph codeph">TOSCA.OUT</code>.
</p>
</div>


<div class = "section" id = "tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-constr"><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">Constraint Value</h2>

<p>
A limitation on the stresses can be formed for a <code class = "ph codeph">DRESP</code>
of type <code class = "ph codeph">SIG_TOPO_MISES</code> used in a constraint definition
with the <code class = "ph codeph">LE_VALUE</code> parameter:
</p>
<pre class = "codeblock">
<code class = "ph codeph">
CONSTRAINT
  ID_NAME   = STRESS_CONSTRAINT
  DRESP     = DRESP_STRESS_ID
  MAGNITUDE = ABS
  LE_VALUE  = &lt;stress_constraint&gt;
END_
</code>
</pre>
<p>
This corresponds to restricting the weighted centroidal von Mises stress
by the constraint value <code class = "ph codeph">stress_constraint</code>=<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 ">c</mi><mi class = "- topic/foreign ">o</mi><mi class = "- topic/foreign ">n</mi></mrow></msub></mrow></math></span>:
<table class = "table"><caption/><colgroup><col style = "width:100%"/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry">
<span class = "ph inlineequation">
<math class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">max</mi><mo class = "- topic/foreign ">⁡</mo><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">|</mo><mfrac class = "- topic/foreign "><mrow class = "- topic/foreign "><msup class = "- topic/foreign "><mrow class = "- topic/foreign "><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 ">vMises</mtext></mrow></msub><mo class = "- topic/foreign ">)</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msup></mrow><mrow class = "- topic/foreign "><msup class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">(</mo><mi class = "- topic/foreign ">f</mi><mo class = "- topic/foreign ">(</mo><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><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 ">con</mtext></mrow></msub><mo class = "- topic/foreign ">)</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msup></mrow></mfrac><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 ">con</mtext></mrow></msub><mo class = "- topic/foreign ">|</mo></mrow><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 ">con</mtext></mrow></msub></mrow></math>
</span>
</td>
</tr>
</tbody></table>
</p>

<p><table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent">
<ol class = "ol">
<li class = "li">
<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 ">ref</mtext></mrow></msub></mrow></math></span>
is equal to the reference value when the <code class = "ph codeph">DRESP</code> defined by <code class = "ph codeph">SIG_TOPO_MISES</code> is applied in the objective function. The reference
stress
<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 ">ref</mtext></mrow></msub></mrow></math></span>
can be changed by modifying the reference value in the objective.
</li>
<li class = "li">
<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 ">con</mtext></mrow></msub></mrow></math></span>
is equal to <code class = "ph codeph">LE_VALUE</code> (or <code class = "ph codeph">GE_VALUE</code>) when the <code class = "ph codeph">DRESP</code> defined by <code class = "ph codeph">SIG_TOPO_MISES</code> is applied in a constraint.
</li>
<li class = "li">
A <code class = "ph codeph">DRESP</code> being <code class = "ph codeph">TYPE = SIG_TOPO_MISES</code> can only be applied once in the objective function or as constraint.</li>
<li class = "li">
A reference stress or constrained stress which is too low might cause numerical singularities.
</li>
</ol>
</span></td></tr></table>
</p>
</div>


<div class = "section" id = "tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-interpol"><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">Stress Interpolation</h2>

<p>
The factor <span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">f</mi><mo class = "- topic/foreign ">(</mo><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><mo class = "- topic/foreign ">)</mo></mrow></math></span> describes a function
for the interpolation of stresses depending of the density <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></mrow></msub></mrow></math></span> of the element i.
</p>
<p>
The interpolation is needed because during the topology optimization
the densities of the elements are modified and can have a minimum value
close to zero. Stress values calculated by the solver for transition
or soft elements (that is, elements with low density) have no real physical
meaning for the stresses and must be weighted by a factor to allow for
a successful optimization convergence.
</p>
<p>
The following figure shows the densities of elements during the optimization:
On the left, the initial equal density of all elements can be seen, at
the top there are the modified densities during the topology optimization
iterations and on the right the final density values for the optimized model.
</p>
<table class = "table" id = "tso-c-usr-terms-topoStressOvw__xx940386"><caption/><colgroup><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><br/><img class = "image" id = "tso-c-usr-terms-topoStressOvw__image_CAE12CF91BFC48FBA4AAE82116843F17" src = "../TsoUserImages/terms_topoStressDensity.png" width = "300"/><br/></td>
</tr>
</tbody></table>

<p>
The stress interpolation for intermediate densities is similar to
the stiffness material interpolation and can be illustrated as
</p>
<table class = "table" id = "tso-c-usr-terms-topoStressOvw__xx758704"><caption/><colgroup><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><br/><img class = "image" id = "tso-c-usr-terms-topoStressOvw__image_360AA32ADB764BFB9B18643207DCFB83" src = "../TsoUserImages/terms_Emodul_diagram.png" width = "300"/><br/></td>
</tr>
</tbody></table>

<p>
Thus, the stress measure <code class = "ph codeph">SIG_TOPO_MISES</code> applied in
topology optimization cannot be directly compared to the von Mises stresses
seen as output from the finite element solver. Only for solid elements
(<span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">ρ</mi><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">1</mn></mrow></math></span>) and with an active stress constraint the <code class = "ph codeph">SIG_TOPO_MISES</code>
corresponds to the von Mises stresses calculated by the FE-solver.
</p>
<table class = "table" id = "tso-c-usr-terms-topoStressOvw__xx758830"><caption/><colgroup><col/><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p>Solid elements:</p></td>
<td class = "entry"><span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">f</mi><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">(</mo><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><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">1</mn><mo class = "- topic/foreign ">)</mo></mrow><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">1</mn><mo class = "- topic/foreign ">⁢</mo><mo class = "- topic/foreign ">⇒</mo><mfrac class = "- topic/foreign "><mrow class = "- topic/foreign "><msup class = "- topic/foreign "><mrow class = "- topic/foreign "><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 ">vMises</mtext></mrow></msub><mo class = "- topic/foreign ">)</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msup></mrow><mrow class = "- topic/foreign "><msup class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">(</mo><mi class = "- topic/foreign ">f</mi><mo class = "- topic/foreign ">(</mo><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><mo class = "- topic/foreign ">)</mo><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">σ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">y</mi></mrow></msub><mo class = "- topic/foreign ">)</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msup></mrow></mfrac><mo class = "- topic/foreign ">=</mo><mfrac class = "- topic/foreign "><mrow class = "- topic/foreign "><msup 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 ">vMises</mtext></mrow></msub></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msup></mrow><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 ">y</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msubsup></mrow></mfrac></mrow></math></span></td>
</tr>
<tr class = "row">
<td class = "entry"><p>Von Mises stress =  constraint stress:</p></td>
<td class = "entry"><span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mfrac class = "- topic/foreign "><mrow class = "- topic/foreign "><msup 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 ">vMises</mtext></mrow></msub></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msup></mrow><mrow class = "- topic/foreign "><msubsup class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">σ</mi></mrow><mrow class = "- topic/foreign "><mtext class = "- topic/foreign ">con</mtext></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msubsup></mrow></mfrac><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">1</mn><mo class = "- topic/foreign ">⇒</mo><mtext class = "- topic/foreign ">DRESP</mtext><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 ">vMises</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 ">con</mtext></mrow></msub></mrow></math></span></td>
</tr>
</tbody></table>

</div>

<div class = "section" id = "tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-elGroup"><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">Element Group</h2>

<p>The element group for the stress measure can consist of both design and nondesign elements.</p>
<p>
Frequently, the initial model for the optimization contains nonphysical modeling around loaded
nodes and boundary conditions, respectively. The user should avoid including stresses from
stress singularities caused by external loaded nodes or by boundary conditions, as shown in
the following figure. These singularities are eliminated by excluding these elements from
the group used for calculating the <code class = "ph codeph">DRESP</code>.
</p>
<table class = "table" id = "tso-c-usr-terms-topoStressOvw__xx940856"><caption/><colgroup><col/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><br/><img class = "image" id = "tso-c-usr-terms-topoStressOvw__image_6469DFF4857C4FBA855637BD9B5B90DA" src = "../TsoUserImages/terms_stress_singularities_load_bound.png" width = "300"/><br/></td>
</tr>
</tbody></table>

</div>

<div class = "section" id = "tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-elemType"><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"> Supported Element Types </h2>

<p>Supported element types are 3D standard continuum elements:</p>
<ul class = "ul">
<li class = "li">Hexahedral 8 and 20 node elements</li>
<li class = "li">Tetrahedral 4 (not recommended) and 10 node elements</li>
<li class = "li">Pentahedron 6 and 15 nodes elements</li>
</ul>
<p>
All linear isotropic materials are supported for the elements in the element
group. Anisotropic and nonlinear materials both inside and outside the
design domain (<code class = "ph codeph">DV_TOPO</code>) are only supported if the stresses
of these materials are not a part of the element group applied for
calculation of the <code class = "ph codeph">DRESP</code> of <code class = "ph codeph">TYPE = SIG_TOPO_MISES</code>.
</p>
<p><div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent">
Pyramidal 5 and 13 node elements as well as shell elements are not
supported.
</span></div>
</p>
<p><table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent">
Shear and volume locking in the finite element yield wrong results
not only in the finite element analysis but can also cause optimization
convergence problems when such stress responses are included in the optimization
formulation. Especially, the linear 4 node tetrahedral elements should
be avoided. Instead it is recommended to use the quadratic10 node tetrahedral
element or the linear 8 node hexahedral element.
</span></td></tr></table>
</p>
</div>


<div class = "section" id = "tso-c-usr-terms-topoStressOvw__tso-c-usr-terms-topoStressOvw-lc"><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">Load Cases</h2>

<p>Several <span class = "ph">load cases</span> can be defined for the stress measure.</p>
<p>Static linear analysis is supported. For static nonlinear analysis, only contact is supported.</p>
<p>Thus, geometric nonlinearities (like large deformation) and nonlinear materials are not supported.</p>
</div>


</div>

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