<?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 = "Additional remarks concerning sensitivity-based optimizations with Abaqus are summarized in this section."/><meta name = "description" content = "Additional remarks concerning sensitivity-based optimizations with Abaqus are summarized in this section."/><meta name = "DC.relation" scheme = "URI" content = "../TsoCmdMap/tso-r-cmd-dresp-optStrat.htm"/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-usr-solver-abaqus-remsensbasedshape"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Remarks for Sensitivity-Based Optimizations</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-solver-abaqus-remsensbasedshape">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Remarks for Sensitivity-Based Optimizations</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">Additional remarks concerning sensitivity-based optimizations with <span class = "ph">Abaqus</span> are summarized in this section. </span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-abaqus-sensitivity" id = "toc_rg" title = "">Using Design Response Values and Sensitivities Calculated by <span class = "ph">Abaqus</span></a></li><li><a href = "#tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-accel" id = "toc_rg" title = "">Prescribed Accelerations for Sensitivity-Based Optimization Using <span class = "ph">Tosca</span> Response Values and Sensitivities</a></li><li><a href = "#tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-mp" id = "toc_rg" title = "">Several CPU-Processors in Combination with Sensitivity-Based Topology Optimization</a></li><li><a href = "#tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-temperature" id = "toc_rg" title = "">Temperature Loading</a></li><li><a href = "#tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-CyclicSymmetryModel" id = "toc_rg" title = "">Cyclic Symmetry Model</a></li><li><a href = "#tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-ConsistentValues" id = "toc_rg" title = "">Showing Consistent Values for Stress and PEMAG Design Responses</a></li><li><a href = "#tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-grpoper" id = "toc_rg" title = "">Group Operator Evaluation with <span class = "ph">Abaqus</span>
</a></li><li><a href = "#tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-inertia" id = "toc_rg" title = "">Inertia Relief</a></li></ul>
</p></td></tr></table></td><td class = "DocHeader2"><table class = "DocTopicsSeeAlso" id = "table13"><tr><td class = "TopicsTitle">See Also</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 = "The table lists the properties of each variable type and which optimization strategy could be applied to which variable." href = "../TsoCmdMap/tso-r-cmd-dresp-optStrat.htm">Allowed Optimization Strategy for Design Responses</a></td></tr></table></td></tr></table>




<div class = "body conbody">
<div class = "section" id = "tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-abaqus-sensitivity"><h2 class = "title sectiontitle">Using Design Response Values and Sensitivities Calculated by <span class = "ph">Abaqus</span></h2>

<p>In the context of topology, sizing, shape, and bead optimization, design response values, and the
   corresponding sensitivities can be calculated directly by the <span class = "ph">Abaqus</span>
   solver. This option is activated automatically by the optimization system in
   cases where it is applicable. It is possible to change this behavior by setting the
   following option, but it is not recommended:</p>
<pre class = "codeblock">
<code class = "ph codeph">
OPTIONS
 SENS_CALC_MODE = AUTOMATIC (Default) | SOLVER | TOSCA | HYBRID
END_
</code>
</pre>
<p>If the above option is set to <code class = "ph codeph">TOSCA</code>, the design response values and the
   corresponding sensitivities will be calculated by the optimization system. Setting
   this option to <code class = "ph codeph">SOLVER</code> enforces the system to use solver
   sensitivities and design response values. If <code class = "ph codeph">HYBRID</code> is chosen, the
   design response values and the corresponding sensitivities will be calculated by the
   solver if they are supported and by the optimization system for all other cases.
   Setting this option to <code class = "ph codeph">AUTOMATIC</code> lets the optimization system
   choose the right mode for calculating the design response and sensitivity values. To
   be able to use older versions of <span class = "ph">Abaqus</span> 
   (older than 3DEXPERIENCE2017x FP1721), set <code class = "ph codeph">SENS_CALC_MODE = TOSCA</code>.</p>
