Simulation Runtime Flags — OpenModelica User's Guide v1.28.0-dev-271-g74908e57dd documentation

# Simulation Runtime Flags

This chapter contains a short overview of simulation flags as well as additional details of the numerical integration methods.

## C Runtime Simulation Flags

The simulation executable takes the following flags:

-abortSlowSimulation

  Aborts if the simulation chatters.

-alarm=value or -alarm value

  Aborts after the given number of seconds (default=0 disables the alarm).

-clock=value or -clock value

  Selects the type of clock to use. Valid options include:

  - RT (monotonic real-time clock)

  - CYC (cpu cycles measured with RDTSC)

  - CPU (process-based CPU-time)

-cpu

  Dumps the cpu-time into the result file using the variable named $cpuTime.

-csvOstep=value or -csvOstep value

  Value specifies csv-files for debug values for optimizer step.

-cvodeNonlinearSolverIteration=value or -cvodeNonlinearSolverIteration value

  Nonlinear solver iteration for CVODE solver. Default: Depends on flag cvodeLinearMultistepMethod. Valid values

  - CV_ITER_NEWTON - Newton iteration.

      Advised to use together with flag -cvodeLinearMultistepMethod=CV_BDF.

  - CV_ITER_FIXED_POINT - Fixed-Point iteration iteration.

      Advised to use together with flag -cvodeLinearMultistepMethod=CV_ADAMS.

-cvodeLinearMultistepMethod=value or -cvodeLinearMultistepMethod value

  Linear multistep method for CVODE solver. Default: CV_BDF. Valid values

  - CV_BDF - BDF linear multistep method for stiff problems.

      Use together with flag -cvodeNonlinearSolverIteration=CV_ITER_NEWTON or don't set cvodeNonlinearSolverIteration.

  - CV_ADAMS - Adams-Moulton linear multistep method for nonstiff problems.

      Use together with flag -cvodeNonlinearSolverIteration=CV_ITER_FIXED_POINT or don't set cvodeNonlinearSolverIteration.

-cx=value or -cx value

  Value specifies an csv-file with inputs as correlation coefficient matrix Cx for DataReconciliation

-daeMode

  Enables daeMode simulation if the model was compiled with the omc flag --daeMode and ida method is used.

-deltaXLinearize=value or -deltaXLinearize value

  Value specifies the delta x value for numerical differentiation used by linearization. The default value is sqrt(DBL_EPSILON*2e1).

-deltaXSolver=value or -deltaXSolver value

  Value specifies the delta x value for numerical differentiation used by integration method. The default values is sqrt(DBL_EPSILON).

-embeddedServer=value or -embeddedServer value

  Enables an embedded server. Valid values:

  - none - default, run without embedded server

  - opc-da - [broken] run with embedded OPC DA server (WIN32 only, uses proprietary OPC SC interface)

  - opc-ua - [experimental] run with embedded OPC UA server (TCP port 4841 for now; will have its own configuration option later)

  - filename - path to a shared object implementing the embedded server interface (requires access to internal OMC data-structures if you want to read or write data)

-embeddedServerPort=value or -embeddedServerPort value

  Value specifies the port number used by the embedded server. The default value is 4841.

-mat_sync=value or -mat_sync value

  Syncs the mat file header after emitting every N time-points.

-emit_protected

  Emits protected variables to the result-file.

-eps=value or -eps value

  Value specifies the number of convergence iteration to be performed for DataReconciliation

-f=value or -f value

  Value specifies a new setup XML file to the generated simulation code.

-help=value or -help value

  Get detailed information that specifies the command-line flag

  For example, -help=f prints detailed information for command-line flag f.

-homAdaptBend=value or -homAdaptBend value

  Maximum trajectory bending to accept the homotopy step. Default: 0.5, which means the corrector vector has to be smaller than half of the predictor vector.

-homBacktraceStrategy=value or -homBacktraceStrategy value

  Value specifies the backtrace strategy in the homotopy corrector step. Valid values:

  - fix - default, go back to the path by fixing one coordinate

  - orthogonal - go back to the path in an orthogonal direction to the tangent vector

-homHEps=value or -homHEps value

  Tolerance respecting residuals for the homotopy H-function (default: 1e-5).

  In the last step (lambda=1) newtonFTol is used as tolerance.

-homMaxLambdaSteps=value or -homMaxLambdaSteps value

  Maximum lambda steps allowed to run the homotopy path (default: system size * 100).

-homMaxNewtonSteps=value or -homMaxNewtonSteps value

  Maximum newton steps in the homotopy corrector step (default: 20).

-homMaxTries=value or -homMaxTries value

  Maximum number of tries for one homotopy lambda step (default: 10).

-homNegStartDir

  Start to run along the homotopy path in the negative direction.

  If one direction fails, the other direction is always used as fallback option.

-homotopyOnFirstTry

  If the model contains the homotopy operator, directly use the homotopy method to solve the initialization problem. This is already the default behaviour, this flag can be used to undo the effect of -noHomotopyOnFirstTry

-noHomotopyOnFirstTry

  Disable the use of the homotopy method to solve the initialization problem. Without this flag, the solver tries to solve the initialization problem with homotopy if the model contains the homotopy-operator.

-homTauDecFac=value or -homTauDecFac value

  Decrease homotopy step size tau by this factor if tau is too big in the homotopy corrector step (default: 10.0).

-homTauDecFacPredictor=value or -homTauDecFacPredictor value

  Decrease homotopy step size tau by this factor if tau is too big in the homotopy predictor step (default: 2.0).

-homTauIncFac=value or -homTauIncFac value

  Increase homotopy step size tau by this factor if tau can be increased after the homotopy corrector step (default: 2.0).

-homTauIncThreshold=value or -homTauIncThreshold value

  Increase the homotopy step size tau if homAdaptBend/bend > homTauIncThreshold (default: 10).

-homTauMax=value or -homTauMax value

  Maximum homotopy step size tau for the homotopy process (default: 10).

-homTauMin=value or -homTauMin value

  Minimum homotopy step size tau for the homotopy process (default: 1e-4).

-homTauStart=value or -homTauStart value

  Homotopy step size tau at the beginning of the homotopy process (default: 0.2).

