OpenModelica Compiler Flags =========================== Usage: omc [Options] (Model.mo | Script.mos) [Libraries | .mo-files] * Libraries: Fully qualified names of libraries to load before processing Model or Script. The libraries should be separated by spaces: Lib1 Lib2 ... LibN. .. _omcflags-options : Options ------- .. _omcflag-debug: :ref:`-d, --debug` Sets debug flags. Use :ref:`--help=debug ` to see available flags. String list (default *empty*). .. _omcflag-help: :ref:`-h, --help` Displays the help text. Use --help=topics for more information. String (default *empty*). .. _omcflag-version: :ref:`--v, --version` Print the version and exit. Boolean (default ``false``). .. _omcflag-target: :ref:`--target` Sets the target compiler to use. String (default gcc). Valid options: * gcc * msvc * msvc10 * msvc12 * msvc13 * msvc15 * vxworks69 * debugrt .. _omcflag-grammar: :ref:`-g, --grammar` Sets the grammar and semantics to accept. String (default Modelica). Valid options: * Modelica * MetaModelica * ParModelica * Optimica * PDEModelica .. _omcflag-annotationVersion: :ref:`--annotationVersion` Sets the annotation version that should be used. String (default 3.x). Valid options: * 1.x * 2.x * 3.x .. _omcflag-std: :ref:`--std` Sets the language standard that should be used. String (default latest). Valid options: * 1.x * 2.x * 3.1 * 3.2 * 3.3 * latest .. _omcflag-showErrorMessages: :ref:`--showErrorMessages` Show error messages immediately when they happen. Boolean (default ``false``). .. _omcflag-showAnnotations: :ref:`--showAnnotations` Show annotations in the flattened code. Boolean (default ``false``). .. _omcflag-noSimplify: :ref:`--noSimplify` Do not simplify expressions if set. Boolean (default ``false``). .. _omcflag-preOptModules: :ref:`--preOptModules` Sets the pre optimization modules to use in the back end. See :ref:`--help=optmodules ` for more info. String list (default evaluateReplaceProtectedFinalEvaluateParameters,simplifyIfEquations,expandDerOperator,removeEqualFunctionCalls,clockPartitioning,findStateOrder,replaceEdgeChange,inlineArrayEqn,removeSimpleEquations,comSubExp,evalFunc,encapsulateWhenConditions). Valid options: * clockPartitioning (Does the clock partitioning.) * comSubExp (replaces common sub expressions) * dumpDAE (dumps the DAE representation of the current transformation state) * dumpDAEXML (dumps the DAE as xml representation of the current transformation state) * encapsulateWhenConditions (This module replaces each when condition with a boolean variable.) * evalFunc (evaluates functions partially) * evaluateAllParameters (Evaluates all parameters to increase simulation speed.) * evaluateEvaluateParameters (Structural parameters and parameters declared as final are removed and replaced with their value. They may no longer be changed in the init file.) * evaluateFinalEvaluateParameters (Structural parameters and parameters declared as final are removed and replaced with their value. They may no longer be changed in the init file.) * evaluateFinalParameters (Structural parameters and parameters declared as final are evalutated and replaced with their value in other vars. They may no longer be changed in the init file.) * evaluateReplaceEvaluateParameters (Structural parameters and parameters declared as final are removed and replaced with their value. They may no longer be changed in the init file.) * evaluateReplaceFinalEvaluateParameters (Structural parameters and parameters declared as final are removed and replaced with their value. They may no longer be changed in the init file.) * evaluateReplaceFinalParameters (Structural parameters and parameters declared as final are removed and replaced with their value. They may no longer be changed in the init file.) * evaluateReplaceProtectedFinalEvaluateParameters (Structural parameters and parameters declared as final or protected are removed and replaced with their value. They may no longer be changed in the init file.) * expandDerOperator (Expands der(expr) using Derive.differentiteExpTime.) * findStateOrder (Sets derivative information to states.) * inlineArrayEqn (This module expands all array equations to scalar equations.) * inputDerivativesForDynOpt (Allowed derivatives of inputs in dyn. optimization.) * introduceDerAlias (Adds for every der-call an alias equation e.g. dx = der(x).) * removeEqualFunctionCalls (Detects equal function calls of the form a=f(b) and c=f(b) and substitutes them to get speed up.) * removeProtectedParameters (Replace all parameters with protected=true in the system.) * removeSimpleEquations (Performs alias elimination and removes constant variables from the DAE, replacing all occurrences of the old variable reference with the new value (constants) or variable reference (alias elimination).) * removeUnusedParameter (Strips all parameter not present in the equations from the system.) * removeUnusedVariables (Strips all variables not present in the equations from the system.) * replaceEdgeChange (Replace edge(b) = b and not pre(b) and change(b) = v <> pre(v).) * residualForm (Transforms simple equations x=y to zero-sum equations 0=y-x.) * resolveLoops (resolves linear equations in loops) * simplifyAllExpressions (Does simplifications on all expressions.) * simplifyIfEquations (Tries to simplify if equations by use of information from evaluated parameters.) * sortEqnsVars (Heuristic sorting for equations and variables. This module requires +d=sortEqnsAndVars.) * stateMachineElab (Does the elaboration of state machines.) * unitChecking (advanced unit checking: 1. calculation of unspecified unit information for variables; 2. unit consistency check for equations) * wrapFunctionCalls (This module wraps function calls to gain speed up.) .. _omcflag-cheapmatchingAlgorithm: :ref:`--cheapmatchingAlgorithm` Sets the cheap matching algorithm to use. A cheap matching algorithm gives a jump start matching by heuristics. Integer (default ``3``). Valid options: * 0 (No cheap matching.) * 1 (Cheap matching, traverses all equations and match the first free variable.) * 3 (Random Karp-Sipser: R. M. Karp and M. Sipser. Maximum matching in sparse random graphs.) .. _omcflag-matchingAlgorithm: :ref:`--matchingAlgorithm` Sets the matching algorithm to use. See :ref:`--help=optmodules ` for more info. String (default PFPlusExt). Valid options: * BFSB (Breadth First Search based algorithm.) * DFSB (Depth First Search based algorithm.) * MC21A (Depth First Search based algorithm with look ahead feature.) * PF (Depth First Search based algorithm with look ahead feature.) * PFPlus (Depth First Search based algorithm with look ahead feature and fair row traversal.) * HK (Combined BFS and DFS algorithm.) * HKDW (Combined BFS and DFS algorithm.) * ABMP (Combined BFS and DFS algorithm.) * PR (Matching algorithm using push relabel mechanism.) * DFSBExt (Depth First Search based Algorithm external c implementation.) * BFSBExt (Breadth First Search based Algorithm external c implementation.) * MC21AExt (Depth First Search based Algorithm with look ahead feature external c implementation.) * PFExt (Depth First Search based Algorithm with look ahead feature external c implementation.) * PFPlusExt (Depth First Search based Algorithm with look ahead feature and fair row traversal external c implementation.) * HKExt (Combined BFS and DFS algorithm external c implementation.) * HKDWExt (Combined BFS and DFS algorithm external c implementation.) * ABMPExt (Combined BFS and DFS algorithm external c implementation.) * PRExt (Matching algorithm using push relabel mechanism external c implementation.) * BB (BBs try.) .. _omcflag-indexReductionMethod: :ref:`--indexReductionMethod` Sets the index reduction method to use. See :ref:`--help=optmodules ` for more info. String (default dynamicStateSelection). Valid options: * uode (Use the underlying ODE without the constraints.) * dynamicStateSelection (Simple index reduction method, select (dynamic) dummy states based on analysis of the system.) * dummyDerivatives (Simple index reduction method, select (static) dummy states based on heuristic.) .. _omcflag-postOptModules: :ref:`--postOptModules` Sets the post optimization modules to use in the back end. See :ref:`--help=optmodules ` for more info. String list (default lateInlineFunction,inlineArrayEqn,constantLinearSystem,simplifysemiLinear,removeSimpleEquations,simplifyComplexFunction,tearingSystem,inputDerivativesUsed,calculateStrongComponentJacobians,calculateStateSetsJacobians,detectJacobianSparsePattern,removeConstants,simplifyTimeIndepFuncCalls,simplifyAllExpressions). Valid options: * addScaledVars_states (added var_norm = var/nominal, where var is state) * addScaledVars_inputs (added var_norm = var/nominal, where var is input) * addTimeAsState (Experimental feature: this replaces each occurrence of variable time with a new introduced state $time with equation der($time) = 1.0) * calculateStateSetsJacobians (Generates analytical jacobian for dynamic state selection sets.) * calculateStrongComponentJacobians (Generates analytical jacobian for torn linear and non-linear strong components. By default non-linear components with user-defined function calls are skipped. See also debug flags: NLSanalyticJacobian and forceNLSanalyticJacobian) * constantLinearSystem (Evaluates constant linear systems (a*x+b*y=c; d*x+e*y=f; a,b,c,d,e,f are constants) at compile-time.) * countOperations (Count the mathematical operations of the system.) * cseBinary (Common Sub-expression Elimination) * detectJacobianSparsePattern (Detects the sparse pattern for Jacobian A.) * dumpComponentsGraphStr (Dumps the assignment graph used to determine strong components to format suitable for Mathematica) * dumpDAE (dumps the DAE representation of the current transformation state) * dumpDAEXML (dumps the DAE as xml representation of the current transformation state) * evaluateEvaluateParameters (Structural parameters and parameters declared as final are removed and replaced with their value. They may no longer be changed in the init file.) * evaluateFinalEvaluateParameters (Structural parameters and parameters declared as final are removed and replaced with their value. They may no longer be changed in the init file.) * evaluateFinalParameters (Structural parameters and parameters declared as final are removed and replaced with their value. They may no longer be changed in the init file.) * evaluateReplaceEvaluateParameters (Structural parameters and parameters declared as final are removed and replaced with their value. They may no longer be changed in the init file.) * evaluateReplaceFinalEvaluateParameters (Structural parameters and parameters declared as final are removed and replaced with their value. They may no longer be changed in the init file.) * evaluateReplaceFinalParameters (Structural parameters and parameters declared as final are removed and replaced with their value. They may no longer be changed in the init file.) * evaluateReplaceProtectedFinalEvaluateParameters (Structural parameters and parameters declared as final and protected parameters are removed and replaced with their value. They may no longer be changed in the init file.) * extendDynamicOptimization (Move loops to constraints.) * generateSymbolicJacobian (Generates symbolic Jacobian matrix, where der(x) is differentiated w.r.t. x. This matrix can be used to simulate with dasslColorSymJac.) * generateSymbolicLinearization (Generates symbolic linearization matrices A,B,C,D for linear model::math:`\dot{x} = Ax + Bu`:math:`ty = Cx +Du`) * inlineArrayEqn (This module expands all array equations to scalar equations.) * inputDerivativesUsed (Checks if derivatives of inputs are need to calculate the model.) * lateInlineFunction (Perform function inlining for function with annotation LateInline=true.) * partlintornsystem (partitions linear torn systems.) * recursiveTearing (inline and repeat tearing) * reduceDynamicOptimization (Removes equations which are not needed for the calculations of cost and constraints. This module requires +d=reduceDynOpt.) * relaxSystem (relaxation from gausian elemination) * removeConstants (Remove all constants in the system.) * removeEqualFunctionCalls (Detects equal function calls of the form a=f(b) and c=f(b) and substitutes them to get speed up.) * removeSimpleEquations (Performs alias elimination and removes constant variables from the DAE, replacing all occurrences of the old variable reference with the new value (constants) or variable reference (alias elimination).) * removeUnusedParameter (Strips all parameter not present in the equations from the system to get speed up for compilation of target code.) * removeUnusedVariables (Strips all variables not present in the equations from the system to get speed up for compilation of target code.) * reshufflePost (Reshuffles algebraic loops.) * simplifyAllExpressions (Does simplifications on all expressions.) * simplifyComplexFunction (Some simplifications on complex functions (complex refers to the internal data structure)) * simplifyConstraints (Rewrites nonlinear constraints into box constraints if possible. This module requires +gDynOpt.) * simplifyLoops (Simplifies algebraic loops. This modules requires +simplifyLoops.) * simplifyTimeIndepFuncCalls (Simplifies time independent built in function calls like pre(param) -> param, der(param) -> 0.0, change(param) -> false, edge(param) -> false.) * simplifysemiLinear (Simplifies calls to semiLinear.) * solveLinearSystem (solve linear system with newton step) * solveSimpleEquations (Solves simple equations) * symEuler (Rewrites the ode system for implicit Euler method. This module requires +symEuler.) * tearingSystem (For method selection use flag tearingMethod.) * wrapFunctionCalls (This module wraps function calls to gain speed up.) .. _omcflag-simCodeTarget: :ref:`--simCodeTarget` Sets the target language for the code generation. String (default C). Valid options: * None * Adevs * C * Cpp * CSharp * Java * JavaScript * sfmi * XML .. _omcflag-orderConnections: :ref:`--orderConnections` Orders connect equations alphabetically if set. Boolean (default ``true``). .. _omcflag-typeinfo: :ref:`-t, --typeinfo` Prints out extra type information if set. Boolean (default ``false``). .. _omcflag-keepArrays: :ref:`-a, --keepArrays` Sets whether to split arrays or not. Boolean (default ``false``). .. _omcflag-modelicaOutput: :ref:`-m, --modelicaOutput` Enables valid modelica output for flat modelica. Boolean (default ``false``). .. _omcflag-silent: :ref:`-q, --silent` Turns on silent mode. Boolean (default ``false``). .. _omcflag-corbaSessionName: :ref:`-c, --corbaSessionName` Sets the name of the corba session if -d=interactiveCorba is used. String (default *empty*). .. _omcflag-numProcs: :ref:`-n, --numProcs` Sets the number of processors to use (0=default=auto). Integer (default ``0``). .. _omcflag-latency: :ref:`-l, --latency` Sets the latency for parallel execution. Integer (default ``0``). .. _omcflag-bandwidth: :ref:`-b, --bandwidth` Sets the bandwidth for parallel execution. Integer (default ``0``). .. _omcflag-instClass: :ref:`-i, --instClass` Instantiate the class given by the fully qualified path. String (default *empty*). .. _omcflag-vectorizationLimit: :ref:`-v, --vectorizationLimit` Sets the vectorization limit, arrays and matrices larger than this will not be vectorized. Integer (default ``0``). .. _omcflag-simulationCg: :ref:`-s, --simulationCg` Turns on simulation code generation. Boolean (default ``false``). .. _omcflag-evalAnnotationParams: :ref:`--evalAnnotationParams` Sets whether to evaluate parameters in annotations or not. Boolean (default ``false``). .. _omcflag-generateLabeledSimCode: :ref:`--generateLabeledSimCode` Turns on labeled SimCode generation for reduction algorithms. Boolean (default ``false``). .. _omcflag-reduceTerms: :ref:`--reduceTerms` Turns on reducing terms for reduction algorithms. Boolean (default ``false``). .. _omcflag-reductionMethod: :ref:`--reductionMethod` Sets the reduction method to be used. String (default deletion). Valid options: * deletion * substitution * linearization .. _omcflag-demoMode: :ref:`--demoMode` Disable Warning/Error Massages. Boolean (default ``false``). .. _omcflag-locale: :ref:`--locale` Override the locale from the environment. String (default *empty*). .. _omcflag-defaultOCLDevice: :ref:`-o, --defaultOCLDevice` Sets the default OpenCL device to be used for parallel execution. Integer (default ``0``). .. _omcflag-maxTraversals: :ref:`--maxTraversals` Maximal traversals to find simple equations in the acausal system. Integer (default ``2``). .. _omcflag-dumpTarget: :ref:`--dumpTarget` Redirect the dump to file. If the file ends with .html HTML code is generated. String (default *empty*). .. _omcflag-delayBreakLoop: :ref:`--delayBreakLoop` Enables (very) experimental code to break algebraic loops using the delay() operator. Probably messes with initialization. Boolean (default ``true``). .. _omcflag-tearingMethod: :ref:`--tearingMethod` Sets the tearing method to use. Select no tearing or choose tearing method. String (default cellier). Valid options: * noTearing (Skip tearing.) * omcTearing (Tearing method developed by TU Dresden: Frenkel, Schubert.) * cellier (Tearing based on Celliers method, revised by FH Bielefeld: Täuber, Patrick) .. _omcflag-tearingHeuristic: :ref:`--tearingHeuristic` Sets the tearing heuristic to use for Cellier-tearing. String (default MC3). Valid options: * MC1 (Original cellier with consideration of impossible assignments and discrete Vars.) * MC2 (Modified cellier, drop first step.) * MC11 (Modified MC1, new last step 'count impossible assignments'.) * MC21 (Modified MC2, new last step 'count impossible assignments'.) * MC12 (Modified MC1, step 'count impossible assignments' before last step.) * MC22 (Modified MC2, step 'count impossible assignments' before last step.) * MC13 (Modified MC1, build sum of impossible assignment and causalizable equations, choose var with biggest sum.) * MC23 (Modified MC2, build sum of impossible assignment and causalizable equations, choose var with biggest sum.) * MC231 (Modified MC23, Two rounds, choose better potentials-set.) * MC3 (Modified cellier, build sum of impossible assignment and causalizable equations for all vars, choose var with biggest sum.) * MC4 (Modified cellier, use all heuristics, choose var that occurs most in potential sets) .. _omcflag-disableLinearTearing: :ref:`--disableLinearTearing` Disables the tearing of linear systems. That might improve the performance of large linear systems(N>1000) in combination with a sparse solver (e.g. umfpack) at runtime (usage with: -ls umfpack). Boolean (default ``false``). .. _omcflag-scalarizeMinMax: :ref:`--scalarizeMinMax` Scalarizes the builtin min/max reduction operators if true. Boolean (default ``false``). .. _omcflag-scalarizeBindings: :ref:`--scalarizeBindings` Always scalarizes bindings if set. Boolean (default ``false``). .. _omcflag-corbaObjectReferenceFilePath: :ref:`--corbaObjectReferenceFilePath` Sets the path for corba object reference file if -d=interactiveCorba is used. String (default *empty*). .. _omcflag-hpcomScheduler: :ref:`--hpcomScheduler` Sets the scheduler for task graph scheduling (list | listr | level | levelfix | ext | metis | mcp | taskdep | tds | bls | rand | none). Default: level. String (default level). .. _omcflag-hpcomCode: :ref:`--hpcomCode` Sets the code-type produced by hpcom (openmp | pthreads | pthreads_spin | tbb | mpi). Default: openmp. String (default openmp). .. _omcflag-rewriteRulesFile: :ref:`--rewriteRulesFile` Activates user given rewrite rules for Absyn expressions. The rules are read from the given file and are of the form rewrite(fromExp, toExp); String (default *empty*). .. _omcflag-replaceHomotopy: :ref:`--replaceHomotopy` Replaces homotopy(actual, simplified) with the actual expression or the simplified expression. Good for debugging models which use homotopy. The default is to not replace homotopy. String (default none). Valid options: * none (Default, do not replace homotopy.) * actual (Replace homotopy(actual, simplified) with actual.) * simplified (Replace homotopy(actual, simplified) with simplified.) .. _omcflag-generateSymbolicJacobian: :ref:`--generateSymbolicJacobian` Generates symbolic Jacobian matrix, where der(x) is differentiated w.r.t. x. This matrix can be utilise by dassl with the runtime option: -dasslJacobian=coloredSymbolical|symbolical. Deprecated flag: Use --postOptModules+=generateSymbolicJacobian instead. Boolean (default ``false``). .. _omcflag-generateSymbolicLinearization: :ref:`--generateSymbolicLinearization` Generates symbolic linearization matrices A,B,C,D for linear model: :math:`\dot x = Ax + Bu` :math:`y = Cx +Du` Boolean (default ``false``). .. _omcflag-intEnumConversion: :ref:`--intEnumConversion` Allow Integer to enumeration conversion. Boolean (default ``false``). .. _omcflag-profiling: :ref:`--profiling` Sets the profiling level to use. Profiled equations and functions record execution time and count for each time step taken by the integrator. String (default none). Valid options: * none (Generate code without profiling) * blocks (Generate code for profiling function calls as well as linear and non-linear systems of equations) * blocks+html (Like blocks, but also run xsltproc and gnuplot to generate an html report) * all (Generate code for profiling of all functions and equations) * all_perf (Generate code for profiling of all functions and equations with additional performance data using the papi-interface (cpp-runtime)) * all_stat (Generate code for profiling of all functions and equations with additional statistics (cpp-runtime)) .. _omcflag-reshuffle: :ref:`--reshuffle` sets tolerance of reshuffling algorithm: 1: conservative, 2: more tolerant, 3 resolve all Integer (default ``1``). .. _omcflag-gDynOpt: :ref:`--gDynOpt` Generate dynamic optimization problem based on annotation approach. Boolean (default ``false``). .. _omcflag-maxSizeSolveLinearSystem: :ref:`--maxSizeSolveLinearSystem` Max size for solveLinearSystem. Integer (default ``0``). .. _omcflag-cppFlags: :ref:`--cppFlags` Sets extra flags for compilation with the C++ compiler (e.g. +cppFlags=-O3,-Wall) String list (default ). .. _omcflag-removeSimpleEquations: :ref:`--removeSimpleEquations` Specifies method that removes simple equations. String (default default). Valid options: * none (Disables module) * default (Performs alias elimination and removes constant variables. Default case uses in preOpt phase the fastAcausal and in postOpt phase the causal implementation.) * causal (Performs alias elimination and removes constant variables. Causal implementation.) * fastAcausal (Performs alias elimination and removes constant variables. fastImplementation fastAcausal.) * allAcausal (Performs alias elimination and removes constant variables. Implementation allAcausal.) * new (New implementation (experimental)) .. _omcflag-dynamicTearing: :ref:`--dynamicTearing` Activates dynamic tearing (TearingSet can be changed automatically during runtime, strict set vs. casual set.) Boolean (default ``false``). .. _omcflag-symEuler: :ref:`--symEuler` Rewrite the ode system for implicit euler. Boolean (default ``false``). .. _omcflag-loop2con: :ref:`--loop2con` Specifies method that transform loops in constraints. hint: using initial guess from file! String (default none). Valid options: * none (Disables module) * lin (linear loops --> constraints) * noLin (no linear loops --> constraints) * all (loops --> constraints) .. _omcflag-forceTearing: :ref:`--forceTearing` Use tearing set even if it is not smaller than the original component. Boolean (default ``false``). .. _omcflag-simplifyLoops: :ref:`--simplifyLoops` Simplify algebraic loops. Integer (default ``0``). Valid options: * 0 (do nothing) * 1 (special modification of residual expressions) * 2 (special modification of residual expressions with helper variables) .. _omcflag-recursiveTearing: :ref:`--recursiveTearing` Inline and repeat tearing. Integer (default ``0``). Valid options: * 0 (do nothing) * 1 (linear tearing set of size 1) * 2 (linear tearing) .. _omcflag-flowThreshold: :ref:`--flowThreshold` Sets the minium threshold for stream flow rates Real (default ``1e-07``). .. _omcflag-matrixFormat: :ref:`--matrixFormat` Sets the matrix format type in cpp runtime which should be used (dense | sparse ). Default: dense. String (default dense). .. _omcflag-partlintorn: :ref:`--partlintorn` Sets the limit for partitionin of linear torn systems. Integer (default ``0``). .. _omcflag-initOptModules: :ref:`--initOptModules` Sets the initialization optimization modules to use in the back end. See :ref:`--help=optmodules ` for more info. String list (default simplifyComplexFunction,tearingSystem,calculateStrongComponentJacobians,solveSimpleEquations,simplifyAllExpressions). Valid options: * calculateStrongComponentJacobians (Generates analytical jacobian for torn linear and non-linear strong components. By default non-linear components with user-defined function calls are skipped. See also debug flags: NLSanalyticJacobian and NLSanalyticJacobianDisable) * constantLinearSystem (Evaluates constant linear systems (a*x+b*y=c; d*x+e*y=f; a,b,c,d,e,f are constants) at compile-time.) * extendDynamicOptimization (Move loops to constraints.) * inputDerivativesUsed (Checks if derivatives of inputs are need to calculate the model.) * recursiveTearing (inline and repeat tearing) * reduceDynamicOptimization (Removes equations which are not needed for the calculations of cost and constraints. This module requires +d=reduceDynOpt.) * simplifyAllExpressions (Does simplifications on all expressions.) * simplifyComplexFunction (Some simplifications on complex functions (complex refers to the internal data structure)) * simplifyConstraints (Rewrites nonlinear constraints into box constraints if possible. This module requires +gDynOpt.) * simplifyLoops (Simplifies algebraic loops. This modules requires +simplifyLoops.) * solveSimpleEquations (Solves simple equations) * tearingSystem (For method selection use flag tearingMethod.) .. _omcflag-maxMixedDeterminedIndex: :ref:`--maxMixedDeterminedIndex` Sets the maximum mixed-determined index that is handled by the initialization. Integer (default ``3``). .. _omcflag-useLocalDirection: :ref:`--useLocalDirection` Keeps the input/output prefix for all variables in the flat model, not only top-level ones. Boolean (default ``false``). .. _omcflag-defaultOptModulesOrdering: :ref:`--defaultOptModulesOrdering` If this is activated, then the specified pre-/post-/init-optimization modules will be rearranged to the recommended ordering. Boolean (default ``true``). .. _omcflag-preOptModules+: :ref:`--preOptModules+` Sets additional pre-optimization modules to use in the back end. See :ref:`--help=optmodules ` for more info. String list (default *empty*). .. _omcflag-preOptModules-: :ref:`--preOptModules-` Disables a list of pre-optimization modules. See :ref:`--help=optmodules ` for more info. String list (default *empty*). .. _omcflag-postOptModules+: :ref:`--postOptModules+` Sets additional post-optimization modules to use in the back end. See :ref:`--help=optmodules ` for more info. String list (default *empty*). .. _omcflag-postOptModules-: :ref:`--postOptModules-` Disables a list of post-optimization modules. See :ref:`--help=optmodules ` for more info. String list (default *empty*). .. _omcflag-initOptModules+: :ref:`--initOptModules+` Sets additional init-optimization modules to use in the back end. See :ref:`--help=optmodules ` for more info. String list (default *empty*). .. _omcflag-initOptModules-: :ref:`--initOptModules-` Disables a list of init-optimization modules. See :ref:`--help=optmodules ` for more info. String list (default *empty*). .. _omcflag-debug-section: Debug flags ----------- The debug flag takes a comma-separated list of flags which are used by the compiler for debugging or experimental purposes. Flags prefixed with "-" or "no" will be disabled. The available flags are (+ are enabled by default, - are disabled): .. _omcflag-debug-Cache: :ref:`Cache ` (default: on) Turns off the instantiation cache. .. _omcflag-debug-NLSanalyticJacobian: :ref:`NLSanalyticJacobian ` (default: on) Enables analytical jacobian for non-linear strong components without user-defined function calls, for that see forceNLSanalyticJacobian .. _omcflag-debug-acceptTooManyFields: :ref:`acceptTooManyFields ` (default: off) Accepts passing records with more fields than expected to a function. This is not allowed, but is used in Fluid.Dissipation. See https://trac.modelica.org/Modelica/ticket/1245 for details. .. _omcflag-debug-addDerAliases: :ref:`addDerAliases ` (default: off) Adds for every der-call an alias equation e.g. dx = der(x). It's a work-a-round flag, which helps im some cases to simulate the models e.g. Modelica.Fluid.Examples.HeatExchanger.HeatExchangerSimulation. Deprecated flag: Use --preOptModules+=introduceDerAlias instead. .. _omcflag-debug-addScaledVars: :ref:`addScaledVars ` (default: off) Adds an alias equation var_nrom = var/nominal where var is state Deprecated flag: Use --postOptModules+=addScaledVars_states instead. .. _omcflag-debug-addScaledVarsInput: :ref:`addScaledVarsInput ` (default: off) Adds an alias equation var_nrom = var/nominal where var is input Deprecated flag: Use --postOptModules+=addScaledVars_inputs instead. .. _omcflag-debug-advanceTearing: :ref:`advanceTearing ` (default: off) Using ExpressionSolve in adjacencyRowEnhanced .. _omcflag-debug-backenddaeinfo: :ref:`backenddaeinfo ` (default: off) Enables dumping of back-end information about system (Number of equations before back-end,...). .. _omcflag-debug-bltdump: :ref:`bltdump ` (default: off) Dumps information from index reduction. .. _omcflag-debug-buildExternalLibs: :ref:`buildExternalLibs ` (default: on) Use the autotools project in the Resources folder of the library to build missing external libraries. .. _omcflag-debug-ceval: :ref:`ceval ` (default: off) Prints extra information from Ceval. .. _omcflag-debug-cgraph: :ref:`cgraph ` (default: off) Prints out connection graph information. .. _omcflag-debug-cgraphGraphVizFile: :ref:`cgraphGraphVizFile ` (default: off) Generates a graphviz file of the connection graph. .. _omcflag-debug-cgraphGraphVizShow: :ref:`cgraphGraphVizShow ` (default: off) Displays the connection graph with the GraphViz lefty tool. .. _omcflag-debug-checkASUB: :ref:`checkASUB ` (default: off) Prints out a warning if an ASUB is created from a CREF expression. .. _omcflag-debug-checkBackendDae: :ref:`checkBackendDae ` (default: off) Do some simple analyses on the datastructure from the frontend to check if it is consistent. .. _omcflag-debug-checkDAECrefType: :ref:`checkDAECrefType ` (default: off) Enables extra type checking for cref expressions. .. _omcflag-debug-checkSimplify: :ref:`checkSimplify ` (default: off) Enables checks for expression simplification and prints a notification whenever an undesirable transformation has been performed. .. _omcflag-debug-constjac: :ref:`constjac ` (default: off) solves linear systems with constant Jacobian and variable b-Vector symbolically .. _omcflag-debug-countOperations: :ref:`countOperations ` (default: off) Count operations. .. _omcflag-debug-daedumpgraphv: :ref:`daedumpgraphv ` (default: off) Dumps the DAE in graphviz format. .. _omcflag-debug-debugAlgebraicLoopsJacobian: :ref:`debugAlgebraicLoopsJacobian ` (default: off) Dumps debug output while creating symbolic jacobians for non-linear systems. .. _omcflag-debug-debugAlias: :ref:`debugAlias ` (default: off) Dump the found alias variables. .. _omcflag-debug-debugDifferentiation: :ref:`debugDifferentiation ` (default: off) Dumps debug output for the differentiation process. .. _omcflag-debug-debugDifferentiationVerbose: :ref:`debugDifferentiationVerbose ` (default: off) Dumps verbose debug output for the differentiation process. .. _omcflag-debug-disableComSubExp: :ref:`disableComSubExp ` (default: off) Deactivates module 'comSubExp' Deprecated flag: Use --preOptModules-=comSubExp instead. .. _omcflag-debug-disableJacsforSCC: :ref:`disableJacsforSCC ` (default: off) Disables calculation of jacobians to detect if a SCC is linear or non-linear. By disabling all SCC will handled like non-linear. .. _omcflag-debug-disablePartitioning: :ref:`disablePartitioning ` (default: off) Deactivates partitioning of entire equation system. Deprecated flag: Use --preOptModules-=clockPartitioning instead. .. _omcflag-debug-disableRecordConstructorOutput: :ref:`disableRecordConstructorOutput ` (default: off) Disables output of record constructors in the flat code. .. _omcflag-debug-disableSimplifyComplexFunction: :ref:`disableSimplifyComplexFunction ` (default: off) disable simplifyComplexFunction Deprecated flag: Use --postOptModules-=simplifyComplexFunction/--initOptModules-=simplifyComplexFunction instead. .. _omcflag-debug-disableSingleFlowEq: :ref:`disableSingleFlowEq ` (default: off) Disables the generation of single flow equations. .. _omcflag-debug-disableStartCalc: :ref:`disableStartCalc ` (default: off) Deactivates the pre-calculation of start values during compile-time. .. _omcflag-debug-disableSymbolicLinearization: :ref:`disableSymbolicLinearization ` (default: off) For FMI 2.0 only dependecy analysis will be perform. .. _omcflag-debug-disableWindowsPathCheckWarning: :ref:`disableWindowsPathCheckWarning ` (default: off) Disables warnings on Windows if OPENMODELICAHOME/MinGW is missing. .. _omcflag-debug-discreteinfo: :ref:`discreteinfo ` (default: off) Enables dumping of discrete variables. Extends -d=backenddaeinfo. .. _omcflag-debug-dummyselect: :ref:`dummyselect ` (default: off) Dumps information from dummy state selection heuristic. .. _omcflag-debug-dump: :ref:`dump ` (default: off) Dumps the absyn representation of a program. .. _omcflag-debug-dumpCSE: :ref:`dumpCSE ` (default: off) Additional output for CSE module. .. _omcflag-debug-dumpCSE_verbose: :ref:`dumpCSE_verbose ` (default: off) Additional output for CSE module. .. _omcflag-debug-dumpConstrepl: :ref:`dumpConstrepl ` (default: off) Dump the found replacements for constants. .. _omcflag-debug-dumpEArepl: :ref:`dumpEArepl ` (default: off) Dump the found replacements for evaluate annotations (evaluate=true) parameters. .. _omcflag-debug-dumpEncapsulateConditions: :ref:`dumpEncapsulateConditions ` (default: off) Dumps the results of the preOptModule encapsulateWhenConditions. .. _omcflag-debug-dumpEqInUC: :ref:`dumpEqInUC ` (default: off) Dumps all equations handled by the unit checker. .. _omcflag-debug-dumpEqUCStruct: :ref:`dumpEqUCStruct ` (default: off) Dumps all the equations handled by the unit checker as tree-structure. .. _omcflag-debug-dumpExcludedSymJacExps: :ref:`dumpExcludedSymJacExps ` (default: off) This flags dumps all expression that are excluded from differentiation of a symbolic Jacobian. .. _omcflag-debug-dumpFPrepl: :ref:`dumpFPrepl ` (default: off) Dump the found replacements for final parameters. .. _omcflag-debug-dumpFunctions: :ref:`dumpFunctions ` (default: off) Add functions to backend dumps. .. _omcflag-debug-dumpHomotopy: :ref:`dumpHomotopy ` (default: off) Dumps the results of the postOptModule optimizeHomotopyCalls. .. _omcflag-debug-dumpInlineSolver: :ref:`dumpInlineSolver ` (default: off) Dumps the inline solver equation system. .. _omcflag-debug-dumpLoops: :ref:`dumpLoops ` (default: off) Dumps loop equation. .. _omcflag-debug-dumpPPrepl: :ref:`dumpPPrepl ` (default: off) Dump the found replacements for protected parameters. .. _omcflag-debug-dumpParamrepl: :ref:`dumpParamrepl ` (default: off) Dump the found replacements for remove parameters. .. _omcflag-debug-dumpRecursiveTearing: :ref:`dumpRecursiveTearing ` (default: off) Dump between steps of recursiveTearing .. _omcflag-debug-dumpSCCGraphML: :ref:`dumpSCCGraphML ` (default: off) Dumps graphml files with the strongly connected components. .. _omcflag-debug-dumpSimCode: :ref:`dumpSimCode ` (default: off) Dumps the simCode model used for code generation. .. _omcflag-debug-dumpSimplifyLoops: :ref:`dumpSimplifyLoops ` (default: off) Dump between steps of simplifyLoops .. _omcflag-debug-dumpSparsePattern: :ref:`dumpSparsePattern ` (default: off) Dumps sparse pattern with coloring used for simulation. .. _omcflag-debug-dumpSparsePatternVerbose: :ref:`dumpSparsePatternVerbose ` (default: off) Dumps in verbose mode sparse pattern with coloring used for simulation. .. _omcflag-debug-dumpSynchronous: :ref:`dumpSynchronous ` (default: off) Dumps information of the clock partitioning. .. _omcflag-debug-dumpTransformedModelica: :ref:`dumpTransformedModelica ` (default: off) Dumps the back-end DAE to a Modelica-like model after all symbolic transformations are applied. .. _omcflag-debug-dumpUnits: :ref:`dumpUnits ` (default: off) Dumps all the calculated units. .. _omcflag-debug-dumpdaelow: :ref:`dumpdaelow ` (default: off) Dumps the equation system at the beginning of the back end. .. _omcflag-debug-dumpdgesv: :ref:`dumpdgesv ` (default: off) Enables dumping of the information whether DGESV is used to solve linear systems. .. _omcflag-debug-dumpeqninorder: :ref:`dumpeqninorder ` (default: off) Enables dumping of the equations in the order they are calculated. .. _omcflag-debug-dumpindxdae: :ref:`dumpindxdae ` (default: off) Dumps the equation system after index reduction and optimization. .. _omcflag-debug-dumpinitialsystem: :ref:`dumpinitialsystem ` (default: off) Dumps the initial equation system. .. _omcflag-debug-dumprepl: :ref:`dumprepl ` (default: off) Dump the found replacements for simple equation removal. .. _omcflag-debug-dynamicTearingInfo: :ref:`dynamicTearingInfo ` (default: off) Dumps information about the strict and casual sets of the tearing system. .. _omcflag-debug-dynload: :ref:`dynload ` (default: off) Display debug information about dynamic loading of compiled functions. .. _omcflag-debug-evalAllParams: :ref:`evalAllParams ` (default: off) Evaluates all parameters in order to increase simulation speed. Deprecated flag: Use --preOptModules+=evaluateAllParameters instead. .. _omcflag-debug-evalConstFuncs: :ref:`evalConstFuncs ` (default: on) Evaluates functions complete and partially and checks for constant output. Deprecated flag: Use --preOptModules+=evalFunc instead. .. _omcflag-debug-evalFuncDump: :ref:`evalFuncDump ` (default: off) dumps debug information about the function evaluation .. _omcflag-debug-evalOutputOnly: :ref:`evalOutputOnly ` (default: off) Generates equations to calculate outputs only. .. _omcflag-debug-evalfunc: :ref:`evalfunc ` (default: on) Turns on/off symbolic function evaluation. .. _omcflag-debug-evalparam: :ref:`evalparam ` (default: off) Constant evaluates parameters if set. .. _omcflag-debug-events: :ref:`events ` (default: on) Turns on/off events handling. .. _omcflag-debug-execHash: :ref:`execHash ` (default: off) Measures the time it takes to hash all simcode variables before code generation. .. _omcflag-debug-execstat: :ref:`execstat ` (default: off) Prints out execution statistics for the compiler. .. _omcflag-debug-experimentalReductions: :ref:`experimentalReductions ` (default: off) Turns on custom reduction functions (OpenModelica extension). .. _omcflag-debug-failtrace: :ref:`failtrace ` (default: off) Sets whether to print a failtrace or not. .. _omcflag-debug-fmuExperimental: :ref:`fmuExperimental ` (default: off) Include an extra function in the FMU fmi2GetSpecificDerivatives. .. _omcflag-debug-forceNLSanalyticJacobian: :ref:`forceNLSanalyticJacobian ` (default: off) Forces calculation analytical jacobian also for non-linear strong components with user-defined functions. .. _omcflag-debug-gcProfiling: :ref:`gcProfiling ` (default: off) Prints garbage collection stats to standard output. .. _omcflag-debug-gen: :ref:`gen ` (default: on) Turns on/off dynamic loading of functions that are compiled during translation. Only enable this if external functions are needed to calculate structural parameters or constants. .. _omcflag-debug-gendebugsymbols: :ref:`gendebugsymbols ` (default: off) Generate code with debugging symbols. .. _omcflag-debug-generateCodeCheat: :ref:`generateCodeCheat ` (default: off) Used to generate code for the bootstrapped compiler. .. _omcflag-debug-graphInst: :ref:`graphInst ` (default: off) Do graph based instantiation. .. _omcflag-debug-graphInstGenGraph: :ref:`graphInstGenGraph ` (default: off) Dumps a graph of the program. Use with -d=graphInst .. _omcflag-debug-graphInstRunDep: :ref:`graphInstRunDep ` (default: off) Run scode dependency analysis. Use with -d=graphInst .. _omcflag-debug-graphInstShowGraph: :ref:`graphInstShowGraph ` (default: off) Display a graph of the program interactively. Use with -d=graphInst .. _omcflag-debug-graphml: :ref:`graphml ` (default: off) Dumps .graphml files for the bipartite graph after Index Reduction and a task graph for the SCCs. Can be displayed with yEd. .. _omcflag-debug-graphviz: :ref:`graphviz ` (default: off) Dumps the absyn representation of a program in graphviz format. .. _omcflag-debug-graphvizDump: :ref:`graphvizDump ` (default: off) Activates additional graphviz dumps (as .dot files). It can be used in addition to one of the following flags: {dumpdaelow|dumpinitialsystems|dumpindxdae}. .. _omcflag-debug-hardcodedStartValues: :ref:`hardcodedStartValues ` (default: off) Embed the start values of variables and parameters into the c++ code and do not read it from xml file. .. _omcflag-debug-hpcom: :ref:`hpcom ` (default: off) Enables parallel calculation based on task-graphs. .. _omcflag-debug-hpcomDump: :ref:`hpcomDump ` (default: off) Dumps additional information on the parallel execution with hpcom. .. _omcflag-debug-hpcomMemoryOpt: :ref:`hpcomMemoryOpt ` (default: off) Optimize the memory structure regarding the selected scheduler .. _omcflag-debug-implOde: :ref:`implOde ` (default: off) activates implicit codegen .. _omcflag-debug-infoXmlOperations: :ref:`infoXmlOperations ` (default: off) Enables output of the operations in the _info.xml file when translating models. .. _omcflag-debug-initialization: :ref:`initialization ` (default: off) Shows additional information from the initialization process. .. _omcflag-debug-inlineFunctions: :ref:`inlineFunctions ` (default: on) Controls if function inlining should be performed. .. _omcflag-debug-inlineSolver: :ref:`inlineSolver ` (default: off) Generates code for inline solver. .. _omcflag-debug-instance: :ref:`instance ` (default: off) Prints extra failtrace from InstanceHierarchy. .. _omcflag-debug-interactive: :ref:`interactive ` (default: off) Starts omc as a server listening on the socket interface. .. _omcflag-debug-interactiveCorba: :ref:`interactiveCorba ` (default: off) Starts omc as a server listening on the Corba interface. .. _omcflag-debug-interactivedump: :ref:`interactivedump ` (default: off) Prints out debug information for the interactive server. .. _omcflag-debug-iterationVars: :ref:`iterationVars ` (default: off) Shows a list of all iteration variables. .. _omcflag-debug-lookup: :ref:`lookup ` (default: off) Print extra failtrace from lookup. .. _omcflag-debug-modelInfoJson: :ref:`modelInfoJson ` (default: on) Experimental: Generates a file with suffix _info.json instead of _info.xml. .. _omcflag-debug-multirate: :ref:`multirate ` (default: off) The solver can switch partitions in the system. .. _omcflag-debug-onRelaxation: :ref:`onRelaxation ` (default: off) Perform O(n) relaxation. Deprecated flag: Use --postOptModules+=relaxSystem instead. .. _omcflag-debug-optdaedump: :ref:`optdaedump ` (default: off) Dumps information from the optimization modules. .. _omcflag-debug-paramdlowdump: :ref:`paramdlowdump ` (default: off) Enables dumping of the parameters in the order they are calculated. .. _omcflag-debug-parmodauto: :ref:`parmodauto ` (default: off) Experimental: Enable parallelization of independent systems of equations in the translated model. .. _omcflag-debug-patternmAllInfo: :ref:`patternmAllInfo ` (default: off) Adds notifications of all pattern-matching optimizations that are performed. .. _omcflag-debug-patternmDeadCodeElimination: :ref:`patternmDeadCodeElimination ` (default: on) Performs dead code elimination in match-expressions. .. _omcflag-debug-patternmMoveLastExp: :ref:`patternmMoveLastExp ` (default: on) Optimization that moves the last assignment(s) into the result of a match-expression. For example: equation c = fn(b); then c; => then fn(b); .. _omcflag-debug-patternmSkipFilterUnusedBindings: :ref:`patternmSkipFilterUnusedBindings ` (default: off) .. _omcflag-debug-pedantic: :ref:`pedantic ` (default: off) Switch into pedantic debug-mode, to get much more feedback. .. _omcflag-debug-printStructuralParameters: :ref:`printStructuralParameters ` (default: off) Prints the structural parameters identified by the front-end .. _omcflag-debug-pthreads: :ref:`pthreads ` (default: off) Experimental: Unused parallelization. .. _omcflag-debug-reduceDynOpt: :ref:`reduceDynOpt ` (default: off) remove eqs which not need for the calculations of cost and constraints Deprecated flag: Use --postOptModules+=reduceDynamicOptimization instead. .. _omcflag-debug-relidx: :ref:`relidx ` (default: off) Prints out debug information about relations, that are used as zero crossings. .. _omcflag-debug-reshufflePost: :ref:`reshufflePost ` (default: off) Reshuffles the systems of equations. .. _omcflag-debug-resolveLoops: :ref:`resolveLoops ` (default: off) Activates the resolveLoops module. Deprecated flag: Use --preOptModules+=resolveLoops instead. .. _omcflag-debug-rml: :ref:`rml ` (default: off) Converts Modelica-style arrays to lists. .. _omcflag-debug-runtimeStaticLinking: :ref:`runtimeStaticLinking ` (default: off) Use the static simulation runtime libraries (C++ simulation runtime). .. _omcflag-debug-scodeDep: :ref:`scodeDep ` (default: on) Does scode dependency analysis prior to instantiation. Defaults to true. .. _omcflag-debug-scodeInst: :ref:`scodeInst ` (default: off) Enables experimental SCode instantiation phase. .. _omcflag-debug-semiLinear: :ref:`semiLinear ` (default: off) Enables dumping of the optimization information when optimizing calls to semiLinear. .. _omcflag-debug-shortOutput: :ref:`shortOutput ` (default: off) Enables short output of the simulate() command. Useful for tools like OMNotebook. .. _omcflag-debug-showDaeGeneration: :ref:`showDaeGeneration ` (default: off) Show the dae variable declarations as they happen. .. _omcflag-debug-showEquationSource: :ref:`showEquationSource ` (default: off) Display the element source information in the dumped DAE for easier debugging. .. _omcflag-debug-showExpandableInfo: :ref:`showExpandableInfo ` (default: off) Show information about expandable connector handling. .. _omcflag-debug-showInstCacheInfo: :ref:`showInstCacheInfo ` (default: off) Prints information about instantiation cache hits and additions. Defaults to false. .. _omcflag-debug-showStartOrigin: :ref:`showStartOrigin ` (default: off) Enables dumping of the DAE startOrigin attribute of the variables. .. _omcflag-debug-showStatement: :ref:`showStatement ` (default: off) Shows the statement that is currently being evaluated when evaluating a script. .. _omcflag-debug-sortEqnsAndVars: :ref:`sortEqnsAndVars ` (default: off) Heuristic sorting for equations and variables. Influenced: removeSimpleEquations and tearing. Deprecated flag: Use --preOptModules+=sortEqnsVars instead. .. _omcflag-debug-stateselection: :ref:`stateselection ` (default: off) Enables dumping of selected states. Extends -d=backenddaeinfo. .. _omcflag-debug-static: :ref:`static ` (default: off) Enables extra debug output from the static elaboration. .. _omcflag-debug-stripPrefix: :ref:`stripPrefix ` (default: on) Strips the environment prefix from path/crefs. Defaults to true. .. _omcflag-debug-symjacdump: :ref:`symjacdump ` (default: off) Dumps information about symbolic Jacobians. Can be used only with postOptModules: generateSymbolicJacobian, generateSymbolicLinearization. .. _omcflag-debug-symjacdumpeqn: :ref:`symjacdumpeqn ` (default: off) Dump for debug purpose of symbolic Jacobians. (deactivated now). .. _omcflag-debug-symjacdumpverbose: :ref:`symjacdumpverbose ` (default: off) Dumps information in verbose mode about symbolic Jacobians. Can be used only with postOptModules: generateSymbolicJacobian, generateSymbolicLinearization. .. _omcflag-debug-symjacwarnings: :ref:`symjacwarnings ` (default: off) Prints warnings regarding symoblic jacbians. .. _omcflag-debug-tail: :ref:`tail ` (default: off) Prints out a notification if tail recursion optimization has been applied. .. _omcflag-debug-tearingdump: :ref:`tearingdump ` (default: off) Dumps tearing information. .. _omcflag-debug-tearingdumpV: :ref:`tearingdumpV ` (default: off) Dumps verbose tearing information. .. _omcflag-debug-tplPerfTimes: :ref:`tplPerfTimes ` (default: off) Enables output of template performance data for rendering text to file. .. _omcflag-debug-transformsbeforedump: :ref:`transformsbeforedump ` (default: off) Applies transformations required for code generation before dumping flat code. .. _omcflag-debug-types: :ref:`types ` (default: off) Prints extra failtrace from Types. .. _omcflag-debug-uncertainties: :ref:`uncertainties ` (default: off) Enables dumping of status when calling modelEquationsUC. .. _omcflag-debug-updmod: :ref:`updmod ` (default: off) Prints information about modification updates. .. _omcflag-debug-useMPI: :ref:`useMPI ` (default: off) Add MPI init and finalize to main method (CPPruntime). .. _omcflag-debug-vectorize: :ref:`vectorize ` (default: off) Activates vectorization in the backend. .. _omcflag-debug-visxml: :ref:`visxml ` (default: off) Outputs a xml-file that contains information for visualization. .. _omcflag-debug-writeToBuffer: :ref:`writeToBuffer ` (default: off) Enables writing simulation results to buffer. .. _omcflag-optmodules-section: Flags for Optimization Modules ------------------------------ Flags that determine which symbolic methods are used to produce the causalized equation system. The :ref:`--preOptModules ` flag sets the optimization modules which are used before the matching and index reduction in the back end. These modules are specified as a comma-separated list. The :ref:`--matchingAlgorithm ` sets the method that is used for the matching algorithm, after the pre optimization modules. The :ref:`--indexReductionMethod ` sets the method that is used for the index reduction, after the pre optimization modules. The :ref:`--initOptModules ` then sets the optimization modules which are used after the index reduction to optimize the system for initialization, specified as a comma-separated list. The :ref:`--postOptModules ` then sets the optimization modules which are used after the index reduction to optimize the system for simulation, specified as a comma-separated list.