<p> Traditionally, the solver is called in each optimization iteration and is given the modified
    input file to calculate the necessary results for the optimization system. Each time the licenses
    are checked out, the preprocessor is run, a finite element analysis is performed, the results
    are written to the database, and the solver is shut down. This means that there is a sequence of
    solver calls. Alternatively, for topology optimization, it is possible to call the solver just
    once at the beginning of the optimization procedure, and instead of shutting it down each
    iteration, a number of distribution tables are updated when the design is changed and then the
    solver is closed at the end of the optimization procedure. This means that for all the
    optimization iterations the same (simultaneous) solver session is used. Running the solver in
    simultaneous mode can increase the run time performance. The solver run mode is chosen
    automatically by the optimization system. This behavior can be changed by setting the following
    option, but it is not recommended:</p>
<pre class = "codeblock">
<code class = "ph codeph">
OPTIONS
 SOLVER_RUN_MODE = AUTOMATIC (Default) | SEQUENTIAL | SIMULTANEOUS
END_
</code>
</pre>
<p>The advantages for topology, sizing, shape, and bead optimization using solver design response
    values and the corresponding sensitivities are:</p>
<ul class = "ul">
<li class = "li">For stress design responses in topology optimization (<code class = "ph codeph">TYPE = SIG_TOPO_MISES</code> or its equivalent <code class = "ph codeph">TYPE = SIG_SENS_MISES</code> ), all structural element types are supported.</li>
<li class = "li">Material, geometric, and contact nonlinearities are supported.</li>
<li class = "li">Stress design responses for sizing are available (<code class = "ph codeph">TYPE=SIG_SIZING_MISES</code> or its equivalent <code class = "ph codeph">TYPE=SIG_SENS_MISES</code> ).</li>
<li class = "li">For reaction and internal force design responses, all coupling types 
(for example,  <code class = "ph codeph">*mpc</code>, <code class = "ph codeph">*equation</code> and <code class = "ph codeph">*kinematic</code> in <code class = "ph codeph">*coupling</code> ) and all element types are supported.</li>
<li class = "li">All prescribed acceleration types are supported.</li>
<li class = "li">Magnitude-design responses are supported for 2D models.</li>
<li class = "li">The addition of a primal solution from the general step to the primal solution of the following step perturbation (with or without <span class = "ph">load case</span>) for the design responses is supported.</li>
<li class = "li">The LCP solver for efficient optimization of small-sliding frictionless contact models is supported.</li>
<li class = "li">The option <code class = "ph codeph">fixed</code> in command <code class = "ph codeph">*boundary</code> is supported.</li>
<li class = "li">For <code class = "ph codeph">*plasticity</code> materials, better accuracy in sensitivity analysis can be achieved.</li>
<li class = "li">Distributed load type label <code class = "ph codeph">CENT</code> (centrifugal loads) is supported.</li>
<li class = "li">Distributed load type label <code class = "ph codeph">CORIO</code> (Coriolis force loading) is supported.</li>
<li class = "li">Distributed load type label <code class = "ph codeph">GRAV</code> (gravity loading) is supported for shape optimization.</li>
<li class = "li">To define operator design responses (<code class = "ph codeph">TYPE = OPER</code>), responses of SINGLE nodes from different <span class = "ph">load cases</span> can be used. </li>
</ul>
<p>The current limitations are:</p>
<ul class = "ul">
<li class = "li">Mode tracking can be performed only when the number of eigenfrequencies calculated by the solver is not changing between the optimization iterations. 
The number of requested eigenfrequencies should be specified by the user in the solver input file. The request of  the eigenfrequencies range is not supported.</li>
<li class = "li">If the <code class = "ph codeph">*model change</code> command is used in the solver input file,  you should set the option <code class = "ph codeph">ABQ_SENS_ABSENT_SET_ZERO=YES</code>.</li>
<li class = "li">Currently quantities on secondary nodes of MPCs cannot be used to define design responses. The corresponding sensitivity will be just zero.</li>
<li class = "li">In the context of topology optimization, using solver design response values and the
                    corresponding sensitivities and activating the <code class = "ph codeph">SOFT_DELETE</code>
                    option the deleted elements are not removed from the modified solver input file.
                    Their stiffness and mass scaling factors are just set to zero in the
                    corresponding distribution tables. The mass and stiffness contributions of these
                    elements are neglected by the solver.</li>