-idaMaxErrorTestFails=value or -idaMaxErrorTestFails value

  Value specifies the maximum number of error test failures in attempting one step. The default value is 7.

-idaMaxNonLinIters=value or -idaMaxNonLinIters value

  Value specifies the maximum number of nonlinear solver iterations at one step. The default value is 3.

-idaMaxConvFails=value or -idaMaxConvFails value

  Value specifies the maximum number of nonlinear solver convergence failures at one step. The default value is 10.

-idaNonLinConvCoef=value or -idaNonLinConvCoef value

  Value specifies the safety factor in the nonlinear convergence test. The default value is 0.33.

-idaLS=value or -idaLS value

  Value specifies the linear solver of the ida integration method. Valid values:

  - dense (ida internal dense method.)

  - klu (ida use sparse direct solver KLU. (default))

  - spgmr (ida generalized minimal residual method. Iterative method)

  - spbcg (ida Bi-CGStab. Iterative method)

  - sptfqmr (ida TFQMR. Iterative method)

-idaScaling

  Enable scaling of the IDA solver.

-idaSensitivity

  Enables sensitivity analysis with respect to parameters if the model is compiled with omc flag --calculateSensitivities.

-ignoreHideResult

  Emits also variables with HideResult=true annotation.

-iif=value or -iif value

  Value specifies an external file for the initialization of the model.

-iim=value or -iim value

  Value specifies the initialization method. Following options are available: 'symbolic' (default) and 'none'.

  - none (sets all variables to their start values and skips the initialization process)

  - symbolic (solves the initialization problem symbolically - default)

-iit=value or -iit value

  Value [Real] specifies a time for the initialization of the model.

-ils=value or -ils value

  Value specifies the number of steps for homotopy method (required: -iim=symbolic). The value is an Integer with default value 3.

-initialStepSize=value or -initialStepSize value

  Value specifies an initial step size, used by the methods: dassl, ida, gbode

-csvInput=value or -csvInput value

  Value specifies an csv-file with inputs for the simulation/optimization of the model

-stateFile=value or -stateFile value

  Value specifies an file with states start values for the optimization of the model.

-inputPath=value or -inputPath value

  Value specifies a path for reading the input files i.e., model_init.xml and model_info.json

-ipopt_hesse=value or -ipopt_hesse value

  Value specifies the hessematrix for Ipopt(OMC, BFGS, const).

-ipopt_init=value or -ipopt_init value

  Value specifies the initial guess for optimization (sim, const).

-ipopt_jac=value or -ipopt_jac value

  Value specifies the Jacobian for Ipopt(SYM, NUM, NUMDENSE).

-ipopt_max_iter=value or -ipopt_max_iter value

  Value specifies the max number of iteration for ipopt.

-ipopt_warm_start=value or -ipopt_warm_start value

  Value specifies lvl for a warm start in ipopt: 1,2,3,...

-jacobian=value or -jacobian value

  Select the calculation method for Jacobian used by the integration method:

  - coloredNumerical (Colored numerical Jacobian, which is default for dassl and ida. Needs omc compiler flag --generateDynamicJacobian=numeric. With option -idaLS=klu a sparse matrix is used.)

  - internalNumerical (Dense solver internal numerical Jacobian.)

  - coloredSymbolical (Colored symbolical Jacobian. Needs omc compiler flag --generateDynamicJacobian=symbolic. With option -idaLS=klu a sparse matrix is used.)

  - coloredSymbolicalAdjoint (Colored symbolical adjoint Jacobian. Needs omc compiler flags --newBackend and --generateDynamicJacobian=symbolicadjoint.)

  - numerical (Dense numerical Jacobian.)

  - symbolical (Dense symbolical Jacobian. Needs omc compiler flag --generateDynamicJacobian=symbolic.)

  - bicoloredSymbolical (Bidirectional (star bicolored) symbolical Jacobian. Needs omc compiler flags --newBackend and --generateDynamicJacobian=bidirectional.)

