<?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 = "reference"/><meta name = "abstract" content = "This section provides a reference of all possible driver-statement properties that are configurable through the DRIVER command."/><meta name = "description" content = "This section provides a reference of all possible driver-statement properties that are configurable through the DRIVER command."/><meta name = "DC.date.created" content = "2022-07-22"/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-r-cmd-driver-cfgDriverProp"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Configurable Driver-Properties</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "tso-r-cmd-driver-cfgDriverProp">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Configurable Driver-Properties</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 provides a reference of all possible <code class = "ph codeph">driver</code>-statement
properties that  are configurable through the <code class = "ph codeph">DRIVER</code> command.</span>

</p>
<p>This page discusses: </p><ul><li><a href = "#tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-intro" id = "toc_rg" title = "">Introduction and Overview</a></li><li><a href = "#tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver" id = "toc_rg" title = ""><code class = "ph codeph">driver.Solver</code></a></li><li><a href = "#tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver" id = "toc_rg" title = ""><code class = "ph codeph">driver.LifeSolver</code></a></li><li><a href = "#tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver" id = "toc_rg" title = ""><code class = "ph codeph">driver.EmagSolver</code></a></li><li><a href = "#tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules" id = "toc_rg" title = ""><code class = "ph codeph">driver.Modules</code></a></li><li><a href = "#tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger" id = "toc_rg" title = ""><code class = "ph codeph">driver.Logger</code></a></li><li><a href = "#tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule" id = "toc_rg" title = ""><code class = "ph codeph">driver.registerSaveRule( Type, Checkpoint, Frequency, FilePattern, Directory, Suffix, Bundle )</code></a></li><li><a href = "#tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regHook" id = "toc_rg" title = ""><code class = "ph codeph">driver.registerModuleHook</code> / <code class = "ph codeph">driver.registerCheckPointHook</code></a></li><li><a href = "#tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-setReport" id = "toc_rg" title = ""><code class = "ph codeph">driver.setReportCycle( PostTypes, EventTimes )</code></a></li><li><a href = "#tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solSubScript" id = "toc_rg" title = "">
<code class = "ph codeph">driver.registerSolverSubScripts( Solver, SubmitScriptCmd, CheckScriptCmd, CheckInterval, JobTimeout )</code>
</a></li></ul>
</p></td></tr></table></td></tr></table>




  
<div class = "body refbody">

<div class = "section" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-intro"><h2 class = "title sectiontitle">Introduction and Overview</h2>

<p>A Python object called <code class = "ph codeph">driver</code> is exposed to the user by the <code class = "ph codeph">DRIVER</code>-command.
The usual syntax of accessing the members or properties of this object is as follows:
<pre class = "codeblock">
<code class = "ph codeph">
DRIVER
 driver.Logger.LogLevel = LogLevels.DEBUG
 driver.Modules[ ToscaModules.TOSCA_PREP ].Path = r'e:\FE_APP\TOSCA\SMATsoToscaPrep.exe'
END_
</code>
</pre>
The <code class = "ph codeph">driver</code>-object contains further Python-objects.
An overview of the hierarchy of all available objects looks as follows:</p>
<br/><img class = "image" src = "../TsoCmdImages/driver_settings_overview.png"/><br/>
<p>The squared letters (shown also in the Legend) correspond to the different types of the Python-objects.
A detailed explanation of the different objects is provided in the sections below.</p>
</div>


<div class = "section" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver"><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"><code class = "ph codeph">driver.Solver</code></h2>