</ul>
<p>The differences for topology optimization are:</p>
<ul class = "ul">
<li class = "li">Von Mises stress constraints and the corresponding sensitivities are calculated taking the
                    following relation into account: <p><span class = "ph inlineequation">
                            <math class = "- topic/foreign ">
                                <mrow class = "- topic/foreign ">
                                    <munder class = "- topic/foreign ">
                                        <mrow class = "- topic/foreign ">
                                            <mi class = "- topic/foreign ">M</mi>
                                            <mi class = "- topic/foreign ">a</mi>
                                            <mi class = "- topic/foreign ">x</mi>
                                        </mrow>
                                        <mrow class = "- topic/foreign ">
                                            <mi class = "- topic/foreign ">e</mi>
                                            <mi class = "- topic/foreign ">l</mi>
                                            <mi class = "- topic/foreign ">e</mi>
                                            <mi class = "- topic/foreign ">m</mi>
                                        </mrow>
                                    </munder>
                                    <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 ">v</mi>
                                                  <mi class = "- topic/foreign ">o</mi>
                                                  <mi class = "- topic/foreign ">n</mi>
                                                </mrow>
                                            </msub>
                                        </mrow>
                                        <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>
                                    </mfrac>
                                    <mo class = "- topic/foreign ">|</mo>
                                    <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 ">r</mi>
                                            <mi class = "- topic/foreign ">e</mi>
                                            <mi class = "- topic/foreign ">f</mi>
                                        </mrow>
                                    </msub>
                                </mrow>
                            </math>
                        </span></p> The reference stress value on the right side of this
                    equation is the constraint value. On the left side, the von Mises stress is
                    scaled by some interpolation function depending on the current values of pseudo
                    density.</li>