-jacobianNominalFactor=value or -jacobianNominalFactor value
  The numerical Jacobian differences column i over

    delta_h * max(|x[i]|, |h*x'[i]|)

  and, where that is inside the variable's own absolute tolerance and so is no scale of its own, over delta_h*factor*nominal[i] instead. Lower the factor for a model that is non-smooth at that wider step; the value is a Double with default value 1.0.

-jacobianThreads=value or -jacobianThreads value

  Value specifies the number of threads for jacobian evaluation in dassl or ida. The value is an Integer with default value 1.

-l=value or -l value

  Value specifies a time where the linearization of the model should be performed.

-l_datarec

  Emit data recovery matrices with model linearization.

-logFormat=value or -logFormat value

  Value specifies the log format of the executable:

  - text (default)

  - xml

  - xmltcp (required -port flag)

-ls=value or -ls value

  Value specifies the linear solver method

  - lapack (method using LAPACK LU factorization)

  - lis (method using iterative solver Lis)

  - klu (method using KLU sparse linear solver)

  - umfpack (method using UMFPACK sparse linear solver)

  - totalpivot (method using a total pivoting LU factorization for underdetermination systems)

  - default (default method - LAPACK with total pivoting as fallback)

-ls_ipopt=value or -ls_ipopt value

  Value specifies the linear solver method for Ipopt, default mumps. Note: Use if you build ipopt with other linear solver like ma27

-lss=value or -lss value

  Value specifies the linear sparse solver method

  - default (the default sparse linear solver (or a dense solver if there is none available) )

  - lis (method using iterative solver Lis)

  - klu (method using klu sparse linear solver)

  - umfpack (method using umfpack sparse linear solver)

-lssMaxDensity=value or -lssMaxDensity value

  Value specifies the maximum density for using a linear sparse solver. The value is a Double with default value 0.2.

-lssMinSize=value or -lssMinSize value

  Value specifies the minimum system size for using a linear sparse solver. The value is an Integer with default value 1000.

-lv=value or -lv value

  Value (a comma-separated String list) specifies which logging levels to enable. Multiple options can be enabled at the same time.

  - LOG_STDOUT (this stream is always active, can be disabled with -lv=-LOG_STDOUT)

  - LOG_ASSERT (this stream is always active, can be disabled with -lv=-LOG_ASSERT)

  - LOG_DASSL (additional information about dassl solver)

  - LOG_DASSL_STATES (outputs the states at every dassl call)

  - LOG_DEBUG (additional debug information)

  - LOG_DELAY (debug information for delay operator)

  - LOG_DIVISION (Log division by zero)

  - LOG_DSS (outputs information about dynamic state selection)

  - LOG_DSS_JAC (outputs jacobian of the dynamic state selection)

  - LOG_DT (additional information about dynamic tearing)

  - LOG_DT_CONS (additional information about dynamic tearing (local and global constraints))

  - LOG_EVENTS (additional information during event iteration)

  - LOG_EVENTS_V (verbose logging of event system)

  - LOG_GBODE (information about GBODE solver)

  - LOG_GBODE_V (verbose information about GBODE solver)

  - LOG_GBODE_NLS (log non-linear solver process of GBODE solver)

  - LOG_GBODE_NLS_V (verbose log non-linear solver process of GBODE solver)

  - LOG_GBODE_STATES (output states at every GBODE call)

  - LOG_INIT (additional information during initialization)

  - LOG_INIT_HOMOTOPY (log homotopy initialization)

  - LOG_INIT_V (verbose information during initialization)

  - LOG_IPOPT (information from Ipopt)

  - LOG_IPOPT_FULL (more information from Ipopt)

  - LOG_IPOPT_JAC (check jacobian matrix with Ipopt)

  - LOG_IPOPT_HESSE (check hessian matrix with Ipopt)

  - LOG_IPOPT_ERROR (print max error in the optimization)

  - LOG_JAC (outputs the jacobian matrix used by ODE solvers)

  - LOG_LS (logging for linear systems)

  - LOG_LS_V (verbose logging of linear systems)

  - LOG_MIXED (logging for mixed systems)

  - LOG_MOO (logging for dynamic optimization library MOO)

  - LOG_NLS (logging for nonlinear systems)

  - LOG_NLS_V (verbose logging of nonlinear systems)

  - LOG_NLS_HOMOTOPY (logging of homotopy solver for nonlinear systems)

  - LOG_NLS_JAC (outputs the jacobian of nonlinear systems)

  - LOG_NLS_JAC_TEST (tests the analytical jacobian of nonlinear systems)

  - LOG_NLS_JAC_SUMS (tests the absolute sums of rows and cols in Kinsol Jacobian)

  - LOG_NLS_NEWTON_DIAGNOSTICS (newton diagnostics (see: https://doi.org/10.1016/j.amc.2021.125991))

  - LOG_NLS_DERIVATIVE_TEST (test derivatives in KINSOL nonlinear systems)

  - LOG_NLS_SVD (perform a SVD analysis in KINSOL nonlinear systems)

  - LOG_NLS_SVD_V (perform a SVD analysis in KINSOL nonlinear systems (verbose))

  - LOG_NLS_RES (outputs every evaluation of the residual function)

  - LOG_NLS_EXTRAPOLATE (outputs debug information about extrapolate process)

  - LOG_RES_INIT (outputs residuals of the initialization)

  - LOG_RT (additional information regarding real-time processes)

  - LOG_SIMULATION (additional information about simulation process)

  - LOG_SOLVER (additional information about solver process)

  - LOG_SOLVER_V (verbose information about the integration process)

  - LOG_SOLVER_CONTEXT (context information during the solver process)

  - LOG_SOTI (final solution of the initialization)

  - LOG_SPATIALDISTR (logging of internal operations for spatialDistribution)

  - LOG_STATS (additional statistics about timer/events/solver)

  - LOG_STATS_V (additional statistics for OMC_LOG_STATS)

  - LOG_SUCCESS (this stream is always active, unless deactivated with -lv=-LOG_SUCCESS)

  - LOG_SYNCHRONOUS (log clocks and sub-clocks for synchronous features)

  - LOG_ZEROCROSSINGS (additional information about the zerocrossings)

-lvMaxWarn=value or -lvMaxWarn value

  Maximum number of times some repeating warnings are displayed. Default value 3.

-lv_time=value or -lv_time value

  Interval (a comma-separated Double list with two elements) specifies in which time interval logging is active. Doesn't affect LOG_STDOUT, LOG_ASSERT, and LOG_SUCCESS, LOG_STATS, LOG_STATS_V.

-lv_system=value or -lv_system value

  Value is a comma-separated list of equation indices (available in the transformational debugger) for which solver logs are shown (by default logs for all systems are shown)

-mbi=value or -mbi value

  Value specifies the maximum number of bisection iterations for state event detection or zero for default behavior

-mei=value or -mei value

  Value specifies the maximum number of event iterations. The value is an Integer with default value 20.

-maxIntegrationOrder=value or -maxIntegrationOrder value

  Value specifies maximum integration order, used by the methods: dassl, ida.

-maxStepSize=value or -maxStepSize value

  Value specifies maximum absolute step size, used by the methods: dassl, ida, gbode.

-measureTimePlotFormat=value or -measureTimePlotFormat value

  Value specifies the output format of the measure time functionality:

  - svg

  - jpg

  - ps

  - gif

  - ...

-moo

  Perform dynamic optimization with MOO library

-moo_l2bn_p1_it=value or -moo_l2bn_p1_it value

  Value specifies the number of phase I iterations (full bisections) for L2-Boundary-Norm mesh refinement in MOO

-moo_l2bn_p2_it=value or -moo_l2bn_p2_it value

  Value specifies the number of phase II iterations (refinement) for L2-Boundary-Norm mesh refinement in MOO

-moo_l2bn_p2_lvl=value or -moo_l2bn_p2_lvl value

  Value specifies the phase II refinement aggressiveness for L2-Boundary-Norm mesh refinement in MOO

-newtonFTol=value or -newtonFTol value

  Tolerance respecting residuals for updating solution vector in Newton solver. Solution is accepted if the (scaled) 2-norm of the residuals is smaller than the tolerance newtonFTol and the (scaled) newton correction (delta_x) is smaller than the tolerance newtonXTol. The value is a Double with default value 1e-12.

-newtonMaxSteps=value or -newtonMaxSteps value

  Maximum number of newton steps, used currently only by KINSOL in solver GBODE.

-newtonMaxStepFactor=value or -newtonMaxStepFactor value

  Maximum newton step factor mxnewtstep = maxStepFactor * norm2(xScaling). Used currently only by KINSOL.

-newtonXTol=value or -newtonXTol value

  Tolerance respecting newton correction (delta_x) for updating solution vector in Newton solver. Solution is accepted if the (scaled) 2-norm of the residuals is smaller than the tolerance newtonFTol and the (scaled) newton correction (delta_x) is smaller than the tolerance newtonXTol. The value is a Double with default value 1e-12.

-newtonJacUpdates=value or -newtonJacUpdates value

  Number of steps before Jacobian is recomputed. If zero is chosen, the corresponding solution phase is skipped.

-newton=value or -newton value

  Value specifies the damping strategy for the newton solver.

  - damped (Newton with a damping strategy)

  - damped2 (Newton with a damping strategy 2)

  - damped_ls (Newton with a damping line search)

  - damped_bt (Newton with a damping backtracking and a minimum search via golden ratio method)

  - pure (Newton without damping strategy)

-nls=value or -nls value

  Value specifies the nonlinear solver:

  - hybrid (Modification of the Powell hybrid method from minpack - former default solver)

  - kinsol (SUNDIALS/KINSOL includes an interface to the sparse direct solver, KLU. See simulation option -nlsLS for more information.)

  - experimental-kinsol (SUNDIALS/KINSOL (with internal scaling) includes an interface to the sparse direct solver, KLU. See simulation option -nlsLS for more information.)

  - newton (Newton Raphson - prototype implementation)

  - mixed (Mixed strategy. First the homotopy solver is tried and then as fallback the hybrid solver.)

  - homotopy (Damped Newton solver if failing case fixed-point and Newton homotopies are tried.)

-nlsInfo

  Outputs detailed information about solving process of non-linear systems into csv files.

-nlsLS=value or -nlsLS value

  Value specifies the linear solver used by the non-linear solver:

  - default (chooses the nls linear solver based on which nls is being used.)

  - totalpivot (internal total pivot implementation. Solve in some case even under-determined systems.)

  - lapack (use external LAPACK implementation.)

  - klu (use KLU direct sparse solver. Only with KINSOL available.)

-nlssMaxDensity=value or -nlssMaxDensity value

  Value specifies the maximum density for using a non-linear sparse solver. The value is a Double with default value 0.1.

-nlssMinSize=value or -nlssMinSize value

  Value specifies the minimum system size for using a non-linear sparse solver. The value is an Integer with default value 1000.

-nlsJacTestATol=value or -nlsJacTestATol value

  Value specifies the absolute tolerance for the Jacobian derivative test.

-nlsJacTestRTol=value or -nlsJacTestRTol value

  Value specifies the relative tolerance for the Jacobian derivative test.

-noemit

  Do not emit any results to the result file.

-noEquidistantTimeGrid

  Output the internal steps given by dassl/ida instead of interpolating results into an equidistant time grid as given by stepSize or numberOfIntervals.

-noEquidistantOutputFrequency=value or -noEquidistantOutputFrequency value

  Integer value n controls the output frequency in noEquidistantTimeGrid mode and outputs every n-th time step

-noEquidistantOutputTime=value or -noEquidistantOutputTime value

  Real value timeValue controls the output time point in noEquidistantOutputTime mode and outputs every time>=k*timeValue, where k is an integer

-noEventEmit

  Do not emit event points to the result file.

-noRestart

  Disables the restart of the integration method after an event is performed, used by the methods: dassl, ida

-noRootFinding

  Disables the internal root finding procedure of methods: dassl and ida.

-noScaling

  Disables scaling for the variables and the residuals in the algebraic nonlinear solver KINSOL.

-noSuppressAlg

  Flag to not suppress algebraic variables in the local error test of the ida solver in daeMode. In general, the use of this option is discouraged when solving DAE systems of index 1, whereas it is generally encouraged for systems of index 2 or more.

-optDebugJac=value or -optDebugJac value

  Value specifies the number of iterations from the dynamic optimization, which will be debugged, creating .csv and .py files.

-optimizerNP=value or -optimizerNP value

  Value specifies the number of points in a subinterval. Currently supports numbers 1 and 3.

-optimizerTimeGrid=value or -optimizerTimeGrid value

  Value specifies external file with time points.

-output=value or -output value

  Output the variables a, b and c at the end of the simulation to the standard output: time = value, a = value, b = value, c = value

-outputFormat=value or -outputFormat value

  Sets file format of the result file.

-outputPath=value or -outputPath value

  Value specifies a path for writing the output files i.e., model_res.mat, model_prof.intdata, model_prof.realdata etc.

-override=value or -override value

  Override the variables in the XML setup file For example: var1=start1,var2=start2,par3=start3

-overrideFile=value or -overrideFile value

  Will override the variables in the XML setup file with the values from the file. Note that: -overrideFile CANNOT be used with -override. Use when variables for -override are too many. overrideFileName contains lines of the form: var=start

-port=value or -port value

  Value specifies the port for simulation status (default disabled).

-r=value or -r value

  Value specifies the name of the output result file. The default file-name is based on the model name and output format. For example: Model_res.mat.

-reconcile

  Run the Data Reconciliation numerical computation algorithm for constrained equations

-reconcileBoundaryConditions

  Run the Data Reconciliation numerical computation algorithm for boundary condition equations

-reconcileState

  Run the State Estimation numerical computation algorithm for constrained equations

-gbm=value or -gbm value

  Value specifies the chosen solver of solver gbode (single-rate, slow states integrator).

  - adams (Implicit multistep method of type Adams-Moulton (order 2))

  - expl_euler (Explizit Runge-Kutta Euler method (order 1))

  - impl_euler (Implizit Runge-Kutta Euler method (order 1, L-stable))

  - trapezoid (Implicit Runge-Kutta trapezoid method (order 2, A-stable))

  - sdirk2 (Singly-diagonal implicit Runge-Kutta (order 2, L-stable))

  - sdirk3 (Singly-diagonal implicit Runge-Kutta (order 3, L-stable))

  - sdirk4 (Singly-diagonal implicit Runge-Kutta (order 4, L-stable))

  - esdirk2 (Explicit singly-diagonal implicit Runge-Kutta (order 2, L-stable))

  - esdirk3 (Explicit singly-diagonal implicit Runge-Kutta (order 3, L-stable))

  - esdirk4 (Explicit singly-diagonal implicit Runge-Kutta (order 4, L-stable, 6 stages))

  - esdirk4s7 (Explicit singly-diagonal implicit Runge-Kutta (order 4, L-stable, 7 stages))

  - sirk3l (Singly-implicit Runge-Kutta SIRK3(2)3L[2]SA (order 3, L-stable))

  - sirk3 (Singly-implicit Runge-Kutta SIRK3(2)4L[3]SA (order 3, L-stable))

  - sirk3s5 (Singly-implicit Runge-Kutta SIRK3(2)5L[3]SA (order 3, L-stable))

  - sirk4 (Singly-implicit Runge-Kutta SIRK4(3)5L[3]SA (order 4, L-stable))

  - sirk5 (Singly-implicit Runge-Kutta SIRK5(4)5L[3]SA (order 5, L-stable))

  - sirk4s6 (Singly-implicit Runge-Kutta SIRK4(3)6L[4]SA (order 4, L-stable))

  - sirk5s6 (Singly-implicit Runge-Kutta SIRK5(4)6L[4]SA (order 5, L-stable))

  - sirk5s7 (Singly-implicit Runge-Kutta SIRK5(4)7L[4]SA (order 5, L-stable))

  - sirk6s7 (Singly-implicit Runge-Kutta SIRK6(5)7L[4]SA (order 6, L-stable))

  - sirk6s8 (Singly-implicit Runge-Kutta SIRK6(5)8L[4]SA (order 6, L-stable))

  - sirk5s7l5 (Singly-implicit Runge-Kutta SIRK5(4)7L[5]SA (order 5, L-stable))

  - firk7 (Fully-implicit Runge-Kutta FIRK7(6TS)5L[4]SA (order 7, L-stable))

  - radauIA2 (Implicit Runge-Kutta method of Radau family IA (order 3, L-stable))

  - radauIA3 (Implicit Runge-Kutta method of Radau family IA (order 5, L-stable))

  - radauIA4 (Implicit Runge-Kutta method of Radau family IA (order 7, L-stable))

  - radauIIA2 (Implicit Runge-Kutta method of Radau family IIA (order 3, L-stable))

  - radauIIA3 (Implicit Runge-Kutta method of Radau family IIA (order 5, L-stable))

  - radauIIA4 (Implicit Runge-Kutta method of Radau family IIA (order 7, L-stable))

  - radauIIA5 (Implicit Runge-Kutta method of Radau family IIA (order 9, L-stable))

  - radauIIA6 (Implicit Runge-Kutta method of Radau family IIA (order 11, L-stable))

  - radauIIA7 (Implicit Runge-Kutta method of Radau family IIA (order 13, L-stable))

  - lobattoIIIA3 (Implicit Runge-Kutta method of Lobatto family IIIA (order 4, A-stable))

  - lobattoIIIA4 (Implicit Runge-Kutta method of Lobatto family IIIA (order 6, A-stable))

  - lobattoIIIB3 (Implicit Runge-Kutta method of Lobatto family IIIB (order 4, A-stable))

  - lobattoIIIB4 (Implicit Runge-Kutta method of Lobatto family IIIB (order 6, A-stable))

  - lobattoIIIC3 (Implicit Runge-Kutta method of Lobatto family IIIC (order 4, L-stable))

  - lobattoIIIC4 (Implicit Runge-Kutta method of Lobatto family IIIC (order 6, L-stable))

  - gauss2 (Implicit Runge-Kutta method of Gauss (order 4, A-stable))

  - gauss3 (Implicit Runge-Kutta method of Gauss (order 6, A-stable))

  - gauss4 (Implicit Runge-Kutta method of Gauss (order 8, A-stable))

  - gauss5 (Implicit Runge-Kutta method of Gauss (order 10, A-stable))

  - gauss6 (Implicit Runge-Kutta method of Gauss (order 12, A-stable))

  - merson (Explicit Runge-Kutta Merson method (order 4))

  - mersonSsc1 (Explicit Runge-Kutta Merson method with large stability region (order 1))

  - mersonSsc2 (Explicit Runge-Kutta Merson method with large stability region (order 2))

  - heun (Explicit Runge-Kutta Heun method (order 2))

  - fehlberg12 (Explicit Runge-Kutta Fehlberg method (order 2))

  - fehlberg45 (Explicit Runge-Kutta Fehlberg method (order 5))

  - fehlberg78 (Explicit Runge-Kutta Fehlberg method (order 8))

  - fehlbergSsc1 (Explicit Runge-Kutta Fehlberg method with large stability region (order 1))

  - fehlbergSsc2 (Explicit Runge-Kutta Fehlberg method with large stability region (order 2))

  - rk810 (Explicit 8-10 Runge-Kutta method (order 10))

  - rk1012 (Explicit 10-12 Runge-Kutta method (order 12))

  - rk1214 (Explicit 12-14 Runge-Kutta method (order 14))

  - dopri45 (Explicit Runge-Kutta method Dormand-Prince (order 5))

  - dopriSsc1 (Explicit Runge-Kutta method Dormand-Prince with large stability region (order 1))

  - dopriSsc2 (Explicit Runge-Kutta method Dormand-Prince with large stability region (order 2))

  - tsit5 (Explicit Runge-Kutta method from Tsitouras (order 5))

  - rungekutta (Explicit classical Runge-Kutta method (order 4))

  - rungekuttaSsc (Explicit Runge-Kutta method with large stabiliy region (order 1))

-gbctrl=value or -gbctrl value

  Step size control of solver gbode (single-rate, slow states integrator).

  - i (I controller for step size (beta=1/k, k RK error order))

  - pi_33 (PI controller for step size (beta1=0.7/k, beta2=-0.4/k))

  - pi_34 (PI controller for step size (beta1=2./3./k, beta2=-1./3./k))

  - pi_42 (PI controller for step size (beta1=0.6/k, beta2=-0.2/k))

  - pid_h312 (PID controller for step size (alpha1=1./18./k, alpha2=1./9./k, alpha3=1./18./k))

  - pid_soederlind (PID controller for step size (alpha1=0.1/k, alpha2=0.2/k, alpha3=0.1/k))

  - pid_stiff (PID controller for step size (alpha1=0.58/k, alpha2=0.21/k, alpha3=0.21/k))

  - pc (Standard PI Predictive controller (beta1=2/k, beta2=-1/k, ratio=1))

  - pc_hybrid (Hybrid I / PI Predictive controller: min(PI Predictive, I))

  - pi_h211 (PI Predictive controller (beta1=0.25/k, beta2=0.25/k, ratio=-0.25))

  - pi_h0_211 (PI Predictive controller (beta1=0.5/k, beta2=0.5/k, ratio=-0.5))

  - pid_h0_312 (PID Predictive controller (alpha1=0.25/k, alpha2=0.5/k, alpha3=0.25/k, ratio1=-0.75, ratio2=-0.25))

  - pid_h0_321 (PID Predictive controller (alpha1=1.25/k, alpha2=0.5/k, alpha3=-0.75/k, ratio1=0.25, ratio2=0.75))

  - ppid (PID Predictive controller (alpha1=6./20/k, alpha2=1./20/k, alpha3=-5./20/k, ratio1=1.0, ratio2=0.0))

  - const (Constant step size)

-gbctrl_evnt_reinit

  Reset step size using standard inital step size selection after an event (default false)

-gbctrl_filter=value or -gbctrl_filter value

  Applies exponential smoothing to the step size factor; gbctrl_filter = 0 yields constant step size, gbctrl_filter = 1 uses full adaptation without averaging.

-gbctrl_fhr

  Applies adaptive damping to the step size factor using Führer’s approach, scaling it by h_fac *= (h_n / h_n1)^gamma to penalize repeated rejections or reward successful step acceptance.

-gberr=value or -gberr value

  Error estimation method for solver gbode (single-rate, slow states integrator) Possible values:

  > - default - depending on the Runge-Kutta method

  > - richardson - Richardson extrapolation

  > - embedded - Embedded scheme

  > - two_step - Two-step estimator, if available

  > - contractive_defect - Contractive defect estimator, if available

  > - contractive_filter - Contractive filter applied to the embedded estimator, if available

-gbint=value or -gbint value

  Interpolation method of solver gbode (single-rate, slow states integrator).

  - linear (Linear interpolation (1st order))

  - hermite (Hermite interpolation (3rd order))

  - hermite_a (Hermite interpolation (only for left hand side))

  - hermite_b (Hermite interpolation (only for right hand side))

  - hermite_errctrl (Hermite interpolation with error control)

  - dense_output (use dense output formula for interpolation)

  - dense_output_errctrl (use dense output fomular with error control)

-gbnls=value or -gbnls value

  Non-linear solver method of solver gbode (single-rate, slow states integrator).

  - newton (Newton method, dense)

  - kinsol (SUNDIALS KINSOL: Inexact Newton, sparse)

  - experimental-kinsol (experimental kinsol)

  - internal (simplified Newton with decoupling transformation (uses KLU))

-gbnls_internal_damping=value or -gbnls_internal_damping value

  Value specifies damping applied to the estimated convergence rate in the first Newton iteration (0 <= value <= 1; 0 = conservative, 1 = optimistic). Only valid for -gbnls=internal. Since no history is available in the first Newton iteration, the convergence rate is taken from the previous solve and raised to the power of this value.

-gbnls_internal_jackeep=value or -gbnls_internal_jackeep value

  Value specifies how often the ODE Jacobian is recalculated (0 <= value < 1). Only valid for -gbnls=internal. The Jacobian is kept, if the linear convergence rate || dz_k || / || dz_{k-1} || of the Newton iteration is smaller than the specified value. Small values result in more Jacobian callbacks.

-gbfm=value or -gbfm value

  Value specifies the chosen solver of solver gbode (multi-rate, fast states integrator). Current Restriction: Fully implicit (Gauss, Radau, Lobatto) RK methods are not supported, yet.

  - adams (Implicit multistep method of type Adams-Moulton (order 2))

  - expl_euler (Explizit Runge-Kutta Euler method (order 1))

  - impl_euler (Implizit Runge-Kutta Euler method (order 1, L-stable))

  - trapezoid (Implicit Runge-Kutta trapezoid method (order 2, A-stable))

  - sdirk2 (Singly-diagonal implicit Runge-Kutta (order 2, L-stable))

  - sdirk3 (Singly-diagonal implicit Runge-Kutta (order 3, L-stable))

  - sdirk4 (Singly-diagonal implicit Runge-Kutta (order 4, L-stable))

  - esdirk2 (Explicit singly-diagonal implicit Runge-Kutta (order 2, L-stable))

  - esdirk3 (Explicit singly-diagonal implicit Runge-Kutta (order 3, L-stable))

  - esdirk4 (Explicit singly-diagonal implicit Runge-Kutta (order 4, L-stable, 6 stages))

  - esdirk4s7 (Explicit singly-diagonal implicit Runge-Kutta (order 4, L-stable, 7 stages))

  - sirk3l (Singly-implicit Runge-Kutta SIRK3(2)3L[2]SA (order 3, L-stable))

  - sirk3 (Singly-implicit Runge-Kutta SIRK3(2)4L[3]SA (order 3, L-stable))

  - sirk3s5 (Singly-implicit Runge-Kutta SIRK3(2)5L[3]SA (order 3, L-stable))

  - sirk4 (Singly-implicit Runge-Kutta SIRK4(3)5L[3]SA (order 4, L-stable))

  - sirk5 (Singly-implicit Runge-Kutta SIRK5(4)5L[3]SA (order 5, L-stable))

  - sirk4s6 (Singly-implicit Runge-Kutta SIRK4(3)6L[4]SA (order 4, L-stable))

  - sirk5s6 (Singly-implicit Runge-Kutta SIRK5(4)6L[4]SA (order 5, L-stable))

  - sirk5s7 (Singly-implicit Runge-Kutta SIRK5(4)7L[4]SA (order 5, L-stable))

  - sirk6s7 (Singly-implicit Runge-Kutta SIRK6(5)7L[4]SA (order 6, L-stable))

  - sirk6s8 (Singly-implicit Runge-Kutta SIRK6(5)8L[4]SA (order 6, L-stable))

  - sirk5s7l5 (Singly-implicit Runge-Kutta SIRK5(4)7L[5]SA (order 5, L-stable))

  - firk7 (Fully-implicit Runge-Kutta FIRK7(6TS)5L[4]SA (order 7, L-stable))

  - radauIA2 (Implicit Runge-Kutta method of Radau family IA (order 3, L-stable))

  - radauIA3 (Implicit Runge-Kutta method of Radau family IA (order 5, L-stable))

  - radauIA4 (Implicit Runge-Kutta method of Radau family IA (order 7, L-stable))

  - radauIIA2 (Implicit Runge-Kutta method of Radau family IIA (order 3, L-stable))

  - radauIIA3 (Implicit Runge-Kutta method of Radau family IIA (order 5, L-stable))

  - radauIIA4 (Implicit Runge-Kutta method of Radau family IIA (order 7, L-stable))

  - radauIIA5 (Implicit Runge-Kutta method of Radau family IIA (order 9, L-stable))

  - radauIIA6 (Implicit Runge-Kutta method of Radau family IIA (order 11, L-stable))

  - radauIIA7 (Implicit Runge-Kutta method of Radau family IIA (order 13, L-stable))

  - lobattoIIIA3 (Implicit Runge-Kutta method of Lobatto family IIIA (order 4, A-stable))

  - lobattoIIIA4 (Implicit Runge-Kutta method of Lobatto family IIIA (order 6, A-stable))

  - lobattoIIIB3 (Implicit Runge-Kutta method of Lobatto family IIIB (order 4, A-stable))

  - lobattoIIIB4 (Implicit Runge-Kutta method of Lobatto family IIIB (order 6, A-stable))

  - lobattoIIIC3 (Implicit Runge-Kutta method of Lobatto family IIIC (order 4, L-stable))

  - lobattoIIIC4 (Implicit Runge-Kutta method of Lobatto family IIIC (order 6, L-stable))

  - gauss2 (Implicit Runge-Kutta method of Gauss (order 4, A-stable))

  - gauss3 (Implicit Runge-Kutta method of Gauss (order 6, A-stable))

  - gauss4 (Implicit Runge-Kutta method of Gauss (order 8, A-stable))

  - gauss5 (Implicit Runge-Kutta method of Gauss (order 10, A-stable))

  - gauss6 (Implicit Runge-Kutta method of Gauss (order 12, A-stable))

  - merson (Explicit Runge-Kutta Merson method (order 4))

  - mersonSsc1 (Explicit Runge-Kutta Merson method with large stability region (order 1))

  - mersonSsc2 (Explicit Runge-Kutta Merson method with large stability region (order 2))

  - heun (Explicit Runge-Kutta Heun method (order 2))

  - fehlberg12 (Explicit Runge-Kutta Fehlberg method (order 2))

  - fehlberg45 (Explicit Runge-Kutta Fehlberg method (order 5))

  - fehlberg78 (Explicit Runge-Kutta Fehlberg method (order 8))

  - fehlbergSsc1 (Explicit Runge-Kutta Fehlberg method with large stability region (order 1))

  - fehlbergSsc2 (Explicit Runge-Kutta Fehlberg method with large stability region (order 2))

  - rk810 (Explicit 8-10 Runge-Kutta method (order 10))

  - rk1012 (Explicit 10-12 Runge-Kutta method (order 12))

  - rk1214 (Explicit 12-14 Runge-Kutta method (order 14))

  - dopri45 (Explicit Runge-Kutta method Dormand-Prince (order 5))

  - dopriSsc1 (Explicit Runge-Kutta method Dormand-Prince with large stability region (order 1))

  - dopriSsc2 (Explicit Runge-Kutta method Dormand-Prince with large stability region (order 2))

  - tsit5 (Explicit Runge-Kutta method from Tsitouras (order 5))

  - rungekutta (Explicit classical Runge-Kutta method (order 4))

  - rungekuttaSsc (Explicit Runge-Kutta method with large stabiliy region (order 1))

-gbfctrl=value or -gbfctrl value

  Step size control of solver gbode (multi-rate, fast states integrator).

  - i (I controller for step size (beta=1/k, k RK error order))

  - pi_33 (PI controller for step size (beta1=0.7/k, beta2=-0.4/k))

  - pi_34 (PI controller for step size (beta1=2./3./k, beta2=-1./3./k))

  - pi_42 (PI controller for step size (beta1=0.6/k, beta2=-0.2/k))

  - pid_h312 (PID controller for step size (alpha1=1./18./k, alpha2=1./9./k, alpha3=1./18./k))

  - pid_soederlind (PID controller for step size (alpha1=0.1/k, alpha2=0.2/k, alpha3=0.1/k))

  - pid_stiff (PID controller for step size (alpha1=0.58/k, alpha2=0.21/k, alpha3=0.21/k))

  - pc (Standard PI Predictive controller (beta1=2/k, beta2=-1/k, ratio=1))

  - pc_hybrid (Hybrid I / PI Predictive controller: min(PI Predictive, I))

  - pi_h211 (PI Predictive controller (beta1=0.25/k, beta2=0.25/k, ratio=-0.25))

  - pi_h0_211 (PI Predictive controller (beta1=0.5/k, beta2=0.5/k, ratio=-0.5))

  - pid_h0_312 (PID Predictive controller (alpha1=0.25/k, alpha2=0.5/k, alpha3=0.25/k, ratio1=-0.75, ratio2=-0.25))

  - pid_h0_321 (PID Predictive controller (alpha1=1.25/k, alpha2=0.5/k, alpha3=-0.75/k, ratio1=0.25, ratio2=0.75))

  - ppid (PID Predictive controller (alpha1=6./20/k, alpha2=1./20/k, alpha3=-5./20/k, ratio1=1.0, ratio2=0.0))

  - const (Constant step size)

-gbferr=value or -gbferr value

  Error estimation method for solver gbode (multi-rate, fast states integrator) Possible values:

  > - default - depending on the Runge-Kutta method

  > - richardson - Richardson extrapolation

  > - embedded - Embedded scheme

  > - two_step - Two-step estimator, if available

  > - contractive_defect - Contractive defect estimator, if available

  > - contractive_filter - Contractive filter applied to the embedded estimator, if available

-gbfint=value or -gbfint value

  Interpolation method of solver gbode (multi-rate, fast states integrator).

  - linear (Linear interpolation (1st order))

  - hermite (Hermite interpolation (3rd order))

  - hermite_a (Hermite interpolation (only for left hand side))

  - hermite_b (Hermite interpolation (only for right hand side))

  - hermite_errctrl (Hermite interpolation with error control)

  - dense_output (use dense output formula for interpolation)

  - dense_output_errctrl (use dense output fomular with error control)

-gbfnls=value or -gbfnls value

  Non-linear solver method of solver gbode (multi-rate, fast states integrator).

  - newton (Newton method, dense)

  - kinsol (SUNDIALS KINSOL: Inexact Newton, sparse)

  - experimental-kinsol (experimental kinsol)

  - internal (simplified Newton with decoupling transformation (uses KLU))

-gbratio=value or -gbratio value

  Define percentage of states for the fast states selection of solver gbode (values from 0 to 1).

-rt=value or -rt value

  Value specifies the scaling factor for real-time synchronization (0 disables). A value > 1 means the simulation takes a longer time to simulate.

-s=value or -s value

  Value specifies the integration method. For additional information see the User's Guide

  - dassl (default) - BDF method - implicit (dense solver), variable step size control, adaptive order 1-5, event location

  - ida - SUNDIALS IDA solver - BDF method - implicit (sparse/dense solver, default sparse) variable step size control, adaptive order 1-5, event location - additional simulation flags: -idaMaxErrorTestFails -idaMaxNonLinIters -idaMaxConvFails -idaNonLinConvCoef -idaLS -idaScaling -idaSensitivity

  - cvode - SUNDIALS CVODE solver - BDF or Adams-Moulton solver - implicit (dense solver), variable step-size control, adaptive order 1-12, event location - additional simulation flags -cvodeLinearMultistepMethod -cvodeNonlinearSolverIteration

  - gbode - generic Runge-Kutta ODE solver - implicit (sparse solver)/explicit, fixed/variable step size control, order 1-14, event location, optional bi-rate integration - additional simulation flags -gbm -gbctrl -gbratio - additional advanced flags -gbctrl_filter -gbctrl_fhr -gberr -gbint -gbnls -gbfm -gbfctrl -gbferr -gbfint -gbfnls

  - euler - explicit Euler, fixed step size, order 1

  - rungekutta - classical Runge-Kutta - explicit, fixed step, order 4

  - symSolver - symbolic inline Solver [compiler flag '--symSolver' needed] - fixed step size, order 1

  - symSolverSsc - symbolic implicit Euler with step size control [compiler flag '--symSolver' needed] - step size control, order 1

  - qss - A QSS solver [experimental]

  - optimization - Special solver for dynamic optimization

-saveInitialGuess_system=value or -saveInitialGuess_system value

  Debug flag that performs standard initialization until the specified system is reached, computes only the torn part and saves the results obtained so far to a .mat file

-single

  Output results in single precision (mat-format only).

-steps

  Dumps the number of integration steps into the result file.

-startTime=value or -startTime value

  Sets startTime for the simulation.

-steadyState

  Aborts the simulation if steady state is reached.

-steadyStateTol=value or -steadyStateTol value

  This relative tolerance is used to detect steady state: max(|d(x_i)/dt|/nominal(x_i)) < steadyStateTol

-stepSize=value or -stepSize value

  Sets stepSize for the simulation.

-stopAtSystem=value or -stopAtSystem value

  Performs standard initialization until the specified system is reached, then aborts the simulation.

-stopTime=value or -stopTime value

  Sets stopTime for the simulation.

-svdCount=value or -svdCount value

  Number of extremal singular values and vectors computed for LOG_NLS_SVD (0 disables).

-svdSigma=value or -svdSigma value

  Estimated smallest singular value for the preconditioner in SVD analysis.

-sx=value or -sx value

  Value specifies an csv-file with inputs as covariance matrix Sx for DataReconciliation

-tolerance=value or -tolerance value

  Specifies solver tolerance.

-keepHessian=value or -keepHessian value

  Value specifies the number of steps, which keep Hessian matrix constant.

-variableFilter=value or -variableFilter value

  Specifies which variables should be present in the result-file using POSIX Extended Regular Expressions. The given expression must match the full variable name.

-w

  Shows all warnings even if a related log-stream is inactive.

-parmodNumThreads=value or -parmodNumThreads value

  Value specifies the number of threads for simulation using parmodauto. If not specified (or is 0) it will use the systems max number of threads. Note that this option is ignored if the model is not compiled with --parmodauto

-parmodScheduler=value or -parmodScheduler value

  Selects the parmodauto scheduler: 'flow' (default) or 'level'. Switchable at run time without recompiling the simulator.

-parmodClustering=value or -parmodClustering value

  Selects the parmodauto clustering strategy: 'default' (merge-based), 'fixed_width_min_height', or 'none'.

-parmodClustersPerLevel=value or -parmodClustersPerLevel value

  Sets the maximum number of clusters per level used by the default clustering.

-parmodExportTaskGraph=value or -parmodExportTaskGraph value

  Exports the parmodauto task graph (tasks, dependencies) and the resulting clustering to the given json file, keyed by equation index.

-parmodImportClustering=value or -parmodImportClustering value

  Imports a clustering (groups of equation indices) from the given json file instead of computing one. The simulation aborts if the clustering is invalid (forms a cycle or references unknown equations).

-parmodDumpStages=value or -parmodDumpStages value

  Exports the parmodauto task graph and clustering before and after each clustering optimization to a series of json files named <prefix>.NN.<stage>.json, so the effect of each optimization can be inspected.