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=<bool> false Export parameters to a .csv file
--algLoopSolver=<arg> "kinsol" Specifies the loop solver method (fixedpoint, kinsol) used for algebraic loops spanning multiple components.
--clearAllOptions Reset all flags to their default values
--CVODEMaxErrTestFails=<int> 100 Maximum number of error test failures for CVODE
--CVODEMaxNLSFailures=<int> 100 Maximum number of nonlinear convergence failures for CVODE
--CVODEMaxNLSIterations=<int> 5 Maximum number of nonlinear solver iterations for CVODE
--CVODEMaxSteps=<int> 1000 Maximum number of steps for CVODE
--deleteTempFiles=<bool> true Delete temporary files as soon as they are no longer needed
--directionalDerivatives=<bool> true Use directional derivatives to calculate the Jacobian for algebraic loops
--dumpAlgLoops=<bool> false Dump information for algebraic loops
--emitEvents=<bool> true Emit events during simulation
--help [-h] Display the help text
--ignoreInitialUnknowns=<bool> false Ignore initial unknowns from the modelDescription.xml
--initialStepSize=<double> 1e-6 Specify the initial step size
--inputExtrapolation=<bool> false Enable input extrapolation using derivative information
--intervals=<int> [-i] 500 Specify the number of communication points (arg > 1)
--logFile=<arg> [-l] "" Specify the log file (stdout is used if no log file is specified)
--logLevel=<int> 0 Set the log level (0: default, 1: debug, 2: debug+trace)
--master=<arg> "ma" Specify the master algorithm (ma)
--maxEventIteration=<int> 100 Specify the maximum number of iterations for handling a single event
--maxLoopIteration=<int> 10 Specify the maximum number of iterations for solving algebraic loops between system-level components. Internal algebraic loops of components are not affected.
--minimumStepSize=<double> 1e-12 Specify the minimum step size
--mode=<arg> [-m] "me" Force a certain FMI mode if the FMU provides both cs and me (cs, me)
--numProcs=<int> [-n] 1 Specify the maximum number of processors to use (0=auto, 1=default)
--progressBar=<bool> false Show a progress bar for the simulation progress in the terminal
--realTime=<bool> false Enable experimental feature for (soft) real-time co-simulation
--resultFile=<arg> [-r] "<default>" Specify the name of the output result file
--skipCSVHeader=<bool> true Skip exporting the CSV delimiter in the header
--solver=<arg> "cvode" Specify the integration method (euler, cvode)
--solverStats=<bool> false Add solver stats to the result file, e.g., step size; not supported for all solvers
--startTime=<double> [-s] 0 Specify the start time
--stepSize=<double> 1e-3 Specify the (maximum) step size
--stopTime=<double> [-t] 1 Specify the stop time
--stripRoot=<bool> false Remove the root system prefix from all exported signals
--suppressPath=<bool> false Suppress path information in info messages; especially useful for testing
--tempDir=<arg> "." Specify the temporary directory
--timeout=<int> 0 Specify the maximum allowed time in seconds for running a simulation (0 disables)
--tolerance=<double> 1e-4 Specify the relative tolerance
--version [-v] Display version information
--wallTime=<bool> false Add wall time information to the result file
--workingDir=<arg> "." Specify the working directory
--zeroNominal=<bool> false Accept FMUs with invalid nominal values and replace the invalid nominal values 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