<p>The <code class = "ph codeph">driver.Solver</code> object provides access to the settings of the FE-solver used for the optimization.
Note that this object can have additional and/or different members for some solvers.
For example, the <code class = "ph codeph">driver.Solver.MatrixFormat</code> is used only in the context of the <span class = "ph">Abaqus</span>
solver and is ignored for other solvers.</p>
<table class = "table"><caption/><colgroup><col/><col/><col/><col/><col/><col/></colgroup><thead class = "thead">
<tr class = "row">
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1"><p>Name</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>Data Type</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3"><p>Range of Values</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4"><p>Description</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p>Default Value</p></th>
</tr>
</thead><tbody class = "tbody">

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1"><p><code class = "ph codeph">driver.Solver.Name</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>Enumeration constant</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3">
<p><code class = "ph codeph">FeSolvers.ABAQUS</code></p>
<p><code class = "ph codeph">FeSolvers.ANSYS</code></p>
<p><code class = "ph codeph">FeSolvers.MSCNASTRAN</code></p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4"><p>Identifies the solver used for the optimization.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p><code class = "ph codeph">FeSolvers.ABAQUS</code></p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1"><p><code class = "ph codeph">driver.Solver.Path</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>String</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3"><p>For example, <code class = "ph codeph">r'e:\FE_APP\Solver\MySolver.exe'</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4"><p>Points to the full path of the main solver executable file.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p>Installation/configuration setting</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1"><p><code class = "ph codeph">driver.Solver.Version</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>String</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3"><p>For example, <code class = "ph codeph">r'<span class = "ph">Abaqus</span> 2017'</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4"><p>The identifier of the specific FE-solver version. Can be used in combination with <code class = "ph codeph">driver.Solver.AddCallArgs</code> when more than one version is installed.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p>Unset or value of command line argument <code class = "ph codeph">--fe_solver_version</code></p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1"><p><code class = "ph codeph">driver.Solver.AddCallArgs</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>List of Strings</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3">
<p>Arbitrary strings containing solver-specific command-line arguments.</p>
<p>Example: <code class = "ph codeph">[ '--format_matrices', 'FIL' ]</code></p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4"><p>Allows addition of command-line arguments to the solver call.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p>Empty list</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1"><p><code class = "ph codeph">driver.Solver.Wrapper</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>List of Strings</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3"><p>Refer to the section: <a class = "xref" href = "tso-r-cmd-driver-wrapper.htm#tso-r-cmd-driver-wrapper" title = "This section shows the way a user can add a wrapper-tool for executable modules.">Defining Wrappers for Executable Modules</a></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4"><p>Provides a way to execute the solver as a child process of a given tool.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p>Empty List</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1"><p><code class = "ph codeph">driver.Solver.StandardCallArgs</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>List of Strings</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3">
<p>Arbitrary strings containing solver-specific command-line arguments.</p>
<p>Example: <code class = "ph codeph">[ '--format_matrices', 'FIL' ]</code></p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4"><p>Allows overwriting of the default command-line arguments for the solver.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p>Installation/configuration setting</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1"><p><code class = "ph codeph">driver.Solver.Cpus</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>Integer</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3"><p>1, 2, 3, ...</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4"><p>Defines the number of CPUs to be used by the solver.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p>1</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1"><p><code class = "ph codeph">driver.Solver.NumQueues</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>Integer</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3"><p>1, 2, 3, ...</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4"><p>Defines the maximum number of solver-tasks to be executed simultaneously.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p>1</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1"><p><code class = "ph codeph">driver.Solver.MaterialCluster</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>Integer</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3"><p>Non-negative integer, typical values: 10,000..100,000</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4">
<p>Defines the maximum number of materials (after reduction) in the modified input file.</p>
<p>More materials improve the resolution of the optimization method, but might slow down the solver
                  preprocessor.</p>
<p>If no value is provided, the default value of 10,000 is assumed and used internally.</p>
<p>Enter a value of 0 to disable clustering of materials and thus use a separate material for each element.</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p>Unset; per default 10,000 is enforced.</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1"><p><code class = "ph codeph">driver.Solver.CheckStrings</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>List of Two Strings</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3"><p>Solver-specific string messages to look for in the solver output.</p>
<p>The first string corresponds to solver success, and the second string
corresponds to solver failure.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4">
<p>Redefinition of these strings enables the user to change the criterion for determining whether the solver run succeeded or failed.</p>
<p>Example: a value of <code class = "ph codeph">[ 'Solver Run OK', '' ]</code> instructs the Python Control that the solver run was successful in the string 'Solver Run OK' is found.</p>
<p>A value of <code class = "ph codeph">[ '', 'Solver Run Failed!' ]</code> prescribes the criterion for failure, assuming success if the string 'Solver Run Failed!' is not detected.</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p>Installation/configuration setting</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1"><p><code class = "ph codeph">driver.Solver.MessageExt</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>String</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3"><p>A valid file extension string.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4">
<p>Redefinition of the file extension of the solver message file.</p>
<p>Example: <code class = "ph codeph">'msg'</code> is the extension for the <span class = "ph">Abaqus</span>/Standard solver,
<code class = "ph codeph">'sta'</code> - for the <span class = "ph">Abaqus</span>/Explicit solver.</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p>Installation/configuration setting</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1">
<p><code class = "ph codeph">driver.Solver.runMode</code></p>
<p>(<span class = "ph">Abaqus</span>-specific)(Obsolete)</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>Enumeration constant</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3">
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4">
<p>This option is obsolete. To enforce a specific run mode use <code class = "ph codeph">SOLVER_RUN_MODE</code> of the <code class = "ph codeph">OPTION</code> command.</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5">
</td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1">
<p><code class = "ph codeph">driver.Solver.MatrixFormat</code></p>
<p>(<span class = "ph">Abaqus</span>-specific)</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>Enumeration constant</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3">
<p><code class = "ph codeph">MatrixFormats.SIM</code></p>
<p><code class = "ph codeph">MatrixFormats.FIL</code></p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4">
<p>Prescribes which file format is used for the transfer of elemental stiffness matrices from <span class = "ph">Abaqus</span> to <span class = "ph">Tosca Structure</span>.</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p><code class = "ph codeph">MatrixFormats.SIM</code></p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1">
<p><code class = "ph codeph">driver.Solver.PseudoStepToLc</code></p>
<p>(<span class = "ph">Abaqus</span>-specific)</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>Integer (Boolean)</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3"><p>0 or 1</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4">
<p>Triggers the automatic conversion of <span class = "ph">Abaqus</span> linear *STEP-commands into *LOADCASE commands for improved solver performance.</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p>1</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1">
<p><code class = "ph codeph">driver.Solver.MaxStepPseudoLc</code></p>
<p>(<span class = "ph">Abaqus</span>-specific)</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>Integer</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3"><p>Arbitrary integer value</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4">
<p>Establishes a limit for the number of <span class = "ph">Abaqus</span> *LOADCASE keywords to be used within one *STEP-keyword.</p>
<p>A negative value or zero indicates that the limit is disabled.</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p>-1</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1">
<p>
<code class = "ph codeph">driver.Solver.RemoveUserRequests</code>
</p>
<p>(<span class = "ph">Abaqus</span>-specific)</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2">
<p>Integer (Boolean)</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3">
<p>0 or 1</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4">
<p>Controls whether <span class = "ph">Tosca</span>
   should remove output requests defined in the input file that are not used by the optimization. Can be used to improve performance.</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5">