<li class = "li">Von Mises stress terms in objective function and the corresponding sensitivities are
calculated taking the following relation into account: 
<p><span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">O</mi><mi class = "- topic/foreign ">B</mi><mi class = "- topic/foreign ">J</mi><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><munder class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">M</mi><mi class = "- topic/foreign ">a</mi><mi class = "- topic/foreign ">x</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">l</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">m</mi></mrow></munder><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 "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">v</mi><mi class = "- topic/foreign ">o</mi><mi class = "- topic/foreign ">n</mi><mo class = "- topic/foreign ">,</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">1</mn></mrow></msub></mrow></msub></mrow><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><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 "><mi class = "- topic/foreign ">r</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">f</mi><mo class = "- topic/foreign ">,</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">1</mn></mrow></msub></mrow></msub></mrow></mfrac><mo class = "- topic/foreign ">|</mo><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><munder class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">M</mi><mi class = "- topic/foreign ">a</mi><mi class = "- topic/foreign ">x</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">l</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">m</mi></mrow></munder><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 "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">v</mi><mi class = "- topic/foreign ">o</mi><mi class = "- topic/foreign ">n</mi><mo class = "- topic/foreign ">,</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msub></mrow></msub></mrow><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><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 "><mi class = "- topic/foreign ">r</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">f</mi><mo class = "- topic/foreign ">,</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msub></mrow></msub></mrow></mfrac><mo class = "- topic/foreign ">|</mo><mo class = "- topic/foreign ">+</mo><mn class = "- topic/foreign ">...</mn><mo class = "- topic/foreign ">⁢</mo><mtext class = "- topic/foreign "> </mtext><mtext class = "- topic/foreign "> </mtext><mtext class = "- topic/foreign "> </mtext><mo class = "- topic/foreign ">=</mo><mtext class = "- topic/foreign "> </mtext><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><mfrac class = "- topic/foreign "><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">D</mi><mi class = "- topic/foreign ">R</mi><mi class = "- topic/foreign ">E</mi><mi class = "- topic/foreign ">S</mi><mi class = "- topic/foreign ">P</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">1</mn></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 "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">r</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">f</mi><mo class = "- topic/foreign ">,</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">1</mn></mrow></msub></mrow></msub></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 "><mn class = "- topic/foreign ">2</mn></mrow></msub><mfrac class = "- topic/foreign "><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">D</mi><mi class = "- topic/foreign ">R</mi><mi class = "- topic/foreign ">E</mi><mi class = "- topic/foreign ">S</mi><mi class = "- topic/foreign ">P</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></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 "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">r</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">f</mi><mo class = "- topic/foreign ">,</mo></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msub></mrow></msub></mrow></mfrac><mo class = "- topic/foreign ">+</mo><mn class = "- topic/foreign ">...</mn></mrow></math></span></p> 
In cases where the user is not giving reference values for stress objective terms, the
initial design response values (from iteration zero) are used: 
<p><span class = "ph inlineequation"><math class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">O</mi><mi class = "- topic/foreign ">B</mi><mi class = "- topic/foreign ">J</mi><mo class = "- topic/foreign ">=</mo><mtext class = "- topic/foreign "> </mtext><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><mfrac class = "- topic/foreign "><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">D</mi><mi class = "- topic/foreign ">R</mi><mi class = "- topic/foreign ">E</mi><mi class = "- topic/foreign ">S</mi><mi class = "- topic/foreign ">P</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">1</mn></mrow></msub></mrow><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">D</mi><mi class = "- topic/foreign ">R</mi><mi class = "- topic/foreign ">E</mi><mi class = "- topic/foreign ">S</mi><mi class = "- topic/foreign ">P</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">1</mn><mo class = "- topic/foreign ">,</mo><mi class = "- topic/foreign ">i</mi><mi class = "- topic/foreign ">t</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">r</mi><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">0</mn></mrow></msub></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 "><mn class = "- topic/foreign ">2</mn></mrow></msub><mfrac class = "- topic/foreign "><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">D</mi><mi class = "- topic/foreign ">R</mi><mi class = "- topic/foreign ">E</mi><mi class = "- topic/foreign ">S</mi><mi class = "- topic/foreign ">P</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn></mrow></msub></mrow><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">D</mi><mi class = "- topic/foreign ">R</mi><mi class = "- topic/foreign ">E</mi><mi class = "- topic/foreign ">S</mi><mi class = "- topic/foreign ">P</mi></mrow><mrow class = "- topic/foreign "><mn class = "- topic/foreign ">2</mn><mo class = "- topic/foreign ">,</mo><mi class = "- topic/foreign ">i</mi><mi class = "- topic/foreign ">t</mi><mi class = "- topic/foreign ">e</mi><mi class = "- topic/foreign ">r</mi><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">0</mn></mrow></msub></mrow></mfrac><mo class = "- topic/foreign ">+</mo><mn class = "- topic/foreign ">...</mn></mrow></math></span></p> 
It is always recommended that you provide reference for the stress objective terms.
Otherwise, the objective values reported by <span class = "ph">Tosca</span> will be difficult to interpret or will
be not interpretable at all. </li>
</ul>
<table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent">
                <span class = "ph">Abaqus</span> sensitivities are available only for design responses from static (topology,
                sizing, shape, and bead optimization) and modal (topology and sizing optimization)
                analyses.</span></td></tr></table>

</div>


<div class = "section" id = "tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-accel"><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">Prescribed Accelerations for Sensitivity-Based Optimization Using <span class = "ph">Tosca</span> Response Values and Sensitivities</h2>

