2. OMSimulator¶
OMSimulator is a command line wrapper for the OMSimulatorLib library.
2.1. OMSimulator Flags¶
A brief description of all command line flags will be displayed using
OMSimulator --help
:
info: Usage: OMSimulator [Options] [Lua script] [FMU] [SSP file]
Options:
--addParametersToCSV=<arg> Export parameters to .csv file (true, [false])
--algLoopSolver=<arg> Specifies the alg. loop solver method (fixedpoint, [kinsol]) used for algebraic loops spanning over multiple components.
--clearAllOptions Reset all flags to default values
--CVODEMaxErrTestFails=<int> Maximum number of error test failures for CVODE
--CVODEMaxNLSFailures=<int> Maximum number of nonlinear convergence failures for CVODE
--CVODEMaxNLSIterations=<int> Maximum number of nonlinear solver iterations for CVODE
--CVODEMaxSteps=<int> Maximum number of steps for CVODE
--deleteTempFiles=<bool> Deletes temp files as soon as they are no longer needed ([true], false)
--directionalDerivatives=<bool> Specifies whether directional derivatives should be used to calculate the Jacobian for alg. loops or if a numerical approximation should be used instead ([true], false)
--dumpAlgLoops=<bool> Dump information for alg loops (true, [false])
--emitEvents=<bool> Specifies whether events should be emitted or not ([true], false)
--fetchAllVars=<arg> Workaround for certain FMUs that do not update all internal dependencies automatically
--help [-h] Displays the help text
--ignoreInitialUnknowns=<bool> Ignore the initial unknowns from the modelDescription.xml (true, [false])
--inputExtrapolation=<bool> Enables input extrapolation using derivative information (true, [false])
--intervals=<int> [-i] Specifies the number of communication points (arg > 1)
--logFile=<arg> [-l] Specifies the logfile (stdout is used if no log file is specified)
--logLevel=<int> 0 default, 1 debug, 2 debug+trace
--maxEventIteration=<int> Specifies the max. number of iterations for handling a single event
--maxLoopIteration=<int> Specifies the max. number of iterations for solving algebraic loops between system-level components. Internal algebraic loops of components are not affected.
--mode=<arg> [-m] Forces a certain FMI mode iff the FMU provides cs and me (cs, [me])
--numProcs=<int> [-n] Specifies the max. number of processors to use (0=auto, 1=default)
--progressBar=<bool> Shows a progress bar for the simulation progress in the terminal (true, [false])
--realTime=<bool> Experimental feature for (soft) real-time co-simulation (true, [false])
--resultFile=<arg> [-r] Specifies the name of the output result file
--skipCSVHeader=<arg> Skip exporting the scv delimiter in the header ([true], false),
--solver=<arg> Specifies the integration method (euler, [cvode])
--solverStats=<bool> Adds solver stats to the result file, e.g. step size; not supported for all solvers (true, [false])
--startTime=<double> [-s] Specifies the start time
--stepSize=<arg> Specifies the step size (<step size> or <init step,min step,max step>)
--stopTime=<double> [-t] Specifies the stop time
--stripRoot=<bool> Removes the root system prefix from all exported signals (true, [false])
--suppressPath=<bool> Supresses path information in info messages; especially useful for testing ([true], false)
--tempDir=<arg> Specifies the temp directory
--timeout=<int> Specifies the maximum allowed time in seconds for running a simulation (0 disables)
--tolerance=<double> Specifies the relative tolerance
--version [-v] Displays version information
--wallTime=<bool> Add wall time information for to the result file (true, [false])
--workingDir=<arg> Specifies the working directory
--zeroNominal=<bool> Using this flag, FMUs with invalid nominal values will be accepted and the invalid nominal values will be replaced with 1.0
To use flag logLevel
with option debug (--logLevel=1
)
or debug+trace (--logLevel=2
) one needs to build OMSimulator
with debug configuration enabled. Refer to the OMSimulator README on GitHub
for further instructions.
2.2. Examples¶
OMSimulator --timeout 180 example.lua