<p>0</p>
</td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__1">
<p><code class = "ph codeph">driver.Solver.iMode</code></p>
<p>(Nastran-specific)</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__2"><p>Enumeration constant</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__3">
<p><code class = "ph codeph">MSCNastranRunModes.I4</code></p>
<p><code class = "ph codeph">MSCNastranRunModes.I8</code></p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__4">
<p>Defines the mode for the Nastran-solver (I4 or I8).</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solver__entry__5"><p><code class = "ph codeph">MSCNastranRunModes.I8</code></p></td>
</tr>

</tbody></table>

</div>


<div class = "section" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver"><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"><code class = "ph codeph">driver.LifeSolver</code></h2>

<p>The <code class = "ph codeph">driver.LifeSolver</code> object provides access to the settings that are
specific to the different Life-solvers that are supported by
<span class = "ph">Tosca Structure</span>.</p>
The <code class = "ph codeph">driver.LifeSolver</code> object is derived from the
<code class = "ph codeph">driver.Solver</code> object and thus most of the settings are identical between
<code class = "ph codeph">driver.LifeSolver</code> and <code class = "ph codeph">driver.Solver</code>. In this section, only
the settings unique to the Life-Solvers are documented.
<table class = "table"><caption/><colgroup><col/><col/><col/><col/><col/><col/></colgroup><thead class = "thead">
<tr class = "row">
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__1"><p>Name</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__2"><p>Data Type</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__3"><p>Range of Values</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__4"><p>Description</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__5"><p>Default Value</p>
</th>
</tr>
</thead><tbody class = "tbody">
<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__1"><p><code class = "ph codeph">driver.LifeSolver.Name</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__2"><p>Enumeration constant</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__3">
<p><code class = "ph codeph">LifeSolvers.ONF</code></p>
<p><code class = "ph codeph">LifeSolvers.FESAFE</code></p>
<p><code class = "ph codeph">LifeSolvers.FEMFAT</code></p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__4"><p>Identifies the life solver used for the optimization.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__5"><p><code class = "ph codeph">LifeSolvers.FESAFE</code></p></td>
</tr>
<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__1"><p><code class = "ph codeph">driver.LifeSolver.Inverse</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__2"><p>Integer (Boolean)</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__3"><p>0 or 1</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__4"><p>Trigger an inverted value interpretation for the Damage-value.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-lifesolver__entry__5"><p>1</p></td>
</tr>
</tbody></table>
</div>


<div class = "section" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver"><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"><code class = "ph codeph">driver.EmagSolver</code></h2>
      
      <p>The <code class = "ph codeph">driver.EmagSolver</code> object provides access to the settings that are
        specific to the different EMAG solvers that <span class = "ph">Tosca Structure</span> supports.</p> The <code class = "ph codeph">driver.EmagSolver</code> object is derived from the
        <code class = "ph codeph">driver.Solver</code> object. Thus, most of the settings are identical between
        <code class = "ph codeph">driver.EmagSolver</code> and <code class = "ph codeph">driver.Solver</code>. In this section, only
      the settings unique to the EMAG Solvers are documented. <table class = "table"><caption/><colgroup><col/><col/><col/><col/><col/><col/></colgroup><thead class = "thead">
            <tr class = "row">
              <th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__1">
                <p>Name</p>
              </th>
              <th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__2">
                <p>Data Type</p>
              </th>
              <th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__3">
                <p>Range of Values</p>
              </th>
              <th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__4">
                <p>Description</p>
              </th>
              <th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__5">
                <p>Default Value</p>
              </th>
            </tr>
          </thead><tbody class = "tbody">
            <tr class = "row">
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__1">
                <p><code class = "ph codeph">driver.EmagSolver.Name</code></p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__2">
                <p>Enumeration constant</p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__3">
                <p><code class = "ph codeph">EmagSolvers.CST</code></p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__4">
                <p>Identifies the EMAG solver used for the optimization.</p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__5">
                <p><code class = "ph codeph">EmagSolvers.CST</code></p>
              </td>
            </tr>
            <tr class = "row">
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__1">
                <p><code class = "ph codeph">driver.EmagSolver.Threads</code></p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__2">
                <p>Integer</p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__3">
                <p>1, 2, 3, ...</p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__4">
                <p>Number of parallel threads that should be used by the EMAG solver.</p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__5">
                <p>1</p>
              </td>
            </tr>
            <tr class = "row">
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__1">
                <p><code class = "ph codeph">driver.EmagSolver.Cpus</code></p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__2">
                <p>Integer</p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__3">
                <p>1, 2, 3, ...</p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__4">
                <p>Number of CPU cores that should be used by the EMAG solver.</p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__5">
                <p>1</p>
              </td>
            </tr>
            <tr class = "row">
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__1">
                <p><code class = "ph codeph">driver.EmagSolver.Gpus</code></p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__2">
                <p>Integer</p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__3">
                <p>1, 2, 3, ...</p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__4">
                <p>Number of GPU cores that should be used by the EMAG solver.</p>
              </td>
              <td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-emagsolver__entry__5">
                <p>0</p>
              </td>
            </tr>
          </tbody></table>
    </div>