<p>Prescribed acceleration loading is often caused by gravity fields, centrifugal loading, and
    rotary acceleration loads. This chapter defines which kinds of acceleration types for the 
	<span class = "ph">Abaqus</span> 
	solvers are feasible for sensitivity-based topology and sizing optimization. These
    acceleration types are not supported for shape and bead optimization.</p>
<p>The following commands are supported for acceleration loading:</p>
<ul class = "ul">
<li class = "li"><code class = "ph codeph">GRAV</code>: Gravity loading.</li>
<li class = "li"><code class = "ph codeph">CENTRIF</code>: Centrifugal load</li>
<li class = "li"><code class = "ph codeph">ROTA</code>: Rotary acceleration load</li>
</ul>
<p>The following are not supported: </p>
<ul class = "ul">
<li class = "li"><code class = "ph codeph">CENT</code>: Centrifugal load is not supported.</li>
<li class = "li"><code class = "ph codeph">CORIO</code>: Coriolis force loading is not supported.</li>
</ul>
</div>

  
<div class = "section" id = "tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-mp"><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">Several CPU-Processors in Combination with Sensitivity-Based Topology Optimization</h2>

<p>This option is relevant only for SENS_CALC_MODE = TOSCA and is  not necessary using default settings for <span class = "ph">Abaqus</span>.</p>
<p><span class = "ph">Abaqus</span>
fails to deliver all results requested by <span class = "ph">Tosca Structure</span>
sensitivity-based topology optimization when an <span class = "ph">Abaqus</span>
analysis is executed using more than one CPU-processor in combination
with <span class = "ph">Tosca Structure</span>
sensitivity-based topology optimization. <span class = "ph">Abaqus</span>
failing to deliver all results requested by <span class = "ph">Tosca Structure</span>
sensitivity-based topology optimization is solved by adding the following
in the <code class = "ph codeph">OPT_PARAM</code> command,</p>
<pre class = "codeblock">
<code class = "ph codeph">
OPT_PARAM
  ....
  PROCESSORS = MULTI
  ....
END_
</code>
</pre>
<div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent">
<p>Default is <code class = "ph codeph">PROCESSORS = SINGLE</code>.</p>
</span></div>

<table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent">
<p>Design responses for reaction forces and internal forces cannot
be applied when <code class = "ph codeph">PROCESSORS = MULTI</code> is activated.</p>
</span></td></tr></table>

</div>


<div class = "section" id = "tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-temperature"><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">Temperature Loading</h2>

<p>The following commands are supported for temperature loading exclusively in sensitivity-based
topology optimization: <code class = "ph codeph">*TEMPERATURE</code>.</p>
<div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent">
<p>When reading temperatures from the results or output database file
(<code class = "ph codeph">FILE</code>), the temperature (<code class = "ph codeph">FILE</code>)
should be the same in each optimization iteration.</p>
</span></div>

</div>


<div class = "section" id = "tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-CyclicSymmetryModel"><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">Cyclic Symmetry Model</h2>

<p>The <code class = "ph codeph">*CYCLIC SYMMETRY MODEL</code> command is not supported in sensitivity-based
                topology and sizing optimization using sensitivities calculated by <span class = "ph">Tosca</span>. Using sensitivities calculated by <span class = "ph">Abaqus</span>, this limitation is avoided.</p>
</div>


<div class = "section" id = "tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-ConsistentValues"><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">Showing Consistent Values for Stress and PEMAG Design Responses</h2>

<p>For consistency with
<span class = "ph">Tosca</span> /
<span class = "ph">Abaqus</span>
values, use max absolute values at integration points and no averaging in <span class = "ph">Abaqus/CAE</span>
since the integration points are used for the evaluations. This can be done by selecting 
<span class = "ph uicontrol">Result &gt; Result Options</span> and <span class = "ph uicontrol">Result &gt; Section Points</span> from the main menu bar, respectively.
Refer to the figures below for more details.</p>
<p>
<img class = "image" src = "../TsoUserImages/abq2020_Result_Option_Discontinuities_GUI.png"/>
<img class = "image" src = "../TsoUserImages/abq2020_section_points_GUI.png"/>
</p>
</div>


