-
Notifications
You must be signed in to change notification settings - Fork 7
QSS Solver
The QSS Solver is a modeling and simulation environment for continuous and hybrid systems and it's optimized for large scale model simulation. The solver is implemented as a set of modules coded in plain C language, simulations can be performed using one of the following integration methods:
- QSS methods (the entire family is supported)
- DASSL
- DOPRI
- CVODE
- IDA
Models are described using a subset of the standard Modelica language called μ–Modelica (the language specification can be found here), the compiler extracts all the structural information needed and automatically generates the plain C code that contains an appropiate model definition needed by the QSS Solver engine together with all the configuration files (makefiles, config, etc.).
The QSS Solver has a simple GUI interface that allows the end-user to access all the developed tools in a unified way.
The GUI has the following features:
- It has a text editor, where models in μ-Modelica can be defined.
- It invokes the corresponding tools to compile and run simulations.
- It provides debug information in case of errors during the model generation.
- It invokes GnuPlot to plot the simulation output trajectories.
- It shows statistics about simulations (number of steps, simulation time, etc.).
- MMO_DebugGraph: .
- MMO_DerDelta: .
- MMO_Description: A textual description of the model.
- MMO_GenerateArch: .
- MMO_MinStep: .
- MMO_NodeSize:
- MMO_Output: .
- MMO_OutputType: .
- MMO_Period: .
- MMO_RandomSeed: .
- MMO_Scheduler: .
- MMO_Solver: .
- MMO_StoreData: .
- MMO_SymDiff: .
- MMO_Weight: .
- MMO_XOutput: .
- MMO_ZCHyst: .
- MMO_DH: .
- MMO_Event_Id: .
- MMO_HD: .
- MMO_HH: .
- MMO_HZ: .
- MMO_LHS_DSC: .
- MMO_LHS_ST: .
- MMO_RHS_ST: .
- MMO_SD: .
- MMO_SH: .
- MMO_SZ: .
- MMO_BDF_Max_Step: .
- MMO_BDF_Part: .
- MMO_BDF_PDepth: .
- MMO_LPS: .
- MMO_DT_Min: .
- MMO_DT_Synch: .
- MMO_Parallel: .
- MMO_Imbalance: .
- MMO_MetisSettings: .
- MMO_PartitionMethod: .
- MMO_PatohSettings: .
- MMO_ReorderPartition: .
- MMO_ScotchSettings: .
- MMO_CVODEMaxOrder: .
Both the GUI and MicroModelica compiler use environment variables for the
- Enable All: Enable all the debug flags.
- Dt: Log dt parameter changes in parallel simulations.
- External Events: Log step information for each external event in parallel simulations.
- Initial Values: Log the simulation initialization, including initial state and state derivatives values.
- Memory: Log memory footprint.
- Sinchronize: Output synchronization information in parallel simulations.
- Step Information: Log for each simulation step: ** The step time ** The type and index of the variable that changes
- Variable Changes: Log the model's state variable changes and the number of handler executions for each event defined in the model.
- Waiting Time: Log synchronization information in parallel simulations.
- Generate Weights File: Save all the variables changes information into a binary file, useful for semi-static partitioning of parallel simulations. This option implies Variable Changes.
- -e, --external-structure-file Read model incidence matrices from .
- -f, --force Force external package compilation. *-i , --include Include in the library path search.
- -o , --output Sets the output to
- -s, --settings-only Generate only the settings (.ini) file.