<div class = "section" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules"><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"><code class = "ph codeph">driver.Modules</code></h2>

<p>The <code class = "ph codeph">driver.Modules</code> dictionary gives access to the setup of the <span class = "ph">Tosca Structure</span>
executable modules. The user can replace one or mode modules for a specific optimization run. For a list of the modules, refer to the
<a class = "xref" href = "tso-r-cmd-driver-modRedef.htm#tso-r-cmd-driver-modRedef" title = "This section shows how the default executable modules can be redefined and overridden with user-provided modules.">Redefinition of the <span class = "ph">Tosca</span> Modules</a> section.
</p>

<table class = "table"><caption/><colgroup><col/><col/><col/><col/><col/><col/></colgroup><thead class = "thead">
<tr class = "row">
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__1"><p>Name</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__2"><p>Data Type</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__3"><p>Range of Values</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__4"><p>Description</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__5"><p>Default Value</p></th>
</tr>
</thead><tbody class = "tbody">

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__1"><p><code class = "ph codeph">driver.Modules[  &lt;Module&gt; ].Name</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__2"><p>Enumeration constant</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__3">
<p><code class = "ph codeph">ToscaModules.ABQ_LC_STEP</code></p>
<p><code class = "ph codeph">ToscaModules.FEM_INCLUDE</code></p>
<p><code class = "ph codeph">ToscaModules.FEM_2_ONF</code></p>
<p><code class = "ph codeph">ToscaModules.FEM_MODIF</code></p>
<p><code class = "ph codeph">ToscaModules.TOSCA_PREP</code></p>
<p><code class = "ph codeph">ToscaModules.TOSCA_OPT</code></p>
<p><code class = "ph codeph">ToscaModules.RES_2_VTM</code></p>
<p><code class = "ph codeph">ToscaModules.ODB_2_VTM</code></p>
<p><code class = "ph codeph">ToscaModules.LIFE_2_VTM</code></p>
<p><code class = "ph codeph">ToscaModules.REPORT</code></p>
<p><code class = "ph codeph">ToscaModules.SMOOTH</code></p>
<p><code class = "ph codeph">ToscaModules.ONF_2_SIM</code></p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__4">
<p>Read-only name of the module, used as an index for the dictionary. Basically identical to <code class = "ph codeph">&lt;Module&gt;</code>.</p>
<p>These values are explained in more details in the <a class = "xref" href = "tso-r-cmd-driver-modRedef.htm#tso-r-cmd-driver-modRedef" title = "This section shows how the default executable modules can be redefined and overridden with user-provided modules.">Redefinition of the <span class = "ph">Tosca</span>  Modules</a> section.</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__5"><p>Installation/configuration setting</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__1"><p><code class = "ph codeph">driver.Modules[  &lt;Module&gt; ].Path</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__2"><p>String</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__3"><p>A valid path to a file</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__4"><p>Established an alternative execution module.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__5"><p>Installation/configuration setting</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__1"><p><code class = "ph codeph">driver.Modules[  &lt;Module&gt; ].AddCallArgs</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__2"><p>List of Strings</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__3">
<p>Arbitrary strings containing module specific command-line arguments.</p>
<p>Example: <code class = "ph codeph">[ '--format_matrices', 'FIL' ]</code></p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__4"><p>Allows addition of command-line arguments to the module call.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__5"><p>Empty list</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__1"><p><code class = "ph codeph">driver.Modules[  &lt;Module&gt; ].LogLevel</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__2"><p>Enumeration constant</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__3">
<p><code class = "ph codeph">LogLevels.QUIET</code></p>
<p><code class = "ph codeph">LogLevels.CRITICAL</code></p>
<p>... (same as <code class = "ph codeph">driver.Logger.LogLevel</code> below)</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__4"><p>Establishes a new log-level setting for the module.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__5"><p>Inherit global log-level for the run: value copied from <code class = "ph codeph">driver.Logger.LogLevel</code></p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__1"><p><code class = "ph codeph">driver.Modules[  &lt;Module&gt; ].Wrapper</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__2"><p>List of Strings</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__3"><p>Refer to the section: <a class = "xref" href = "tso-r-cmd-driver-wrapper.htm#tso-r-cmd-driver-wrapper" title = "This section shows the way a user can add a wrapper-tool for executable modules.">Defining Wrappers for Executable Modules</a></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__4"><p>Provides a way to execute the module as a child process of a given tool.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-modules__entry__5"><p>Empty List</p></td>
</tr>

</tbody></table>
</div>


<div class = "section" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger"><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"><code class = "ph codeph">driver.Logger</code></h2>

