<?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 = "Within this section, the durability solver fe-safe is discussed."/><meta name = "description" content = "Within this section, the durability solver fe-safe is discussed."/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-usr-solver-durab-fesafe"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>fe-safe</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-c-usr-solver-durab-fesafe">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>
<span class = "ph">fe-safe</span>
</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">
Within this section, the durability solver <span class = "ph">fe-safe</span> is discussed.
</span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-c-usr-solver-durab-fesafe__tso-c-usr-solver-durab-fesafe-gen" id = "toc_rg" title = "">General</a></li><li><a href = "#tso-c-usr-solver-durab-fesafe__tso-c-usr-solver-durab-fesafe-gui" id = "toc_rg" title = "">Exporting Setup Files from the <span class = "ph">fe-safe</span> GUI</a></li><li><a href = "#tso-c-usr-solver-durab-fesafe__tso-c-usr-solver-durab-fesafe-results" id = "toc_rg" title = "">Generating Results </a></li><li><a href = "#tso-c-usr-solver-durab-fesafe__tso-c-usr-solver-durab-fesafe-cl" id = "toc_rg" title = "">Running <span class = "ph">fe-safe</span> on Command Line</a></li><li><a href = "#tso-c-usr-solver-durab-fesafe__cs-AlternativeConfigurationsOfFeSafe" id = "toc_rg" title = "">Alternative Configurations of <span class = "ph">fe-safe</span></a></li></ul>
</p></td></tr></table></td></tr></table>




<div class = "body conbody">
<div class = "section" id = "tso-c-usr-solver-durab-fesafe__tso-c-usr-solver-durab-fesafe-gen"><h2 class = "title sectiontitle">General</h2>

<p>For a shape optimization with <span class = "ph">Tosca Structure</span>
in combination with <span class = "ph">fe-safe</span>, you must be able to run your job as a batch
job. This is done by setting up an <span class = "ph">fe-safe</span> analysis interactively and
then exporting the necessary files or copying the files from the fesafe
project directory. For in-depth information, please see the <span class = "ph">fe-safe</span> documentation
(<span class = "ph">fe-safe</span> User Guide) about “Saving analysis configuration settings”
and “Running <span class = "ph">fe-safe</span> from the command line”.</p>
<p>The following assumes that the user understands the different files and command-line  arguments
                for <span class = "ph">fe-safe</span>. </p>
</div>


<div class = "section" id = "tso-c-usr-solver-durab-fesafe__tso-c-usr-solver-durab-fesafe-gui"><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">Exporting Setup Files from the <span class = "ph">fe-safe</span> GUI</h2>

<p>In a typical setup, you need to export a project archive <code class = "ph codeph">.7z</code>
file (<span class = "ph">fe-safe USER GUIDE</span>, chapter 5.12)
as well as a <code class = "ph codeph">.macro</code> file
(<span class = "ph">fe-safe USER GUIDE</span>, chapter 23)
which executes this project and writes the damage values to a <code class = "ph codeph">_600.onf</code>  file.</p>
<p><span class = "ph uicontrol">Example of a minimal .macro file</span></p>
<p>
<pre class = "codeblock">
<code class = "ph codeph">
# Change to a new project in this macro directory
SwitchToProject &lt;%macro_dir&gt;/work.fesafe

# Import the fatigue scenario that the user-defined through the <span class = "ph">fe-safe</span> GUI
# This archive file does NOT contain an ODB file
Import &lt;%macro_dir&gt;/holeplate_fesafe.project.7z

# Run FEA Fatigue Analysis
fe-safe b=run

# Export the fatigue results in an ONF-output file for Tosca
fe-safe o=&lt;%macro_dir&gt;/holeplate_fesafe_600.onf
</code>
</pre>
</p>
<p><span class = "ph uicontrol">Example of a .macro file with pre-scan</span></p>
<p>
<pre class = "codeblock">
<code class = "ph codeph">
# Change to a new project in this macro directory
SwitchToProject &lt;%macro_dir&gt;/holeplate_fesafe

# Import the fatigue scenario that the user-defined through the fe-safe GUI
# This archive file does NOT contain an ODB file
Import &lt;%macro_dir&gt;/holeplate_fesafe.project.7z