<div class = "section" id = "tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-grpoper"><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">Group Operator Evaluation with <span class = "ph">Abaqus</span>
</h2>

<p><span class = "ph">Tosca Structure</span>
now provides the capability to use large groups of more than 5000 elements or nodes in the design response definition in an efficient way.
This is done by using a new algorithm in <span class = "ph">Abaqus</span>
 to evaluate the value using the <code class = "ph codeph">OPERATOR</code> entry in the <code class = "ph codeph">*DESIGN RESPONSE</code> option. 
To activate this feature, use the following OPTIONS command: </p>
<pre class = "codeblock">
<code class = "ph codeph">
OPTIONS
 DRESP_GROUP_OPER_AGGREGATION = OFF (Default) | ON 
END_
</code>
</pre>
<p>The group operator types <code class = "ph codeph">MAX</code>, <code class = "ph codeph">MIN</code>, <code class = "ph codeph">SUM</code>, and
   <code class = "ph codeph">AVERAGE</code> will be supported. In the case of a
   <code class = "ph codeph">MAX/MIN</code> group operator in a design response, 
	<span class = "ph">Abaqus</span> and 
	<span class = "ph">Tosca Structure</span>
	evaluate these in different ways as explained below.</p>
<p>Classically, a <code class = "ph codeph">MAX/MIN</code> group operator is nondifferentiable and thus an
    approximation must be used to calculate sensitivities. The new evaluation method in 
	<span class = "ph">Abaqus</span>
	uses an aggregation method that creates a differentiable operator that delivers a value
    closer to the actual <code class = "ph codeph">MAX/MIN</code></p>

<table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent">
<p>In the <code class = "ph codeph">OBJ_FUNC</code>, <span class = "ph">Tosca Structure</span>
   by default (<code class = "ph codeph">DRESP_GROUP_OPER_AGGREGATION = OFF</code>) replaces the
   <code class = "ph codeph">MAX</code> or <code class = "ph codeph">MIN</code> operator with a
   <code class = "ph codeph">SUM</code>. Use a <code class = "ph codeph">MINMAX/MAXMIN</code> target in the
   objective function, or ensure that each DRESP contains only a single node or
   element and single <span class = "ph">load case</span> to get the expected result. In
   <code class = "ph codeph">CONSTRAINT</code>, <span class = "ph">Tosca Structure</span>
   generates one constraint per <span class = "ph">load case</span> 
   and for each node/element in the group.</p>
<p>Using these group operators from <span class = "ph">Abaqus</span> 
   in combination with a design response of the type _direction_ABS (such as DISP_X_ABS, INTERNAL_FORCE_Z_ABS) are not supported.</p>
<p>It is important to note that group operators are evaluated over integration points by
<span class = "ph">Abaqus</span>
this means that even for a single element in the group, the response value might vary according to the operator chosen.</p>
</span></td></tr></table>

</div>

	
<div class = "section" id = "tso-c-usr-solver-abaqus-remsensbasedshape__tso-c-usr-solver-abaqus-remsensbasedshape-inertia"><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">Inertia Relief</h2>

<p>Inertia relief is often used in aerospace and automotive analyses, the latter often in
                combination with Multi-Body Dynamics like <span class = "ph">Simpack</span>. This is a simulation feature where the inertia of the component is used to
                create static equilibrium. It is specified in the input file:</p>
<pre class = "codeblock">
<code class = "ph codeph">
*INERTIA RELIEF
</code>
</pre>

<table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent">
<p>Inertia relief is supported only during optimization using 3D elements and <span class = "ph">Abaqus</span> sensitivities.</p>
<p>Further information can be found in the <span class = "ph">Abaqus</span> User Assistance.</p>
</span></td></tr></table>


</div>

</div>


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