<p>The <code class = "ph codeph">driver.Logger</code> object allows modification of the logging settings of the
<span class = "ph">Tosca Structure</span> run.</p>
<table class = "table"><caption/><colgroup><col/><col/><col/><col/><col/><col/></colgroup><thead class = "thead">
<tr class = "row">
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__1"><p>Name</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__2"><p>Data Type</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__3"><p>Range of Values</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__4"><p>Description</p></th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__5"><p>Default Value</p></th>
</tr>
</thead><tbody class = "tbody">

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__1"><p><code class = "ph codeph">driver.Logger.LogFileName</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__2"><p>String</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__3"><p>A valid path to a file</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__4">
<p>Redirect the log-output to a new file.</p>
<p>Please note that some messages - output before the setting of the new log-file - might end up logged in the default log file.</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__5">
<p>For optimization: TOSCA.OUT</p>
<p>For post-processing: TOSCA_POST.OUT</p>
<p>For info output: TOSCA_INFO.OUT</p>
</td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__1"><p><code class = "ph codeph">driver.Logger.LogLevel</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__2"><p>Enumeration constant</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__3">
<p><code class = "ph codeph">LogLevels.QUIET</code></p>
<p><code class = "ph codeph">LogLevels.CRITICAL</code></p>
<p><code class = "ph codeph">LogLevels.ERROR</code></p>
<p><code class = "ph codeph">LogLevels.WARNING</code></p>
<p><code class = "ph codeph">LogLevels.NOTICE</code></p>
<p><code class = "ph codeph">LogLevels.INFO</code></p>
<p><code class = "ph codeph">LogLevels.DEBUG</code></p>
<p><code class = "ph codeph">LogLevels.TRACE</code></p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__4">
<p>Establish a new log-level for output printed by the control itself.</p>
<p>The modules loglevel need to be set separately. The below snipped sets all modules to loglevel DEBUG:
<pre class = "codeblock"><code class = "ph codeph">
if driver.Modules:
for _m in driver.Modules: driver.Modules[_m].LogLevel = LogLevels.DEBUG
</code></pre>
</p>
<p>Note that some messages—output before the setting of the new log-level might be logged with a different log-level.</p>
<p>Note that changes to the loglevel are only activated if it is not set as a command line argument (<code class = "ph codeph">--loglevel</code>).</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__5"><p><code class = "ph codeph">LogLevels.INFO</code></p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__1"><p><code class = "ph codeph">driver.Logger.ScreenLogLevel</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__2"><p>Enumeration constant</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__3">
<p><code class = "ph codeph">LogLevels.QUIET</code></p>
<p><code class = "ph codeph">LogLevels.CRITICAL</code></p>
<p>... (same as <code class = "ph codeph">driver.Logger.LogLevel</code> above)</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__4">
<p>Establish a new global log-level for the console output.</p>
<p>Note that some messages - output before the setting of the new log-level - might be displayed with a different log-level.</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-logger__entry__5"><p><code class = "ph codeph">LogLevels.NOTICE</code></p></td>
</tr>

</tbody></table>

</div>


<div class = "section" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule"><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"><code class = "ph codeph">driver.registerSaveRule( Type, Checkpoint, Frequency, FilePattern, Directory, Suffix, Bundle )</code></h2>

<p>The <code class = "ph codeph">driver.registerSaveRule</code> method allows the user to add rules for saving files to and from the
<span class = "ph">Tosca Structure</span>
working directory.</p>

<table class = "table"><caption/><colgroup><col/><col/><col/><col/><col/><col/></colgroup><thead class = "thead">
<tr class = "row">
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__1">
<p>Parameter</p>
</th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__2">
<p>Data Type</p>
</th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__3">
<p>Range of Values</p>
</th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__4">
<p>Description</p>
</th>
<th class = "entry" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__5">
<p>Default Value</p>
</th>
</tr>
</thead><tbody class = "tbody">

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__1"><p><code class = "ph codeph">Type</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__2"><p>UpdateRules Enum</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__3">
<p><code class = "ph codeph">UpdateRules.COPY</code></p>
<p><code class = "ph codeph">UpdateRules.MOVE</code></p>
<p><code class = "ph codeph">UpdateRules.DELETE</code></p>
</td>

<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__4"><p>Specifies the action the SaveRule shall perform.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__5"><p>Required by user</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__1"><p><code class = "ph codeph">Checkpoint</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__2"><p>CheckPoints Enum</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__3">
<p><code class = "ph codeph">CheckPoints.CYCLE_COMPLETE</code></p>
<p><code class = "ph codeph">CheckPoints.OPT_COMPLETE</code></p>
<p><code class = "ph codeph">CheckPoints.MX_COMPLETE</code></p>
<p><code class = "ph codeph">CheckPoints.OPT_BEGIN</code></p>
</td>

<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__4"><p>A checkpoint is a specific point during the optimization process. </p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__5"><p>Required by user</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__1"><p><code class = "ph codeph">Frequency</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__2">
<p>List of EventTimes Enum Entries</p>
<p>or</p>
<p>EventTimes Enum Entry</p>
<p>or</p>
<p>(EventTimes Enum Entry, Integer)</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__3">
<p><code class = "ph codeph">EventTimes.EVER</code></p>
<p><code class = "ph codeph">EventTimes.NEVER</code></p>
<p><code class = "ph codeph">EventTimes.FIRST</code></p>
<p><code class = "ph codeph">EventTimes.LAST</code></p>
<p><code class = "ph codeph">EventTimes.FIRST_LAST</code></p>
<p><code class = "ph codeph">(EventTimes.NTH, int)</code></p>
<p><code class = "ph codeph">(EventTimes.FREQ, int)</code></p>
</td>