## Additional commands, for example, for pre-scan, group manipulation, etc.
# PRE-SCAN PRE-SCAN COMMANDS
pre-scan files "&lt;%macro_dir&gt;/holeplate_dam.odb"
# PRE-SCAN POSITION COMMAND
pre-scan position nodal
pre-scan deselect all
# PRE-SCAN OPTIONS
pre-scan select groups
pre-scan select detect-surface
# PRE-SCAN SELECT COMMANDS
pre-scan select source "&lt;%macro_dir&gt;/holeplate_dam.odb" step 1 inc 1 stress
pre-scan select source "&lt;%macro_dir&gt;/holeplate_dam.odb" step 2 inc 1 stress
# PRE-SCAN OPEN COMMAND
pre-scan open selected
groups list deselect all

# Run FEA Fatigue Analysis
fe-safe b=run

# Export the fatigue results in an ONF-output file for Tosca
fe-safe o=&lt;%macro_dir&gt;/holeplate_fesafe_600.onf

# Export the fatigue results in an fer file
fe-safe o=&lt;%macro_dir&gt;/holeplate_fesafe.fer
</code>
</pre>
</p>
</div>


<div class = "section" id = "tso-c-usr-solver-durab-fesafe__tso-c-usr-solver-durab-fesafe-results"><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">Generating Results </h2>

<p><span class = "ph">fe-safe</span>
writes life results per default. The user specifies the <span class = "ph">fe-safe</span>
output format in combination with <span class = "ph">Tosca Structure</span>.
Actually, the output format is set to <code class = "ph codeph">.csv</code> format, which is converted automatically
to <code class = "ph codeph">_600.onf</code> format by <span class = "ph">Tosca Structure</span>.
As <span class = "ph">Tosca Structure</span>
expects a "damage like" format, the life results n are automatically
inverted by <code class = "ph codeph">life2vtm</code><span class = "ph"> </span>to 1/n by the added argument <code class = "ph codeph">-r</code>, for example,
</p>
<p><code class = "ph codeph"> driver.LifeSolver.Inverse = 1</code>.</p>
            <div class = "note collapse"><span class = "run-in.note">Note:
    		</span><span class = "notecontent">the naming convention for the <code class = "ph codeph">_600.onf</code> file name must
                be followed for the <span class = "ph">Tosca Structure</span> - <span class = "ph">fe-safe</span> interface to work. If the <span class = "ph">fe-safe</span> macro file is called
                    <code class = "ph codeph">&lt;some_base_name&gt;.macro</code>, the <code class = "ph codeph">.onf</code>-file
                produced by the durability run must be named
                    <code class = "ph codeph">&lt;some_base_name&gt;_600.onf</code>. </span></div>

</div>


<div class = "section" id = "tso-c-usr-solver-durab-fesafe__tso-c-usr-solver-durab-fesafe-cl"><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">Running <span class = "ph">fe-safe</span> on Command Line</h2>

<p>Test that <span class = "ph">fe-safe</span> runs correctly on the command line by executing
the <span class = "ph">fe-safe</span> job. Change to the directory where your project and macro files (<code class = "ph codeph">.7z</code> and <code class = "ph codeph">.macro</code>)  are saved to execute fe-safe_cl.</p>
<p>Example:</p>
<pre class = "codeblock">
<code class = "ph codeph">
fe-safe_cl.exe macro=holeplate_fesafe.macro
</code>
</pre>
<p>Check that the <code class = "ph codeph">_600.onf</code> file is generated and has correct values (life values).</p>
</div>


<div class = "section" id = "tso-c-usr-solver-durab-fesafe__cs-AlternativeConfigurationsOfFeSafe"><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">Alternative Configurations of <span class = "ph">fe-safe</span></h2>

<p>For backward compatibility, <span class = "ph">Tosca Structure</span>
still support <span class = "ph">fe-safe</span>configurations using <code class = "ph codeph">.stlx</code> files.
<span class = "ph">Tosca Structure</span>
runs in the working directory, therefore are all absolute paths in the
<code class = "ph codeph">.stlx</code> file substituted with a relative path to ensure that the current
FE-input file and results are used in the durability analysis. For example, the
following files are assumed to be in the current directory:</p>
<ul class = "ul">
<li class = "li">source file(s) (<code class = "ph codeph">odb</code> or <code class = "ph codeph">fil</code>)</li>
<li class = "li"><code class = "ph codeph">ldf</code> file and files referenced</li>
<li class = "li"><code class = "ph codeph">kt</code> file</li>
<li class = "li"><code class = "ph codeph">msc</code> file</li>
</ul>
<p>Legacy .kwd files might also be used, but in that case the user is responsible
for copying the right files into the working directory and that command
line is correct. The copying of files can be done using <code class = "ph codeph">COPY_FILE</code>
in the <code class = "ph codeph">FEM_INPUT</code> command.</p>
</div>

</div>

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