<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__4">
<p> An EventTimes entry always refers to a design cycle. For example, <code class = "ph codeph">EventTimes.First</code> refers to design cycle 0.</p>
<p><code class = "ph codeph">EventTimes.NTH</code> can be used to execute the SaveRule on a specific design cycle.
For example, <code class = "ph codeph">(EventTimes.NTH,0)</code> refers to the first design cycle and is identical to <code class = "ph codeph">EventTimes.First</code>.
It is also possible to supply a list of integers for multiple design cycles. The syntax is <code class = "ph codeph">(EventTimes.NTH, [1, 2])</code>.
</p>
<p><code class = "ph codeph">EventTimes.FREQ</code> can be used when the SaveRule shall be executed every nth design cycle.
For example, <code class = "ph codeph">(EventTimes.FREQ,2)</code> will execute every second design cycle.
It always starts with design cycle 0 and behaves like a modulo operation.
Hence, <code class = "ph codeph">(EventTimes.FREQ,2)</code> will execute on design cycle 0,2,4,6,... and so on.
<code class = "ph codeph">(EventTimes.FREQ,1)</code> is identical to <code class = "ph codeph">EventTimes.EVER</code>.</p>
<p><code class = "ph codeph">EventTimes.NEVER</code> can be used to disable default SaveRules for the defined files.</p>
<p>
  <code class = "ph codeph">EventTimes.LAST</code> turns the destination into a rolling copy that contains the source file/s version of the previous design cycle.
  In other words, the last version of a particular file (or files, depending on the file pattern) for which a design cycle successfully completed.
  See use case <span class = "ph uicontrol">Keeping only the last working version of a file</span> for details.
</p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__5">
<p>Required by user</p>
</td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__1"><p><code class = "ph codeph">FilePattern</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__2"><p>List of Strings</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__3">
<p>Special characters:</p>
<p><code class = "ph codeph">*</code>: Wildcard</p>
<p><code class = "ph codeph">?</code>: One arbitrary Character</p>
</td>

<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__4">
<p>Defines the files which are effected by the SaveRule. If an entry is not an absolute path it is relative to the working directory of the job.
For example, <code class = "ph codeph">["*.odb"]</code> will match every odb file located inside the working directory. </p>
</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__5">
<p>If Type is <code class = "ph codeph">UpdateRules.DELETE</code>:</p>
<p><code class = "ph codeph">None</code></p>
<p>if Type is <code class = "ph codeph">UpdateRules.COPY</code> or <code class = "ph codeph">UpdateRules.MOVE</code>:</p>
<p>Required by user</p>
</td>

</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__1"><p><code class = "ph codeph">Directory</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__2"><p>String</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__3"/>

<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__4">The directory to which the SaveRule shall copy/move the specified files.</td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__5"><p>Working directory of the job.</p></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__1"><p><code class = "ph codeph">Suffix</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__2"><p>String</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__3">
<p>Special characters:</p>
<p><code class = "ph codeph">%i</code>: Iteration number</p>
</td>

<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__4"><p>The files being stored are renamed by adding a suffix to the base file name. If <code class = "ph codeph">%i</code> or <code class = "ph codeph">%p</code> is present it will be replaced by the current design cycle.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__5"><code class = "ph codeph">None</code></td>
</tr>

<tr class = "row">
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__1"><p><code class = "ph codeph">Bundle</code></p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__2"><p>Boolean</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__3">
<p><code class = "ph codeph">True</code></p>
<p><code class = "ph codeph">False</code></p>
</td>

<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__4">
<p>Controls if the suffix is appended to every file or if a sub-sub-directory is
created. The subdirectory is named like the suffix and is located inside
<code class = "ph codeph">Directory</code> specified given to the SaveRule. It holds the files
specified by the file patterns.</p></td>
<td class = "entry" headers = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regSaveRule__entry__5">
<code class = "ph codeph">False</code>
</td>

</tr>

</tbody></table>

<p>Use cases:</p>
<p>
<ul class = "ul">
<li class = "li">Copy Files to working directory:
<p>The following command copies test.txt from C:\Documents\test.txt to the working directory before the optimization begins.</p>
<p><code class = "ph codeph">driver.registerSaveRule( UpdateRules.COPY, CheckPoints.OPT_BEGIN, EventTimes.EVER, [r"E:\Documents\test.txt"], "" )</code></p></li>
<li class = "li">Copy files from working directory: <p>The following SaveRule copies all odb files present
in the working directory to the subdirectory SAVE.inp.</p>
<p><code class = "ph codeph">driver.registerSaveRule( UpdateRules.COPY, CheckPoints.CYCLE_COMPLETE,
EventTimes.EVER, ["*.odb"], "SAVE.inp", "copied_in_%i", False )</code></p>
<p>It is executed at the end of every design cycle. All files copied have the suffix
"copied_in_%i" appended to their name where %i is replaced by the corresponding design
cycle number.</p></li>
<li class = "li">Overwrite a SaveRule defined in a system-wide configuration that cannot be changed for a
single user <p> Here, the first SaveRule is overwritten by the second one. All files are
moved over to AnOtherDir.</p>
<pre class = "codeblock">
<code class = "ph codeph">DRIVER</code>
<code class = "ph codeph">driver.registerSaveRule( UpdateRules.MOVE, CheckPoints.CYCLE_COMPLETE, EventTimes.EVER, ["*.msg"], "SAVE.inp", "_%i", False ) </code>
<code class = "ph codeph">driver.registerSaveRule( UpdateRules.MOVE, CheckPoints.CYCLE_COMPLETE, EventTimes.EVER, ["*.msg","*.odb"], "AnOtherDir", "_%i", False ) </code>
<code class = "ph codeph">END_</code>
</pre>
<p>Remarks on overwriting SaveRules:</p>
<ul class = "ul">
<li class = "li"><p>The order counts. SaveRules registered last are overwriting rules defined
earlier.</p></li>
<li class = "li"><p>In order for one SaveRule to completely overwrite another rule the parameters
<code class = "ph codeph">Type</code>, <code class = "ph codeph">Checkpoint</code> and
<code class = "ph codeph">Frequency</code> must match. </p></li>
<li class = "li">
<p>In order to partially overwrite a SaveRule the <code class = "ph codeph">Frequency</code> might
differ. For example:</p>
<pre class = "codeblock">
<code class = "ph codeph">
DRIVER
 driver.registerSaveRule( UpdateRules.MOVE, CheckPoints.CYCLE_COMPLETE, EventTimes.EVER, ["*.msg"], "SAVE.msg", "_%i", False )
 driver.registerSaveRule( UpdateRules.MOVE, CheckPoints.CYCLE_COMPLETE, EventTimes.FIRST_LAST, ["*.msg"], "AnOtherDir", "_%i", False )
END_
</code>
</pre>
<p>Here, the first SaveRule is partially overwritten. Only in the first and last
design cycle .msg files are saved in AnOtherDir. In all other design cycles they
are saved into SAVE.msg.</p>
</li>
</ul>
</li>
<li class = "li">Disable SaveRules
<p>To disable a SaveRule copy it and change the <code class = "ph codeph">Frequency</code> to <code class = "ph codeph">EventTimes.NEVER</code>.</p>
<pre class = "codeblock">
<code class = "ph codeph">
DRIVER
 driver.registerSaveRule( UpdateRules.MOVE, CheckPoints.CYCLE_COMPLETE, EventTimes.EVER, ["*.msg"], "SAVE.msg", "_%i", False )
 driver.registerSaveRule( UpdateRules.MOVE, CheckPoints.CYCLE_COMPLETE, EventTimes.NEVER, ["*.msg"], "AnOtherDir", "_%i", False )
END_
</code>
</pre>
<p>
<code class = "ph codeph">EventTimes.NEVER</code> always has priority. The following SaveRule will never be executed:
<pre class = "codeblock">
<code class = "ph codeph">
DRIVER
 driver.registerSaveRule( UpdateRules.MOVE, CheckPoints.CYCLE_COMPLETE, [ EventTimes.EVER, EventTimes.NEVER ], ["*.msg"], "SAVE.msg", "_%i", False )
END_
</code>
</pre>
</p>
</li>
<li class = "li">Keeping only the last working version of a file
<p>
If you want to conserve disk space you can use <code class = "ph codeph">EventTimes.LAST</code> instead of <code class = "ph codeph">EventTimes.EVER</code>.
For example, the following SaveRule only ever keeps one version of result.odb in the SAVE.odb directory. During design cycle 5 result_004.odb can be found in SAVE.odb.
Once the 5th design cycle is completed, the SaveRule will update the file from result_004.odb to result_005.odb.
<pre class = "codeblock">
<code class = "ph codeph">
DRIVER
  driver.registerSaveRule( UpdateRules.MOVE, CheckPoints.CYCLE_COMPLETE, EventTimes.LAST, ["result.odb"], "SAVE.odb", "_%i", False )
END_
</code>
</pre>
<code class = "ph codeph">EventTimes.LAST</code> can be combined with bundling and other EventTimes. The next rules behavior is to keep always the latest result.odb and, in addition,
  result.odb from design cycle 3 (named result_003.odb).
<pre class = "codeblock">
<code class = "ph codeph">
DRIVER
  driver.registerSaveRule( UpdateRules.MOVE, CheckPoints.CYCLE_COMPLETE, [ EventTimes.LAST, (EventTimes.NTH, 3 ) ], ["result.odb"], "SAVE.odb", "_%i", False )
END_
</code>
</pre>
</p>
</li>
</ul>
</p>
</div>


<div class = "section" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-regHook"><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"><code class = "ph codeph">driver.registerModuleHook</code> / <code class = "ph codeph">driver.registerCheckPointHook</code></h2>

<p>These functions are used to attach user-scripts to different points of the <span class = "ph">Tosca Python</span> workflow.
Refer to section <a class = "xref" href = "tso-r-cmd-driver-hooks.htm" title = "This section shows how to configure the execution of custom modules at certain points of the Python Driver workflow.">User Script Entry Points ("Hooks")</a> for a comprehensive documentation of these functions.</p>

</div>


<div class = "section" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-setReport"><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"><code class = "ph codeph">driver.setReportCycle( PostTypes, EventTimes )</code></h2>

<p> The <code class = "ph codeph">driver.setReportCycle</code> method allows the user to add reporting steps to be performed at the end of specific design cycles.
<ul class = "ul">
<li class = "li">
<p><code class = "ph codeph">PostTypes</code> can be one of the following:</p>
<p><code class = "ph codeph">PostTypes.REPORT</code>: Generates a .vtfx report</p>
<p><code class = "ph codeph">PostTypes.SMOOTH</code>: Generates a smooth isosurface</p>
<p><code class = "ph codeph">PostTypes.ONF2SIM</code>: Generates an optimization report in .sim file format)</p>
</li>
<li class = "li">
<p><code class = "ph codeph">EventTimes</code> can be one of the following:</p>
<p><code class = "ph codeph">EventTimes.EVER</code>: Every time</p>
<p><code class = "ph codeph">EventTimes.NEVER</code>: Never</p>
<p><code class = "ph codeph">EventTimes.FIRST</code>: Only the first time</p>
<p><code class = "ph codeph">EventTimes.LAST</code>: Only the last time</p>
<p><code class = "ph codeph">EventTimes.FIRST_LAST</code>: Only the first and the last time</p>
<p><code class = "ph codeph">EventTimes.NTH</code>: Only once, the N<sup class = "ph sup">th</sup>-time</p>
<p><code class = "ph codeph">EventTimes.FREQ</code>: Every N<sup class = "ph sup">th</sup>-time</p>
</li>
</ul>
</p>

<p>Here is an example of <code class = "ph codeph">setReportCycle</code> that generates a .vtfx report file after every design cycle and one .sim file at the end of design cycle 5.</p>
<pre class = "codeblock">
<code class = "ph codeph">
DRIVER
 driver.setReportCycle( PostTypes.REPORT, EventTimes.EVER )
 driver.setReportCycle( PostTypes.ONF2SIM, (EventTimes.NTH, 5) )
END_
</code>
</pre>
<pre class = "codeblock">
<code class = "ph codeph">  driver.registerSaveRule( UpdateRules.COPY, CheckPoints.CYCLE_COMPLETE, [ EventTimes.FIRST_LAST, (EventTimes.NTH,1) ], [ '*.odb' ], 'SAVE.odb', '_%i', bundle=True )</code>
</pre>
</div>


<div class = "section" id = "tso-r-cmd-driver-cfgDriverProp__tso-r-cmd-driver-cfgDriverProp-driver-solSubScript"><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">
<code class = "ph codeph">driver.registerSolverSubScripts( Solver, SubmitScriptCmd, CheckScriptCmd, CheckInterval, JobTimeout )</code>
</h2>

<p>
The <code class = "ph codeph">driver.registerSolverSubScripts</code> method allows the user to submit the FE or Life solver run to a cluster system.
The user must supply two scripts, a submit script and a script checking the remote execution status.
Also, once the checkScripts return value is zero <span class = "ph">Tosca</span> resumes its execution expecting all relevant result files are located in the local working directory.
<ul class = "ul">
<li class = "li">
<p><code class = "ph codeph">Solver</code> can be one of the following:</p>
<p><code class = "ph codeph">FeSolvers.ABAQUS</code></p>
<p><code class = "ph codeph">FeSolvers.MSCNASTRAN</code></p>
<p><code class = "ph codeph">LifeSolvers.FESAFE</code></p>
</li>
<li class = "li">
<p>The <code class = "ph codeph">SubmitScriptCmd</code> is a python string containing the system call that is used to call the submit script. The supplied string is appended by the argument list of the solver call (as configured by <span class = "ph">Tosca</span>).</p>
</li>
<li class = "li">
<p>The <code class = "ph codeph">CheckScriptCmd</code> is a python string containing the system call that is used to call the script checking if the remote execution is still running.</p>
<p>The return values of the check script are interpreted by <span class = "ph">Tosca</span> as:</p>
<p>0: Remote execution finished</p>
<p>1: Remote execution still running</p>
<p>&gt;1: Remote execution error</p>
</li>
<li class = "li">
<p><code class = "ph codeph">CheckInterval</code> is an integer(default: 30) and represents the time in seconds <span class = "ph">Tosca</span> is waiting before it calls the check script again.</p>
</li>
<li class = "li">
<p><code class = "ph codeph">JobTimeout</code> is an integer(default: 60) and represents the time in minutes <span class = "ph">Tosca</span> is allowed to wait for a remote execution to finish until it terminates the optimization.</p>
</li>
</ul>
</p>

<p>Here is an example of <code class = "ph codeph">registerSolverSubScripts</code> that runs <code class = "ph codeph">ABAQUS</code> on a remote system:
<pre class = "codeblock">
<code class = "ph codeph">
DRIVER
 driver.registerSolverSubScripts( FeSolvers.ABAQUS, "submitAbaqus.py", "checkStatus.py", 30, 60 )
END_
</code>
</pre>
</p>
</div>


</div>

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